webcam streaming theo+vorbis+ogg : segfault?

About encoding, codec settings, muxers and filter usage
jpzone
New Cone
New Cone
Posts: 8
Joined: 21 Jul 2007 22:34

webcam streaming theo+vorbis+ogg : segfault?

Postby jpzone » 28 Jul 2007 06:14

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

jpzone
New Cone
New Cone
Posts: 8
Joined: 21 Jul 2007 22:34

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

Postby jpzone » 28 Jul 2007 20:22

Someone please help with this..
I am really stuck..

Someone must have used this for streaming...
thanks

MikeQBF
Blank Cone
Blank Cone
Posts: 87
Joined: 26 Apr 2007 07:18

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

Postby MikeQBF » 03 Aug 2007 04:01

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.

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

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

Postby Jean-Baptiste Kempf » 03 Aug 2007 11:02

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 ?
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

MikeQBF
Blank Cone
Blank Cone
Posts: 87
Joined: 26 Apr 2007 07:18

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

Postby MikeQBF » 12 Aug 2007 16:53

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.

hammadkom
Blank Cone
Blank Cone
Posts: 14
Joined: 26 Mar 2007 21:23

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

Postby hammadkom » 14 Aug 2007 18:45

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


Return to “VLC stream-output (sout)”

Who is online

Users browsing this forum: No registered users and 8 guests