[Red5] streamming server
Daniel
danflu at uninet.com.br
Sat May 9 08:41:13 PDT 2009
Thank you Dominick and Art for the quick reply!
I'll try first the mammoth project since it offers (at a first glance)
everything I need from a C++ perspective.
It says it was build from the ground based on red5 code.
Any of you have already used it ?
Cheers,
Daniel
Dan:
>
> There are few solutions out there.
>
> - use ffmpeg to encode an rtsp stream (ffmpeg is somewhat buggy in this
> area as we have had trouble streaming from darwin)
>
>
I tried to help Dominick when he was testing this -- the bug he ran into is
a Darwin bug where the SDP files generated by Darwin don't work. You can
reproduce it by taking the SDP file Darwin gives you and trying to open it
in Quicktime off of the disk (connecting directly to the RTSP URL will work,
but that's different).
It's totally unclear if there is a FFMPEG bug here -- it's only clear that
Darwin is generating incorrect SDP files.
> > - use a third party java rtsp library
> >
> > Since you mention you're a C++ developer and not Java, this option probably
>
won't work for you. Plus it sounds like you're not having particular
trouble transmitting RTP...
> >
> > -
> > - use the red5 rstp branch
> >
> > No one has worked on this branch in a long time. We're welcome the help to
>
bring it up to snuff, but it'll require some Java programming.
As for C++, you have a few options there:
1) You can use the libav library (a C library) from FFMPEG. They have a
minimal RTSP library implemented in C, and can transcode into formats that
can be embedded in RTMP. However they don't actually support
broadcasting/streaming RTMP.
2) You can check out the Mammoth project (a C++ RTMP streaming server
implementation that has limited integration with FFMPEG's libav library).
Otherwise, your best option is to use the Xuggler library inside Red5 to
transcode RTP into RTMP and then rebroadcast (Xuggler also has a C++
library, but one that only works with G++ compilers).
Jeremy Morton got this working a few weeks ago, and posted his solution
here:
http://www.red5wiki.com/wiki/SteamStream
You can check it out. Be warned though -- it didn't work with Darwin on
Dominick's setup, so there may be some other issue (although I suspect the
biggest problem is that Dominick couldn't get Darwin to generate a valid SDP
file). It does work with at least a few USB cameras I've run across that do
RTP broadcasting.
- Art
More information about the Red5
mailing list