Basic streaming - can't get it to work

About encoding, codec settings, muxers and filter usage
northwind
New Cone
New Cone
Posts: 3
Joined: 04 Mar 2005 02:36

Basic streaming - can't get it to work

Postby northwind » 04 Mar 2005 23:02

I am just fooling around with VLC trying to get it to work. My problem is that I would like to stream from one machine to another. And I can't get it to work.

My setup is as follows:

Machine Alice:
IP: 192.168.0.196
x86 running linux (FC3) using a BT848 capture card and v4l.
Using the composit channel to capture from a camera.
VLC 0.8.1 installed
vlc v4l:/dev/video0:norm=ntsc:channel=1 works fine.

Machine Bob:
IP: 192.168.0.11
x86 running Win2K. VLC 0.8.1 installed

The idea is to send the stream (preferably mp4v, no audio) from Alice to Bob and happily watch it there on the VLC player. Later on I would like to use the http plugin.


I used command(1) but it didnt work. I got command-output(1) which indicated that there is no module transcode.
What am I doing wrong?


command(1)=
vlc -vvv --color v4l:/dev/video:norm=ntsc:size=sif:channel=1 --sout '#transcode{vcodec=mp4v,vb=1000,nenc=ffmpeg{keyint=80,hurry-up,vt=800000}}' 192.168.0.11:1234


command-output(1)=
VLC media player 0.8.1 Janus
[00000001] main vlc debug: opening config file /root/.vlc/vlcrc
[00000001] main vlc debug: checking builtin modules
[00000001] main vlc debug: checking plugin modules
[00000001] main vlc debug: loading plugins cache file /root/.vlc/cache/plugins-04041e.dat
[00000001] main vlc debug: recursively browsing `modules'
[00000001] main vlc debug: recursively browsing `/usr/lib/vlc'
[00000001] main vlc debug: recursively browsing `plugins'
[00000001] main vlc debug: module bank initialized, found 185 modules
[00000001] main vlc debug: opening config file /root/.vlc/vlcrc
[00000000] main root debug: VLC media player - version 0.8.1 Janus - (c) 1996-2004 VideoLAN
[00000000] main root debug: libvlc was configured with ./configure --build=i686-redhat-linux-gnu --host=i686-redhat-linux-gnu --target=i386-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --enable-release --enable-vcd --enable-x11 --enable-xvideo --disable-qte --disable-directx --enable-fb --enable-dvdread --enable-dvdnav --enable-dvbpsi --enable-v4l --enable-ffmpeg --with-ffmpeg-tree=ffmpeg-20041113 --enable-flac --enable-theora --enable-mad --enable-faad --enable-aa --enable-caca --enable-dvb --enable-pvr --enable-livedotcom --with-livedotcom-tree=/usr/lib/live --enable-alsa --enable-esd --enable-arts --enable-fribidi --enable-freetype --enable-wxwindows --enable-ncurses --enable-lirc --enable-mozilla --enable-sdl --without-wingdi --enable-oss --disable-waveout --disable-familiar --disable-opie --disable-macosx --disable-qnx --disable-intfwin --disable-st --disable-testsuite --disable-mod
[00000001] main vlc debug: translation test: code is "C"
[00000001] main vlc debug: opening config file /root/.vlc/vlcrc
[00000001] main vlc debug: checking builtin modules
[00000001] main vlc debug: checking plugin modules
[00000001] main vlc debug: loading plugins cache file /root/.vlc/cache/plugins-04041e.dat
[00000001] main vlc debug: recursively browsing `modules'
[00000001] main vlc debug: recursively browsing `/usr/lib/vlc'
[00000001] main vlc debug: recursively browsing `plugins'
[00000001] main vlc debug: module bank initialized, found 185 modules
[00000001] main vlc debug: opening config file /root/.vlc/vlcrc
[00000001] main vlc debug: CPU has capabilities 486 586 MMX 3DNow! MMXEXT SSE FPU
[00000001] main vlc debug: looking for memcpy module
[00000001] main vlc debug: probing 4 candidates
[00000010] main module debug: using memcpy module "memcpymmxext"
[00000238] main playlist debug: creating group Normal with id 1 at position 0
[00000238] main playlist debug: waiting for thread completion
[00000238] main playlist debug: thread 26708912 (playlist) created at priority 0 (src/playlist/playlist.c:107)
[00000239] main interface debug: looking for interface module
[00000239] main interface debug: probing 1 candidate
[00000082] main module debug: using interface module "hotkeys"
[00000239] main interface debug: interface initialized
[00000239] main interface debug: thread 83397552 (interface) created at priority 0 (src/interface/interface.c:209)
[00000238] main playlist debug: adding playlist item `192.168.0.11:1234' ( 192.168.0.11:1234 )
[00000238] main playlist debug: adding playlist item `v4l:/dev/video:norm=ntsc:size=sif:channel=1' ( v4l:/dev/video:norm=ntsc:size=sif:channel=1 )
[00000241] main interface debug: looking for interface module
[00000241] main interface debug: probing 4 candidates
[00000241] skins2 interface error: Cannot open display
[00000241] skins2 interface error: Cannot initialize OSFactory
Remote control interface initialized, `h' for help
[00000077] main module debug: using interface module "rc"
[00000241] main interface debug: interface initialized
[00000238] main playlist debug: creating new input thread
[00000245] main input debug: waiting for thread completion
[00000245] main input debug: thread 46533552 (input) created at priority 0 (src/input/input.c:228)
[00000241] main interface debug: thread 57023408 (manager) created at priority 0 (src/interface/interface.c:194)
invalid options (empty)[00000246] main stream output debug: stream=`transcode'
[00000247] main private debug: looking for sout stream module
[00000247] main private debug: probing 1 candidate
[00000246] main stream output error: invalid chain
[00000247] stream_out_transcode private error: cannot create chain
[00000247] main private warning: no sout stream module matching "transcode" could be loaded
[00000247] main private debug: destroying chain... (name=transcode)
[00000247] main private debug: destroying chain done
[00000246] main stream output error: stream chained failed for `transcode{vcodec=mp4v,vb=1000,nenc=ffmpeg{keyint=80,hurry-up,vt=800000}'
[00000245] main input error: cannot start stream output instance, aborting
[00000245] main input debug: thread 46533552 joined (src/input/input.c:290)
[00000238] main playlist debug: creating new input thread
[00000250] main input debug: waiting for thread completion
[00000250] main input debug: thread 46533552 (input) created at priority 0 (src/input/input.c:228)
invalid options (empty)[00000251] main stream output debug: stream=`transcode'
[00000252] main private debug: looking for sout stream module
[00000252] main private debug: probing 1 candidate
[00000251] main stream output error: invalid chain
[00000252] stream_out_transcode private error: cannot create chain
[00000252] main private warning: no sout stream module matching "transcode" could be loaded
[00000252] main private debug: destroying chain... (name=transcode)
[00000252] main private debug: destroying chain done
[00000251] main stream output error: stream chained failed for `transcode{vcodec=mp4v,vb=1000,nenc=ffmpeg{keyint=80,hurry-up,vt=800000}'
[00000250] main input error: cannot start stream output instance, aborting
[00000250] main input debug: thread 46533552 joined (src/input/input.c:290)

markfm
Big Cone-huna
Big Cone-huna
Posts: 1536
Joined: 22 Feb 2004 17:42

Postby markfm » 05 Mar 2005 01:39

You have the sout messed up, wrong format -- no output specified.

Take a look at:
http://videolan.org/doc/streaming-howto ... to-en.html

For example:
--sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
standard{access=udp,mux=ts,url=239.255.12.42,sap,name="TestStream"}'

Then the client would use:
vlc udp://@239.255.12.42
to connect.

If you wanted to push the stream to that one address (not use multicast), you could use:

--sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
standard{access=udp,mux=ts,url=192.168.0.11:1234}'

And the client could just use:
vlc udp://
(or, if the client is launching the user gui, wxwindows, use a file -- open network stream, then click the first UDP option that you see)

northwind
New Cone
New Cone
Posts: 3
Joined: 04 Mar 2005 02:36

Got something.....

Postby northwind » 05 Mar 2005 03:11

ok - thanks

It showed me a black image, but dropping the deinterlace did it. Now I have an image with 1-2 sec delay. Can I adjust that to be lower?


Here is the cmd that worked:
vlc -vvv -I dummy --noaudio --color v4l:/dev/video:norm=ntsc:size=sif:channel=1 --sout '#transcode{vcodec=mp2v,vb=800}:standard{access=udp,mux=ts,url=192.168.0.11,sap,name="TestStream"}'

markfm
Big Cone-huna
Big Cone-huna
Posts: 1536
Joined: 22 Feb 2004 17:42

Postby markfm » 05 Mar 2005 13:21

Try vlc --longhelp --advanced
Search in the output for "caching"
On the linux side you will have a cache for the input device and a cache for the UDP output -- make both of those values, say, 30


On the Windows side you will have an input UDP cache (something like access-udp), and a display cache -- again, try setting them both to 30.

That will get you down to on the order of 700 ms.

To get lower, near 200, you might be able to do something with an RTP stream, but I haven't tried it yet.


Return to “VLC stream-output (sout)”

Who is online

Users browsing this forum: No registered users and 12 guests