I'm using VLC to stream video over the internet. I can record to mpeg using the standard ivtv tools and then stream the resulting mpeg over - and it works beautifully. I just can't seem to do it directly from /dev/video0 - it gets to the part about 'main private debug: pre buffering' and then sits there forever. I have tried both 0.8.2 and the snapshot from 20050729 with the same results.
It works great when I do something like this:
Code: Select all
/usr/local/bin/record-v4l2.pl --inputname 'Tuner 0' --channel 1 --freqtable ntsc-bcast-jp --duration 3600 --directory /home/makenai/ --directory-format '' --output tv.mpg
Code: Select all
vlc -vvv --color /home/makenai/tv.mpg --cr-average 1000 --sout '#transcode{vcodec=DIV3,vb=600,width=352,height=288,acodec=mp3,ab=96,deinterlace}:std{access=mmsh,mux=asfh,url=:8080}'
Below is the command that fails and the output - does anyon have any idea why it is stopping at the prebuffering message?
Code: Select all
vlc -vvv --color pvr:/dev/video0:norm=ntsc:size=720x576:frequency=91250:bitrate=3000000:maxbitrate=4000000 --cr-average 1000 --sout '#transcode{vcodec=DIV3,vb=600,width=352,height=288,acodec=mp3,ab=96,deinterlace}:std{access=mmsh,mux=asfh,url=:8080}'
VLC media player 0.8.2 Janus
[00000001] main vlc debug: opening config file /home/makenai/.vlc/vlcrc
[00000001] main vlc warning: config file /home/makenai/.vlc/vlcrc does not exist yet
[00000001] main vlc debug: checking builtin modules
[00000001] main vlc debug: checking plugin modules
[00000001] main vlc debug: loading plugins cache file /home/makenai/.vlc/cache/plugins-04041e.dat
[00000001] main vlc debug: recursively browsing `modules'
[00000001] main vlc debug: recursively browsing `/usr/local/lib/vlc'
[00000001] main vlc debug: recursively browsing `plugins'
[00000001] main vlc debug: module bank initialized, found 197 modules
[00000001] main vlc debug: opening config file /home/makenai/.vlc/vlcrc
[00000001] main vlc warning: config file /home/makenai/.vlc/vlcrc does not exist yet
[00000000] main root debug: VLC media player - version 0.8.2 Janus - (c) 1996-2005 VideoLAN
[00000000] main root debug: libvlc was configured with ./configure --enable-release --enable-sout --enable-httpd --enable-livedotcom --enable-dvbpsi --enable-v4l --enable-pvr --enable-ogg --enable-mod --enable-mad --enable-ffmpeg --enable-faad --enable-twolame --enable-a52 --enable-flac --enable-libmpeg2 --enable-vorbis --enable-speex --enable-theora --enable-png --enable-x264 --disable-x11 --disable-xvideo --disable-glx --disable-opengl --disable-sdl --enable-freetype --enable-fribidi --enable-libxml2 --enable-aa --enable-portaudio --disable-wxwindows --with-livedotcom-tree=/home/makenai/install/vlc/libs/ex/live/ --with-dvbpsi-tree=/home/makenai/install/vlc/libs/ex/libdvbpsi-20041028/ --with-mad-tree=/home/makenai/install/vlc/libs/ex/libmad-0.15.1b/ --with-ffmpeg-mp3lame --with-ffmpeg-faac --with-ffmpeg-zlib --with-ffmpeg-tree=/home/makenai/install/vlc/libs/ex/ffmpeg-20041113/ --with-faad-tree=/home/makenai/install/vlc/libs/ex/faad2-20040923/ --with-twolame-tree=/home/makenai/install/vlc/libs/twolame-0.3.3/ --with-a52-tree=/home/makenai/install/vlc/libs/ex/a52dec-0.7.4/ --with-libmpeg2-tree=/home/makenai/install/vlc/libs/ex/mpeg2dec-0.4.0/ --with-x264-tree=/home/makenai/install/vlc/libs/ex/x264-20041029/
[00000001] main vlc debug: translation test: code is "C"
[00000001] main vlc debug: opening config file /home/makenai/.vlc/vlcrc
[00000001] main vlc warning: config file /home/makenai/.vlc/vlcrc does not exist yet
[00000001] main vlc debug: checking builtin modules
[00000001] main vlc debug: checking plugin modules
[00000001] main vlc debug: loading plugins cache file /home/makenai/.vlc/cache/plugins-04041e.dat
[00000001] main vlc debug: recursively browsing `modules'
[00000001] main vlc debug: recursively browsing `/usr/local/lib/vlc'
[00000001] main vlc debug: recursively browsing `plugins'
[00000001] main vlc debug: module bank initialized, found 197 modules
[00000001] main vlc debug: opening config file /home/makenai/.vlc/vlcrc
[00000001] main vlc warning: config file /home/makenai/.vlc/vlcrc does not exist yet
[00000001] main vlc debug: CPU has capabilities 486 586 MMX MMXEXT SSE SSE2 FPU
[00000001] main vlc debug: looking for memcpy module: 3 candidates
[00000010] main module debug: using memcpy module "memcpymmxext"
[00000257] main playlist debug: waiting for thread completion
[00000257] main playlist debug: thread 3078081456 (playlist) created at priority 0 (src/playlist/playlist.c:152)
[00000258] main private debug: waiting for thread completion
[00000258] main private debug: thread 3069688752 (preparser) created at priority 0 (src/playlist/playlist.c:174)
[00000259] main interface debug: looking for interface module: 1 candidate
[00000136] main module debug: using interface module "hotkeys"
[00000259] main interface debug: interface initialized
[00000259] main interface debug: thread 3061275568 (interface) created at priority 0 (src/interface/interface.c:211)
[00000257] main playlist debug: adding playlist item `pvr:/dev/video0:norm=ntsc:size=720x576:frequency=91250:bitrate=3000000:maxbitrate=4000000' ( pvr:/dev/video0:norm=ntsc:size=720x576:frequency=91250:bitrate=3000000:maxbitrate=4000000 )
[00000261] main interface debug: looking for interface module: 2 candidates
[00000261] skins2 interface error: Cannot open display
[00000261] skins2 interface error: Cannot initialize OSFactory
[00000134] main module debug: using interface module "rc"
[00000261] main interface debug: interface initialized
[00000261] main interface debug: thread 3050740656 (manager) created at priority 0 (src/interface/interface.c:196)
[00000257] main playlist debug: creating new input thread
[00000265] main input debug: waiting for thread completion
[00000266] main stream output debug: stream=`transcode'
[00000267] main private debug: looking for sout stream module: 1 candidate
[00000266] main stream output debug: stream=`std'
[00000270] main private debug: looking for sout stream module: 1 candidate
[00000270] main private debug: set sout option: sout-standard-access to mmsh
[00000270] main private debug: set sout option: sout-standard-mux to asfh
[00000270] main private debug: set sout option: sout-standard-url to :8080
[00000270] stream_out_standard private debug: creating `mmsh/asfh://:8080'
[00000270] stream_out_standard private debug: using `mmsh/asfh://:8080'
[00000272] main private debug: looking for sout access module: 1 candidate
[00000265] main input debug: thread 3042347952 (input) created at priority 0 (src/input/input.c:230)
[00000272] main private: creating httpd
[00000275] main private debug: thread 3033885616 (httpd host thread) created at priority 0 (src/misc/httpd.c:1163)
[00000056] main module debug: using sout access module "access_output_http"
[00000270] stream_out_standard private debug: access opened
[00000276] main private debug: looking for sout mux module: 1 candidate
[00000276] mux_asf private debug: Asf muxer opened
[00000276] mux_asf private debug: creating asf stream to be used with mmsh
[00000276] mux_asf private debug: Packet size 4096
[00000276] mux_asf private debug: meta data: title='' author='' copyright='' comment='' rating=''
[00000202] main module debug: using sout mux module "mux_asf"
[00000266] main stream output debug: muxer support adding stream at any time
[00000266] main stream output debug: muxer prefers waiting for all ES before starting muxing
[00000270] stream_out_standard private debug: mux opened
[00000216] main module debug: using sout stream module "stream_out_standard"
[00000267] main private debug: set sout option: sout-transcode-vcodec to DIV3
[00000267] main private debug: set sout option: sout-transcode-vb to 600
[00000267] main private debug: set sout option: sout-transcode-width to 352
[00000267] main private debug: set sout option: sout-transcode-height to 288
[00000267] main private debug: set sout option: sout-transcode-acodec to mp3
[00000267] main private debug: set sout option: sout-transcode-ab to 96
[00000267] main private debug: set sout option: sout-transcode-deinterlace to (null)
[00000267] stream_out_transcode private debug: codec audio=mp3 0Hz 0 channels 96Kb/s
[00000267] stream_out_transcode private debug: codec video=DIV3 352x288 scaling: 1.000000 600kb/s
[00000223] main module debug: using sout stream module "stream_out_transcode"
[00000265] main input debug: `pvr:/dev/video0:norm=ntsc:size=720x576:frequency=91250:bitrate=3000000:maxbitrate=4000000' gives access `pvr' demux `' path `/dev/video0:norm=ntsc:size=720x576:frequency=91250:bitrate=3000000:maxbitrate=4000000'
[00000265] main input debug: creating demux: access='pvr' demux='' path='/dev/video0:norm=ntsc:size=720x576:frequency=91250:bitrate=3000000:maxbitrate=4000000'
[00000278] main demuxer debug: looking for access_demux module: 0 candidates
[00000278] main demuxer warning: no access_demux module matched "pvr"
[00000265] main input debug: creating access 'pvr' path='/dev/video0:norm=ntsc:size=720x576:frequency=91250:bitrate=3000000:maxbitrate=4000000'
[00000279] main access debug: looking for access2 module: 5 candidates
[00000279] pvr access debug: using video device: /dev/video0
[00000279] pvr access debug: video standard set to:3000
[00000279] pvr access debug: picture size set to:720x576
[00000279] pvr access debug: Tuner frequency set to:91250
[00000279] pvr access debug: Setting codec parameters to: framerate: 0, bitrate: 3000000/4000000/0
[00000045] main module debug: using access2 module "pvr"
[00000281] main private debug: pre buffering
I am running this on Ubuntu with a 2.6 kernel and whatever the latest ivtv drivers were a week and a half ago. I compiled VLC and all of its required libraries except for zlib and libxml2 from sources. Capturing using the perl tools works fine. Streaming the captured mpegs works fine as shown above. The tuner frequency is the correct one for channel 1 used in the perl script. If I try to record a channel at a bad frequency, I can actually stream the snow live to myself without the buffering problem.
I've noticed that it says 0 for the framerate above - not sure why.
Anyone have any idea how to fix my problem? Any help will be very much appreciated as I have been hacking on this (well, and a few other problems I have already overcome) for days. Once I can get this part working, I can start the fun programming parts for my web interface.
Thanks in advance!