vlc http streaming from a TV card

I got a TV card, it appears like this in lspci:
 01:08.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast
 Decoder (rev d1)
 In order to stream 3 simultaneous streams, very low, low and high quality, you can do this:


 #!/bin/ksh
 #
 /sbin/modprobe saa7134-alsa
 sleep 2
 DEV=/dev/tvcard
 ps -ef | grep -i vlc | grep -v grep |grep -i $DEV | awk '{ print $2 }'| while read P;do
 kill -9 $P
 done
 VBR=96
 ABR=24
 W=320
 H=240
 ### --deinterlace-mode {discard,blend,mean,bob,linear} : deinterlacing mode (default: discard)
 # width=320,height=240 qpmax=40 x264{crf=5,profile=extended,level=1.0}
 # :standard{access=http{user=video,pwd=cable},mux=asf,dst=0.0.0.0:8088}
 #
 venc=x264{level=2,nr=1000,me=tesa,b-pyramid,bitrate=64,ref=4,b-adapt=2,bframes=2,partitions=all, keyint=2500}
 VLC="/usr/local/bin/cvlc --logo-file /disk2/logox.png v4l2://$DEV :input=2 :standard=8 :input-slave=alsa://hw:1
 ,0 --alsa-samplerate=32000 --deinterlace-mode linear --sout "
 35/433
 VERYLOW="transcode{vcodec=h264,acodec=mp4a,channels=1,width=160, height=120,vb=24,ab=16,venc=x264{bframes=0,leve
 l=5,nr=1000,b-pyramid,b-adapt=2, hurry-up},audio-sync,sfilter=logo}:standard{access=http,dst=0.0.0.0:8011/stream
 .flv}"
 LOW="transcode{vcodec=h264,acodec=mp4a,channels=1,width=${W},height=${H},vb=${VBR},ab=${ABR},venc=x264{bframes=
 0,level=5,nr=1000,b-pyramid,b-adapt=2},audio-sync,sfilter=logo}: standard{access=http,dst=0.0.0.0:8012/stream.fl
 v}"
 36/433
 HIGH="transcode{vcodec=h264,acodec=mp4a,channels=2,ab=128,venc=x 264{bframes=0,level=5,nr=1000,b-pyramid,b-adapt
 =2,hurry-up},deinterlace,audio-sync,sfilter=logo}:standard{access=http,dst=0.0.0.0:8013/stream.flv}"
 /usr/local/bin/v4l2-ctl -d $DEV --set-tuner=stereo
 /usr/local/bin/v4l2-ctl -d $DEV --set-standard=0
 /usr/local/bin/ivtv-tune -d $DEV -t us-cable -c3
 #--- audio codecs can be mpga or mp3 or m4a
 #--- mux can be ogg,ts,mp4,asf,ps,mpeg1,asfh, mpjpeg
 #--- low quality
 #$VLC "#$VERYLOW"
 #--- low quality
 #$VLC "#$LOW"
 #--- LAN quality
 #$VLC "#$HIGH"
 #---- single command, high quality AND low quality using h264_vdpau and x264 as encoder
 $VLC "#duplicate{dst="$VERYLOW",dst="$LOW",dst="$HIGH"}"
 #$VLC "#duplicate{dst="$VERYLOW",dst="$HIGH"}"
 #$VLC "#duplicate{dst="$LOW",dst="$HIGH"}"
 #$VLC "#duplicate{dst="$VERYLOW",dst="$LOW"}"
 

"#duplicate" is used in order to have 2 streams working simultaneously from the same input device, for each
 output srteam we use a "dst="

Leave a Reply

Your email address will not be published. Required fields are marked *