Page 1 of 1

Transcode threading is not working

Posted: 20 Oct 2010 16:11
by streamer19
Hi guys,

I'm using 0.9.9a (installed from rpmforge) on CentOS 5.5 machine (HP ProLiant DL360 G6) to restream an IP camera into a .flv stream. The command I'am using looks like this:

Code: Select all

vlc -d http://root:root@IP1:port1/video.cgi --sout "#transcode{vcodec=FLV1}:std{access=http,mux=ffmpeg{flv},dst=IP2:port2/stream.flv}"
Now, this works fine, but if I try to specify the number of threads (e.g. threads=8 or 4 or 2) for transcoding, it doesn't work anymore. VLC starts, but the stream doesn't play anymore on the client side.

Do you guys have any idea why this is not working? Can you please give me some hints on how could I use the "threads" parameter with vlc?

My setup details are:

Code: Select all

[user@streaming ~]$ uname -a Linux streaming 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux [user@streaming ~]$ lstopo Machine (3946MB) + Socket #0 + L3 #0 (8192KB) L2 #0 (256KB) + L1 #0 (32KB) + Core #0 PU #0 (phys=0) PU #1 (phys=4) L2 #1 (256KB) + L1 #1 (32KB) + Core #1 PU #2 (phys=1) PU #3 (phys=5) L2 #2 (256KB) + L1 #2 (32KB) + Core #2 PU #4 (phys=2) PU #5 (phys=6) L2 #3 (256KB) + L1 #3 (32KB) + Core #3 PU #6 (phys=3) PU #7 (phys=7) [user@streaming ~]$ /opt/scripts/stream.sh VLC media player 0.9.9a Grishenko [00000001] main libvlc debug: VLC media player - version 0.9.9a Grishenko - (c) 1996-2009 the VideoLAN team [00000001] main libvlc debug: libvlc was configured with ./configure '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-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/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-dependency-tracking' '--disable-rpath' '--disable-static' '--enable-release' '--enable-aa' '--enable-alsa' '--enable-arts' '--enable-caca' '--enable-cddax' '--enable-dirac' '--enable-dvbpsi' '--enable-dvdread' '--enable-esd' '--enable-faad' '--enable-fbosd' '--enable-flac' '--enable-galaktos' '--enable-gnomevfs' '--enable-lirc' '--enable-live555' '--with-live555-tree=/dar/build/vlc-0.9.9a/live' '--enable-musicbrainz' '--enable-ncurses' '--enable-opencv' '--enable-portaudio' '--enable-pulse' '--enable-pvr' '--enable-real' '--enable-realrtsp' '--enable-shout' '--enable-snapshot' '--enable-svg' '--enable-svgalib' '--enable-switcher' '--enable-theora' '--enable-twolame' '--enable-upnp' '--enable-v4l' '--enable-xosd' '--enable-xvmc' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' 'LDFLAGS=-L/usr/X11R6/lib64' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' 'PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/share/pkgconfig' [00000001] main libvlc debug: translation test: code is "C"

Re: Transcode threading is not working

Posted: 20 Oct 2010 23:18
by streamer19
I've made it work by using h264 instead of FLV1 as vcodec together with the threads parameter.

Any idea why? Is the threads parameter working only with some vcodecs?

Re: Transcode threading is not working

Posted: 28 Oct 2010 20:59
by Jean-Baptiste Kempf
yes.

Re: Transcode threading is not working

Posted: 05 Nov 2010 16:15
by Soroush
Any idea why? Is the threads parameter working only with some vcodecs?
It depends on the encoder used; when you use mp4 then most probably x264 will encode the video which support up to 16 cores and threads but the encoder used for flv do not.