Sonntag, 21. Oktober 2012

Ubuntu: VLC Webcam aufnehmen

Funktioniert mehr oder weniger (EXPERIMENTEL)



vlc -vvv v4l2:///dev/video0 --sout file/raw:/home/cs/Arbeitsfläche/records/test
##########################################
working:

vlc -vvv v4l2:///dev/video0 --sout file/avi:/home/cs/Arbeitsfläche/records/test.avi  //ohne sound
vlc -vvv v4l2:///dev/video0:input-slave=alsa://:v4l2-standard=0 -sout file/avi:/home/cs/Arbeitsfläche/records/test.avi



vlc -vvv v4l2:///dev/video0 --sout '#transcode{venc=x264{subme=7, ref=3, bframes=16, b-adapt=1, bpyramid=none, weightp=0}, vcodec=h264, vb=1300, width=1280, height=720, threads=4}:std{access=file, mux=asf, dst=/home/cs/Arbeitsfläche/records/test.asf}'


vlc -vvv v4l2:///dev/video0 :v4l2-aspect-ratio=16\\:9 :v4l2-width=1280 :v4l2-height=720 :v4l2-fps=30.0 :v4l2-set-ctrls={video_bitrate_mode=1,video_bitrate=4000000,video_peak_bitrate=4000000} --sout '#transcode{venc=x264{subme=7, ref=3, bframes=16, b-adapt=1, bpyramid=none, weightp=0}, vcodec=h264, vb=1300, width=1280, height=720, threads=4}:std{access=file, mux=asf, dst=/home/cs/Arbeitsfläche/records/test.asf}'


vlc -vvv v4l2:///dev/video0 :v4l2-aspect-ratio=16\\:9 :v4l2-width=1280 :v4l2-height=720 :v4l2-fps=30.0 :v4l2-set-ctrls={video_bitrate_mode=1,video_bitrate=4000000,video_peak_bitrate=4000000} :input-slave=alsa://default --sout '#transcode{venc=x264{subme=7, ref=3, bframes=16, b-adapt=1, bpyramid=none, weightp=0}, vcodec=h264, vb=1300, width=1280, height=720, threads=4}:std{access=file, mux=asf, dst=/home/cs/Arbeitsfläche/records/test.asf}'


##############################################



Hi,

after fiddeling around for a while I succeeded to get VLC+JTVLC working under Ubuntu/Mint with audio working and synced for 16:9 video, including a logo. The magic command line is:

vlc -I dummy v4l2:///dev/video1 :v4l2-aspect-ratio=16\\:9 :v4l2-standard=2 :input-slave=alsa://hw:1,0 --logo-file=/home/georg/Downloads/mvlogo.png --logo-x=800 --sout='#transcode{vfilter=canvas{width=320,height=1 80,aspect=16:9},venc=x264{keyint=60,idrint=2},vcod ec=h264,vb=100,acodec=mp4a,ab=32,channels=1,sample rate=22050,sfilter=logo,audio-sync}:duplicate{dst=standard{access=file,mux=mp4,d st=/home/georg/kumma.mpg}, dst=rtp{dst=127.0.0.1,port=1234,caching=2000,rtcp-mux,sdp=file:///home/georg/vlc.sdp}}'

Explanation:

- The stream is not shown (dummy interface). Instead it is dubbed into /home/georg/kumma.mpg.

- The sdp file and jtvlc work as described in the jtvlc-wiki.

- It is important to remove or disable the pulseaudio server in order to have a working alsa interface.

- The v4l2-standard=2 above is PAL, change it at your convenience. The video camera (over a Dazzle USB converter) must be 16:9 as well.

- It is well possible to increase the canvas size and the video bandwidth.

- Important parameters (not in the jtvlc-wiki) are rtcp-mux and caching=2000 in the rtp section. The rtcp-mux prevents the client from complaining about too many reference frames and/or too old video data. The caching=2000 is necessary to have synced audio and video. Without it, video will lag behind in the rtp stream (but not in the saved mpg file).

- Extra hint: When embedding the video in other websites, change the size of the object to 640x360 which is 16:9. So there will be no black bars.

Keine Kommentare:

Kommentar veröffentlichen