Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #
- # Created by ZeFs, 28.07.2011
- # for S.E. "Radiocomunicatii"
- ### BEGIN INIT INFO
- # Provides: vlc transcoder
- # Required-Start: $local_fs $remote_fs $network $syslog $named
- # Required-Stop: $local_fs $remote_fs $network $syslog $named
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # X-Interactive: true
- # Short-Description: Start/stop vlc transcode server
- ### END INIT INFO
- # VLC configuration
- LOG_DIR="/opt/dvb-t/vlc/log"
- PID_DIR="/opt/dvb-t/vlc/pids"
- LOG_FILE1="$LOG_DIR/program1.log"
- LOG_FILE2="$LOG_DIR/program2.log"
- LOG_FILE3="$LOG_DIR/program3.log"
- LOG_FILE4="$LOG_DIR/program4.log"
- LOG_FILE5="$LOG_DIR/program5.log"
- LOG_FILE6="$LOG_DIR/program6.log"
- LOG_FILE7="$LOG_DIR/program7.log"
- LOG_FILE8="$LOG_DIR/program8.log"
- LOG_FILE9="$LOG_DIR/program9.log"
- LOG_FILE10="$LOG_DIR/program10.log"
- PID_FILE1="$PID_DIR/pidfile_p1.pid"
- PID_FILE2="$PID_DIR/pidfile_p2.pid"
- PID_FILE3="$PID_DIR/pidfile_p3.pid"
- PID_FILE4="$PID_DIR/pidfile_p4.pid"
- PID_FILE5="$PID_DIR/pidfile_p5.pid"
- PID_FILE6="$PID_DIR/pidfile_p6.pid"
- PID_FILE7="$PID_DIR/pidfile_p7.pid"
- PID_FILE8="$PID_DIR/pidfile_p8.pid"
- PID_FILE9="$PID_DIR/pidfile_p9.pid"
- PID_FILE10="$PID_DIR/pidfile_p10.pid"
- PROGRAM1="rtp://239.0.12.1:5000"
- PROGRAM2="rtp://239.0.12.2:5000"
- PROGRAM3="rtp://239.0.12.3:5000"
- PROGRAM4="rtp://239.0.12.4:5000"
- PROGRAM5="rtp://239.0.15.1:5000"
- PROGRAM6="rtp://239.0.15.2:5000"
- PROGRAM7="rtp://239.0.15.3:5000"
- PROGRAM8="rtp://239.0.15.4:5000"
- PROGRAM9="rtp://239.0.18.1:5000"
- PROGRAM10="rtp://239.0.18.3:5000"
- LOGMODE="text"
- #venc="x264{profile=baseline,level=3.0,keyint=30,preset=veryfast,tune=film,vbv-bufsize=25000,vbv-maxrate=30000}"
- venc="x264{keyint=60,profile=baseline,level=3.0,nocabac,preset=veryfast,tune=film,vbv-bufsize=30000,vbv-maxrate=30000}"
- vcodec="x264"
- acodec="mp4a"
- bitrate="500"
- arate="96"
- fps="20"
- mux="ts"
- height="240"
- width="320"
- dst="10.0.254.170"
- VLC="/opt/dvb-t/vlc/bin/cvlc --file-logging --log-verbose 3 --logmode $LOGMODE --daemon --sout-transcode-high-priority"
- #quit vlc
- #vlc://quit
- #--config $config
- START_PROGRAM1="$VLC $PROGRAM1 --logfile $LOG_FILE1 --pidfile $PID_FILE1 --sout "#transcode{venc=$venc,deinterlace,vcodec=$vcodec,vb=$bitrate,height=$height,fps=$fps,acodec=$acodec,ab=$arate,channels=1,samplerate=48000}:rtp{dst=$dst,port=1001,mux=$mux,sdp=rtsp://0.0.0.0:1001/program1.sdp,name="program1"}""
- START_PROGRAM2="$VLC $PROGRAM2 --logfile $LOG_FILE2 --pidfile $PID_FILE2 --sout "#transcode{venc=$venc,deinterlace,vcodec=$vcodec,vb=$bitrate,height=$height,fps=$fps,acodec=$acodec,ab=$arate,channels=1,samplerate=48000}:rtp{dst=$dst,port=1003,mux=$mux}""
- START_PROGRAM3="$VLC $PROGRAM3 --logfile $LOG_FILE3 --pidfile $PID_FILE3 --sout "#transcode{venc=$venc,deinterlace,vcodec=$vcodec,vb=$bitrate,height=$height,fps=$fps,acodec=mp3,ab=128,channels=2,samplerate=48000}:rtp{dst=$dst,port=1005,mux=$mux}""
- START_PROGRAM4="$VLC $PROGRAM4 --logfile $LOG_FILE4 --pidfile $PID_FILE4 --sout "#transcode{venc=$venc,deinterlace,vcodec=$vcodec,vb=$bitrate,height=$height,fps=$fps,acodec=$acodec,ab=$arate,channels=1,samplerate=48000}:rtp{dst=$dst,port=1007,mux=$mux}""
- START_PROGRAM5="$VLC $PROGRAM5 --logfile $LOG_FILE5 --pidfile $PID_FILE5 --sout "#transcode{venc=$venc,deinterlace,vcodec=$vcodec,vb=$bitrate,height=$height,fps=$fps,acodec=$acodec,ab=$arate,channels=1,samplerate=48000}:rtp{dst=$dst,port=1009,mux=$mux}""
- START_PROGRAM6="$VLC $PROGRAM6 --logfile $LOG_FILE6 --pidfile $PID_FILE6 --sout "#transcode{venc=$venc,deinterlace,vcodec=$vcodec,vb=$bitrate,height=$height,fps=$fps,acodec=$acodec,ab=$arate,channels=2,samplerate=48000}:rtp{dst=$dst,port=1011,mux=$mux}""
- START_PROGRAM7="$VLC $PROGRAM7 --logfile $LOG_FILE7 --pidfile $PID_FILE7 --sout "#transcode{venc=$venc,deinterlace,vcodec=$vcodec,vb=$bitrate,height=$height,fps=$fps,acodec=$acodec,ab=$arate,channels=2,samplerate=48000}:rtp{dst=$dst,port=1013,mux=$mux}""
- START_PROGRAM8="$VLC $PROGRAM8 --logfile $LOG_FILE8 --pidfile $PID_FILE8 --sout "#transcode{venc=$venc,deinterlace,vcodec=$vcodec,vb=$bitrate,height=$height,fps=$fps,acodec=$acodec,ab=$arate,channels=2,samplerate=48000}:rtp{dst=$dst,port=1015,mux=$mux}""
- START_PROGRAM9="$VLC $PROGRAM9 --logfile $LOG_FILE9 --pidfile $PID_FILE9 --sout "#transcode{venc=$venc,deinterlace,vcodec=$vcodec,vb=$bitrate,width=$width,fps=$fps,acodec=$acodec,ab=$arate,channels=2,samplerate=48000}:rtp{dst=$dst,port=1017,mux=$mux}""
- START_PROGRAM10="$VLC $PROGRAM10 --logfile $LOG_FILE10 --pidfile $PID_FILE10 --sout "#transcode{venc=$venc,deinterlace,vcodec=$vcodec,vb=$bitrate,height=$height,fps=$fps,acodec=$acodec,ab=$arate,channels=2,samplerate=48000}:rtp{dst=$dst,port=1019,mux=$mux}""
- # ,vfilter=croppadd{paddtop=53,paddbottom=53}
- #START_CAM="$VLC -vvv $PROGRAM_CAM --mjpeg-fps=5 --sout-transcode-high-priority --no-sout-audio --sout "#transcode{venc=$venc,vcodec=$vcodec,vb=500,width=640,height=480}:rtp{dst=127.0.0.1,port=10000}""
- start() {
- echo "Starting transcoder $VLC"
- $START_PROGRAM1
- $START_PROGRAM2
- $START_PROGRAM3
- $START_PROGRAM4
- $START_PROGRAM5
- $START_PROGRAM6
- $START_PROGRAM7
- $START_PROGRAM8
- $START_PROGRAM9
- $START_PROGRAM10
- # $START_CAM
- }
- stop() {
- echo "Stopping transcoder $VLC"
- kill -9 `cat $PID_FILE1`
- kill -9 `cat $PID_FILE2`
- kill -9 `cat $PID_FILE3`
- kill -9 `cat $PID_FILE4`
- kill -9 `cat $PID_FILE5`
- kill -9 `cat $PID_FILE6`
- kill -9 `cat $PID_FILE7`
- kill -9 `cat $PID_FILE8`
- kill -9 `cat $PID_FILE9`
- kill -9 `cat $PID_FILE10`
- rm $LOG_DIR/*
- # kill -9 `cat $PID_FILE_CAM`
- }
- start_p1() {
- echo "Start transcoding program 1[Moldova1]"
- $START_PROGRAM1
- }
- stop_p1() {
- echo "Stop transcoding service 1[Moldova1]"
- kill -9 `cat $PID_FILE1`
- rm $LOG_FILE1
- }
- start_p2() {
- echo "Start transcoding program 2[Prime]"
- $START_PROGRAM2
- }
- stop_p2() {
- echo "Stop transcoding service 2[Prime]"
- kill -9 `cat $PID_FILE2`
- rm $LOG_FILE2
- }
- start_p3() {
- echo "Start transcoding program 3[NIT]"
- $START_PROGRAM3
- }
- stop_p3() {
- echo "Stop transcoding service 3[NIT]"
- kill -9 `cat $PID_FILE3`
- rm $LOG_FILE3
- }
- start_p4() {
- echo "Start transcoding program 4[N4]"
- $START_PROGRAM4
- }
- stop_p4() {
- echo "Stop transcoding service 4[N4]"
- kill -9 `cat $PID_FILE4`
- rm $LOG_FILE4
- }
- start_cam() {
- echo "Start transcoding CAM data"
- $START_CAM
- }
- stop_cam(){
- echo "Stop transcoding CAM"
- kill -9 `cat $PID_FILE_CAM`
- }
- start_p5() {
- echo "Start transcoding program 5[2PLUS]"
- $START_PROGRAM5
- }
- stop_p5() {
- echo "Stop transcoding service 5[2PLUS]"
- kill -9 `cat $PID_FILE5`
- rm $LOG_FILE5
- }
- start_p6() {
- echo "Start transcoding program 6[ALT-TV]"
- $START_PROGRAM6
- }
- stop_p6() {
- echo "Stop transcoding service 6[ALT-TV]"
- kill -9 `cat $PID_FILE6`
- rm $LOG_FILE6
- }
- start_p7() {
- echo "Start transcoding program 7[PUBLIKA-TV]"
- $START_PROGRAM7
- }
- stop_p7() {
- echo "Stop transcoding service 7[PUBLIKA-TV]"
- kill -9 `cat $PID_FILE7`
- rm $LOG_FILE7
- }
- start_p8() {
- echo "Start transcoding program 8[ACCENT TV]"
- $START_PROGRAM8
- }
- stop_p8() {
- echo "Stop transcoding service 8[ACCENT TV]"
- kill -9 `cat $PID_FILE8`
- rm $LOG_FILE8
- }
- start_p9() {
- echo "Start transcoding program 9[RU TV]"
- $START_PROGRAM9
- }
- stop_p9() {
- echo "Stop transcoding service 9[RU TV]"
- kill -9 `cat $PID_FILE9`
- rm $LOG_FILE9
- }
- start_p10() {
- echo "Start transcoding program 10[Scrambled TV]"
- $START_PROGRAM10
- }
- stop_p10() {
- echo "Stop transcoding service 10[Scrambled TV]"
- kill -9 `cat $PID_FILE10`
- rm $LOG_FILE10
- }
- # See how we were called.
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart|reload)
- stop
- sleep 1
- start
- ;;
- start_p1)
- start_p1
- ;;
- stop_p1)
- stop_p1
- ;;
- restart_p1)
- stop_p1
- sleep 1
- start_p1
- ;;
- start_p2)
- start_p2
- ;;
- stop_p2)
- stop_p2
- ;;
- restart_p2)
- stop_p2
- sleep 1
- start_p2
- ;;
- start_p3)
- start_p3
- ;;
- stop_p3)
- stop_p3
- ;;
- restart_p3)
- stop_p3
- sleep 1
- start_p3
- ;;
- start_p4)
- start_p4
- ;;
- stop_p4)
- stop_p4
- ;;
- restart_p4)
- stop_p4
- sleep 1
- start_p4
- ;;
- start_p5)
- start_p5
- ;;
- stop_p5)
- stop_p5
- ;;
- restart_p5)
- stop_p5
- sleep 1
- start_p5
- ;;
- start_p6)
- start_p6
- ;;
- stop_p6)
- stop_p6
- ;;
- restart_p6)
- stop_p6
- sleep 1
- start_p6
- ;;
- start_p7)
- start_p7
- ;;
- stop_p7)
- stop_p7
- ;;
- restart_p7)
- stop_p7
- sleep 1
- start_p7
- ;;
- start_p8)
- start_p8
- ;;
- stop_p8)
- stop_p8
- ;;
- restart_p8)
- stop_p8
- sleep 1
- start_p8
- ;;
- start_p9)
- start_p9
- ;;
- stop_p9)
- stop_p9
- ;;
- restart_p9)
- stop_p9
- sleep 1
- start_p9
- ;;
- start_p10)
- start_p10
- ;;
- stop_p10)
- stop_p10
- ;;
- restart_p10)
- stop_p10
- sleep 1
- start_p10
- ;;
- start_cam)
- start_cam
- ;;
- stop_cam)
- stop_cam
- ;;
- restart_cam)
- stop_cam
- sleep 1
- start_cam
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|reload|start_p*|stop_p*|restart_p*}"
- esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement