Page 1 of 1

webcam streaming theo+vorbis+ogg : segfault?

Posted: 28 Jul 2007 06:14
by jpzone
I am trying to stream webcam with http and facing some problems.

initially I was using following settings to stream and it worked great -

./vlc -I dummy v4l:/dev/video0:norm=secam:frequency=543250:size=640x480:channel=0:adev=/dev/dsp:audio=0 --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=3000,ab=256,vt=800000,keyint=80,deinterlace} :std{access=http,mux=ps,dst=192.168.0.1:8080}' --ttl 12

I actually want to change the my codecs and mux to theo+vorbis and ogg combination becuase of several reasons. Here where the problems start -

I have compiled vlc with following options - (majorly to avoid ffmpeg, no gui, add theo+vorbis+ogg)

./configure --prefix=/home/phpathak/dod/dod-vlc/in/ --exec-prefix=/home/phpathak/dod/dod-vlc/de/ --enable-nls=no --enable-optimize-memory --enable-vlm=no --enable-growl=no --enable-notify=no --enable-mad=no --enable-v4l --enable-gnomevfs=no --enable-libcdio=no --enable-libcddb=no --enable-cdda=no --enable-vcd=no --enable-screen=no --enable-ogg --enable-libmpeg2=no --enable-vorbis --enable-x11=no --enable-xvideo=no --enable-glx=no --enable-xinerama=no --enable-opengl=no --enable-freetype=no --enable-libxml2=no --enable-skins2=no --enable-wxwidgets=no --enable-visual=no --enable-daap=no --enable-bonjour=no --enable-gnutls=no --enable-hal=no --enable-flac --enable-theora --enable-ffmpeg=no

now with minimal changes I try running the vlc streaming again with following -

./vlc -vvv v4l:/dev/video0 --sout '#transcode{vcodec=theo,vb=192,scale=1,acodec=vorb,ab=96,channels=1}
:std{access=http,mux=ogg,dst=192.168.0.1:8080}'

upon running this I get -

[00000001] main private debug: checking builtin modules
[00000001] main private debug: checking plugin modules
[00000001] main private debug: loading plugins cache file /home/phpathak/.vlc/cache/plugins-04041e.dat
[00000001] main private debug: recursively browsing `modules'
[00000001] main private debug: recursively browsing `/home/phpathak/dod/dod-vlc/de//lib/vlc'
[00000001] main private debug: recursively browsing `plugins'
[00000001] main private debug: module bank initialized, found 179 modules
[00000001] main private debug: opening config file /home/phpathak/.vlc/vlcrc
[00000001] main private warning: config file /home/phpathak/.vlc/vlcrc does not exist yet
[00000001] main private debug: CPU has capabilities 486 586 MMX MMXEXT SSE FPU
[00000001] main private debug: looking for memcpy module: 3 candidates
[00000001] main private debug: using memcpy module "memcpymmxext"
[00000227] main playlist debug: waiting for thread completion
[00000227] main playlist debug: thread 3084209072 (playlist) created at priority 0 (playlist/playlist.c:184)
[00000228] main private debug: waiting for thread completion
[00000228] main private debug: thread 3075816368 (preparser) created at priority 0 (playlist/playlist.c:210)
[00000229] main interface debug: looking for interface module: 1 candidate
[00000229] main interface debug: using interface module "hotkeys"
[00000229] main interface debug: thread 3067399088 (interface) created at priority 0 (interface/interface.c:231)
[00000227] main playlist debug: adding playlist item `v4l:/dev/video0' ( v4l:/dev/video0 )
[00000231] main interface debug: looking for interface module: 1 candidate
Remote control interface initialized. Type `help' for help.
[00000231] main interface debug: using interface module "rc"
[00000231] main interface debug: thread 3058957232 (manager) created at priority 0 (interface/interface.c:216)
[00000227] main playlist debug: creating new input thread
[00000233] main input debug: waiting for thread completion
[00000233] main input debug: thread 3050564528 (input) created at priority 0 (input/input.c:265)
[00000233] main input debug: creating statistics handler
[00000235] main stream output debug: stream=`transcode'
[00000236] main private debug: looking for sout stream module: 1 candidate
[00000235] main stream output debug: stream=`std'
[00000239] main private debug: looking for sout stream module: 1 candidate
[00000239] main private debug: set sout option: sout-standard-access to http
[00000239] main private debug: set sout option: sout-standard-mux to ogg
[00000239] main private debug: set sout option: sout-standard-dst to 192.168.0.1:8080
[00000239] stream_out_standard private debug: creating `http/ogg://192.168.0.1:8080'
[00000239] stream_out_standard private debug: extension is 1:8080
[00000239] stream_out_standard private debug: extension -> mux=(null)
[00000239] stream_out_standard private debug: using `http/ogg://192.168.0.1:8080'
[00000241] main private debug: looking for sout access module: 1 candidate
[00000241] main private: creating httpd
[00000241] main private debug: net: listening to 192.168.0.1 port 8080
[00000241] main private debug: localized Domain Names not supported - disabled
[00000244] main http server debug: thread 3042094000 (httpd host thread) created at priority 0 (network/httpd.c:1078)
[00000241] main private debug: using sout access module "access_output_http"
[00000239] stream_out_standard private debug: access opened
[00000245] main private debug: looking for sout mux module: 1 candidate
status change: ( new input: v4l:/dev/video0 )
status change: ( audio volume: 256 )
status change: ( play state: 1 )
[00000245] mux_ogg private: Open
[00000245] main private debug: using sout mux module "mux_ogg"
[00000235] main stream output debug: muxer support adding stream at any time
[00000235] main stream output debug: muxer prefers to wait for all ES before starting to mux
[00000239] stream_out_standard private debug: mux opened
[00000239] main private debug: using sout stream module "stream_out_standard"
[00000236] main private debug: set sout option: sout-transcode-vcodec to theo
[00000236] main private debug: set sout option: sout-transcode-vb to 192
[00000236] main private debug: set sout option: sout-transcode-scale to 1
[00000236] main private debug: set sout option: sout-transcode-acodec to vorb
[00000236] main private debug: set sout option: sout-transcode-ab to 96
[00000236] main private debug: set sout option: sout-transcode-channels to 1
[00000236] stream_out_transcode private debug: codec audio=vorb 0Hz 1 channels 96Kb/s
[00000236] stream_out_transcode private debug: codec video=theo 0x0 scaling: 1.000000 192kb/s
[00000236] main private debug: using sout stream module "stream_out_transcode"
[00000233] main input debug: `v4l:/dev/video0' gives access `v4l' demux `' path `/dev/video0'
[00000233] main input debug: creating demux: access='v4l' demux='' path='/dev/video0'
[00000247] main demuxer debug: looking for access_demux module: 1 candidate
[00000247] v4l demuxer debug: main device=`/dev/video0'
[00000247] v4l demuxer debug: V4L device Logitech QuickCam USB 1 channels 0 audios 32 < w < 352 32 < h < 292
[00000247] v4l demuxer debug: invalid width 0
[00000247] v4l demuxer debug: invalid height 0
[00000247] v4l demuxer debug: setting channel Camera(0) 0 tuners flags=0x0 type=0x2 norm=0x0
[00000247] v4l demuxer debug: will use 352x292
[00000247] v4l demuxer debug: v4l device uses brightness: 32768
[00000247] v4l demuxer debug: v4l device uses colour: 32768
[00000247] v4l demuxer debug: v4l device uses hue: 32768
[00000247] v4l demuxer debug: v4l device uses contrast: 32768
[00000247] v4l demuxer debug: v4l device uses frame size: 205568
[00000247] v4l demuxer debug: v4l device uses chroma: I422
[00000247] v4l demuxer debug: openened adev=`/dev/dsp' stereo 44100Hz
[00000247] v4l demuxer debug: v4l grabbing started
[00000247] v4l demuxer debug: added new video es I422 352x292
[00000233] main input debug: selecting program id=0
[00000247] v4l demuxer debug: new audio es 2 channels 44100Hz
[00000247] main demuxer debug: using access_demux module "v4l"
[00000249] main packetizer debug: looking for packetizer module: 16 candidates
[00000249] main packetizer debug: using packetizer module "rawvideo"
[00000249] main packetizer debug: thread 3026922416 (decoder) created at priority 0 (input/decoder.c:159)
[00000258] main packetizer debug: looking for packetizer module: 16 candidates
[00000258] main packetizer debug: using packetizer module "packetizer_copy"
[00000258] main packetizer debug: thread 3018378160 (decoder) created at priority 0 (input/decoder.c:159)
[00000233] main input debug: starting in sync mode
[00000233] main input debug: `v4l:/dev/video0' successfully opened
[00000235] main stream output debug: adding a new input
[00000236] stream_out_transcode private debug: creating video transcoding from fcc=`I422' to fcc=`theo'
[00000276] main decoder debug: looking for decoder module: 19 candidates
[00000276] main decoder debug: using decoder module "rawvideo"
[00000277] main encoder debug: looking for encoder module: 4 candidates
[00000277] theora encoder debug: padding video from 352x292 to 352x304
[00000277] main encoder debug: using encoder module "theora"
[00000277] main encoder debug: removing module "theora"
[00000236] stream_out_transcode private debug: decoder aspect is 576000:432000
[00000236] stream_out_transcode private debug: source pixel aspect is 1.106061:1
[00000236] stream_out_transcode private debug: scaled pixel aspect is 1.106061:1
[00000236] stream_out_transcode private debug: source 352x292, crop 352x292, destination 352x292, padding 352x292
[00000236] stream_out_transcode private debug: encoder aspect is 576000:432000
[00000277] main encoder debug: looking for encoder module: 4 candidates
[00000277] theora encoder debug: padding video from 352x292 to 352x304
[00000277] main encoder debug: using encoder module "theora"
[00000245] main private debug: adding a new input
[00000245] mux_ogg private debug: adding input
[00000245] mux_ogg private debug: theora stream
[00000286] main private debug: looking for crop padd module: 0 candidates
[00000286] main private error: no crop padd module matched "any"
[00000236] stream_out_transcode private debug: no video filter found
[00000276] main decoder debug: removing module "rawvideo"
[00000277] main encoder debug: removing module "theora"
[00000235] main stream output debug: adding a new input
[00000236] stream_out_transcode private debug: creating audio transcoding from fcc=`s16l' to fcc=`vorb'
[00000287] main decoder debug: looking for decoder module: 19 candidates
[00000287] araw decoder debug: samplerate:44100Hz channels:2 bits/sample:16
[00000287] main decoder debug: using decoder module "araw"
[00000288] main encoder debug: looking for encoder module: 4 candidates
[00000288] main encoder debug: using encoder module "vorbis"
[00000289] main private debug: looking for audio filter2 module: 4 candidates
[00000289] audio_format private debug: s16l->fl32, bits per sample: 16
[00000289] main private debug: using audio filter2 module "audio_format"
[00000297] main private debug: looking for audio filter2 module: 4 candidates
[00000288] main encoder debug: removing module "vorbis"
[00000236] stream_out_transcode private debug: number of audio channels for mixing changed, trying to reopen the encoder for mixing 2 to 2 channels
[00000288] main encoder debug: looking for encoder module: 4 candidates
[00000288] main encoder debug: using encoder module "vorbis"
[00000245] main private debug: adding a new input
[00000245] mux_ogg private debug: adding input
[00000245] mux_ogg private debug: vorbis stream
[00000245] main private warning: late buffer for mux input (269517)
[00000245] main private warning: late buffer for mux input (131985)
[00000245] main private warning: late buffer for mux input (5623)
[00000245] main private warning: late buffer for mux input (848143)
[00000245] main private warning: late buffer for mux input (931924)
[00000245] main private warning: late buffer for mux input (1052652)
[00000245] main private warning: late buffer for mux input (1095788)
[00000245] main private warning: late buffer for mux input (1203334)
[00000245] main private warning: late buffer for mux input (1204913)
[00000245] main private warning: late buffer for mux input (1357735)
[00000245] main private warning: late buffer for mux input (1359199)
[00000245] main private warning: late buffer for mux input (1465372)
[00000245] main private warning: late buffer for mux input (1512225)
[00000245] mux_ogg private debug: writing header
[00000245] mux_ogg private debug: creating header for theo
[00000245] mux_ogg private debug: creating header for vorb
[00000245] main private warning: late buffer for mux input (1538101)
[00000245] main private warning: late buffer for mux input (1696134)
[00000245] main private warning: late buffer for mux input (1691384)
[00000245] main private warning: late buffer for mux input (1760743)
...
...
...

This continues for ever.. until the laptop gets hung and I manually reboot it.
when I try to capture the stream on the receiving side, vlc players ends up giving "segmentation fault"...
testing on XP clients vlc crashes too..

I believe this has got something to do with theo+vorbis+ogg combination because it was working previously.
Or this might be something else which is completely out of my understanding...
should I change anything while builing or running or what??

Please help me by providing some clue. I need to get it working in 2 days..

thanks

Re: webcam streaming theo+vorbis+ogg : segfault?

Posted: 28 Jul 2007 20:22
by jpzone
Someone please help with this..
I am really stuck..

Someone must have used this for streaming...
thanks

Re: webcam streaming theo+vorbis+ogg : segfault?

Posted: 03 Aug 2007 04:01
by MikeQBF
No cure or workaround to advise, but I have traced it to Theora. Ogg by itself seems to work fine.

Strangely, however... Ogg + Theora is fine under Mac OS X. Just Win and Linux have the problem.

Re: webcam streaming theo+vorbis+ogg : segfault?

Posted: 03 Aug 2007 11:02
by Jean-Baptiste Kempf
No cure or workaround to advise, but I have traced it to Theora. Ogg by itself seems to work fine.

Strangely, however... Ogg + Theora is fine under Mac OS X. Just Win and Linux have the problem.
Hey Mike!
Would you be able to develop a bit ?

Re: webcam streaming theo+vorbis+ogg : segfault?

Posted: 12 Aug 2007 16:53
by MikeQBF
Hey Mike!
Would you be able to develop a bit ?
This is a possibility, j-b. OGG+Theora would be an excellent solution for a particular bandwidth-limited client... if it worked on an i386 platform. I'm almost at the point where I say "You didn't see me install a Mac as your video server. Move along now."

Actually, this begs the question of whether it still works under OS X. My test platform has been a PPC mini. Let me get an Intel Mac on the bench here and see if we can still transcode.

Re: webcam streaming theo+vorbis+ogg : segfault?

Posted: 14 Aug 2007 18:45
by hammadkom
i need the code that make VLC streams from web cam to icecast server , any one knows?
i tryed using this code:

Code: Select all

vlc -vvv --color dshow://dshow-adev="" dshow://dshow-vdev="" --sout "#transcode{vcodec=theo,venc=theora,acodec=spx,aenc=speex}:std{access=shout{name="mystream"},mux=ogg,dst=source:hackme@192.168.1.6:8000/video.ogg}"
last lines of messages :

main debug: looking for decoder module: 28 candidates
araw debug: samplerate:44100Hz channels:2 bits/sample:16
main debug: using decoder module "araw"
main debug: looking for encoder module: 10 candidates
speex debug: encoding: frame size:640, channels:2, samplerate:44100
main debug: using encoder module "speex"
main debug: adding a new input
mux_ogg debug: adding input
mux_ogg debug: speex stream
main debug: adding a new input
stream_out_transcode debug: creating video transcoding from fcc=`I420' to fcc=`theo'
main debug: looking for decoder module: 28 candidates
main debug: using decoder module "rawvideo"
main debug: looking for encoder module: 10 candidates
main debug: using encoder module "theora"
main debug: removing module "theora"
stream_out_transcode debug: decoder aspect is 576000:432000
stream_out_transcode debug: source pixel aspect is 1.000000:1
stream_out_transcode debug: scaled pixel aspect is 1.000000:1
stream_out_transcode debug: source 640x480, crop 640x480, destination 640x480, padding 640x480
stream_out_transcode debug:
main debug: looking for encoder module: 10 candidates
main debug: using encoder module "theora"
main debug: adding a new input
mux_ogg debug: adding input
mux_ogg debug: theora stream
mux_ogg debug: writing header
mux_ogg debug: creating header for spx
mux_ogg debug: creating header for theo


and when i check at icecast admin , i found this stream "my stream" and when i try to listen , VLC fails to listen to stream
see debug messages ( last messages)

main debug: pre-buffering...
access_http debug: got disconnected, trying to reconnect
main debug: net: connecting to 192.168.1.6 port 8000
main debug: connection in progress
main debug: connection aborted
access_http error: cannot connect to 192.168.1.6:8000
access_http debug: reconnection failed
main error: cannot pre fill buffer
main warning: cannot create a stream_t from access
main debug: removing module "access_http"
main debug: thread times: real 0m15.688023s, kernel 0m0.015625s, user 0m0.000000s
main debug: thread 3996 joined (input/input.c:412)
main debug: creating new input thread
main debug: waiting for thread completion
main debug: thread 3976 (input) created at priority 1 (input/input.c:265)
main debug: `http://192.168.1.6:8000/video.ogg' gives access `http' demux `' path `192.168.1.6:8000/video.ogg'
main debug: creating demux: access='http' demux='' path='192.168.1.6:8000/video.ogg'
main debug: looking for access_demux module: 0 candidates
main warning: no access_demux module matched "http"
main debug: creating access 'http' path='192.168.1.6:8000/video.ogg'
main debug: looking for access2 module: 7 candidates
access_http debug: http: server='192.168.1.6' port=8000 file='/video.ogg
main debug: net: connecting to bdeveloper port 8000
main debug: connection in progress
access_http debug: protocol 'HTTP' answer code 200
access_http debug: Content-Type: application/ogg
access_http debug: Meta-Info: icy-description: Live stream from VLC media player. http://www.videolan.org/vlc
access_http debug: Icy-Name: mystream
access_http debug: Meta-Info: icy-pub: 0
access_http debug: Server: Icecast 2.3.1
access_http debug: auto re-connect enabled
main debug: using access2 module "access_http"
main debug: pre-buffering...

and VLC stoppes at this line , and no data appears , counters equal 00:00

no data appears :(

I validate that VLC can open web cam and audio without streaming

my platform is windows XP

please can some one help me ????????????????

Thanks and Regards
Hammad