Page 1 of 1

Transcode live multicast to flash and emebed in web page

Posted: 26 Feb 2008 05:07
by jac1d
Hello all,

I'm curious whether or not what I want to do is possible, and what the transcode --sout statement should look like.

On my video LAN I currently have a 180x120 256K/s multicast of each video channel (a video thumbnail). When I access the web page for a given channel, I want to be able to see various controls and other web content and have embedded on the page a flash player that streams the live feed from the multicast. Is this feasible to transcode to flash in real time and stream to an embedded player on a web page so the end user gets the various bits of web content and the video stream live?

Any links to examples would be greatly appreciated.

Thanks,

-Jeff

Re: Transcode live multicast to flash and emebed in web page

Posted: 26 Feb 2008 09:34
by Jean-Baptiste Kempf
Yes, with development versions.

Re: Transcode live multicast to flash and emebed in web page

Posted: 28 Feb 2008 05:22
by dynamitemedia
can you tell us which ones we can use and possible set up?

Re: Transcode live multicast to flash and emebed in web page

Posted: 28 Feb 2008 22:34
by Squirrelywrath
I haven't tried a newer version but I know this one should be working for what you are looking for: vlc-snapshot-20071213.tar. I don't handle the flash player embedding in the pages someone else does. We are taking MPEG2 input and converting it to Flash output. The output is then displayed in an embedded player on a google map popup when clicking a marker on the map.

I'm running vlc using daemontools by Dan Bernstein and a vlm conf for the different streams but the below should work. I don't have any audio on my multicast so you may need to play with the below but it should get you started.

vlc -vvv "udp://@<multicast_address>" --sout "#transcode{vcodec=FLV1,scale=.4,vb=400}:std{access=http,mux=ffmpeg{mux=flv},dst=<some_ip>:<some_port>/stream.flv}"

Re: Transcode live multicast to flash and emebed in web page

Posted: 29 Feb 2008 04:06
by dynamitemedia
great info thanks.

now what exactly are you doing with daemon tools?

also can the guy doing your embedding get you the code that we would use to be 100% its working together correctly?

i am gonna tryu and play with this over the weekend or next week and see how to get the audio going well.

will post once i try it out and if anyone else does please post as well

thanks so much!

Re: Transcode live multicast to flash and emebed in web page

Posted: 29 Feb 2008 23:21
by Squirrelywrath
Daemontools is just a service manager for Unix. It watches vlc and if it exits for any reason it will start it back up. We use it to run VLC in telnet mode. Below is what I gathered from the page that embeds the flash. I'll try to check with individual that built it and verify that it is accurate. I don't think the swf file is doing anything fancy but again I'll have to check.

<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shoc ... n=6,0,29,0' width='240' height='180'><param name='movie' value='/images/trafficVideoPlayer.swf?cam=<stream_ip>:<stream_port>/stream.flv'><param name='quality' value='high'><embed src='/images/trafficVideoPlayer.swf?cam=<stream_ip>:<stream_port>/stream.flv' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='240' height='180'></embed></object>

Re: Transcode live multicast to flash and emebed in web page

Posted: 03 Mar 2008 01:29
by mnemonic
Hello Squirrelywrath,

I would really like to know how you built that version of vlc.
I am desperately trying to set up flv-streaming via access=http with many different revisions from svn. Basically it works (my commad line is quite the same that you postet, with the difference of mp3 for acodec - ffmpeg has been rebuilt with risky under ubuntu feisty for that purpose) - with one client. As soon as a second client connects, CPU usage goes up to 100% and the second client doesn't get any data.
I am really stuck at the moment.

I am looking forward to your reply.

Kind regards
Jens

Re: Transcode live multicast to flash and emebed in web page

Posted: 03 Mar 2008 15:43
by Squirrelywrath
Jens,

You'll have to forgive me it's been a little while since I built it. I added rpm.livna.org to my yum repos so I could pull packages that are not in the default Fedora channels. From there I installed all the buildrequires rpms out of the spec file, I forget if it was the spec file for the latest stable release or if it was the vlc.fedora.spec file in the build.

Here is my config line. Some of it maybe useless or default but I believe this is what worked for me. I enabled the X11 items because I tunnel vlc back to my desktop over SSH for testing.

--enable-x11 --enable-xvideo --disable-gtk --enable-sdl --enable-ffmpeg --with-ffmpeg-mp3lame --enable-mad --enable-libdvbpsi --enable-a52 --disable-dca --enable-libmpeg2 --enable-dvdnav --enable-faad --enable-vorbis --enable-ogg --enable-theora --enable-faac --enable-mkv --enable-freetype --enable-fribidi --enable-speex --enable-flac --enable-live555 --enable-caca --enable-skins --enable-skins2 --enable-alsa --enable-kde --disable-qt --enable-wxwindows --enable-ncurses --enable-release

If the above doesn't work for you let me know what errors or problems you are having and I'll see if I can help you out.

Re: Transcode live multicast to flash and emebed in web page

Posted: 11 Mar 2008 10:57
by bogogil
Hi all,

I am trying the same: live-streaming of a webcam to an html-embedded flash player. Basicly it works: the flash player starts up and plays the stream. But after a few seconds it just stops. Very strange.. I used vlc version 0.9.0-git Grishenko with this commandline:

Code: Select all

vlc -I dummy v4l:///dev/video0:size=320x240 --no-audio --sout '#transcode{vcodec=FLV1,scale=1,vb=400}:std{access=http,mux=ffmpeg{mux=flv},dst=:8080/stream.flv}'
Any ideas?

Regards
Bogo

Re: Transcode live multicast to flash and emebed in web page

Posted: 17 Mar 2008 20:36
by Squirrelywrath
Try running from a command prompt with -v for debugging and see if that sheds any light on what maybe causing the issue. You may need to go to -vvv but that is a lot of information to go through.

Re: Transcode live multicast to flash and emebed in web page

Posted: 26 Mar 2008 01:56
by mnemonic
Hello Squirrelywrath,

thank you for your help.

As it turned out, the problem I was facing (and am still facing) is not related to a certain revision from SVN nor to the fact that I want FLV output.
It seems to be solely related to the HTTP output access module. The problem I described above happens with all sorts of input files, with transcoding or not doesn't matter.
For one client it works perfectly, inside a LAN with many client it works as well, but if you stream to more than one client from a dedicated server over the internet things start to go wrong.
Things like

Code: Select all

if( host->i_url <= 0 ) { /* 0.2s (FIXME: use a condition variable) */ msleep( 200000 ); continue; }
lead to the impression that the http output module needs a complete rewrite.
If my day had 48 hours I would try to do it better, but unfortunately that is not the case and I don't want to bash the work someone has spent many hours on here.

For now I'm sticking to ffmpeg and ffserver to get that job (hopefully) done. It seems as if there is currently no really reliable solution for FLV streaming out there.

Kind regards
Jens

Re: Transcode live multicast to flash and emebed in web page

Posted: 27 Mar 2008 13:58
by hihi
is it possible to trancode into a file that's playable with a flashplayer?

like:

Code: Select all

output #transcode{vcodec=FLV1,vb=512,height=320}:duplicate{dst=std{access=file,mux=ffmpeg{flv},dst="Test.swf"}}
I've only a FlashPlayer or a RealPlayer on the remote device ...