Hi Paul,

I've been researching something very similar for my church the past two
weeks.  I am assuming you want to do real-time or "live" streaming? 
(Or maybe I misunderstood and you just want staged content delivery from
files?)

For live streaming, you essentially need 2 systems, the one that you run
locally is the "broadcaster" or "streamer" setup, where you have
camera or other source, etc. plugged into a computer, and it streams it
out to a site on the internet that is a "reflector".

For the reflector, you can either use existing services or stand up your
own with a commercial or open-source server solution.

The existing reflector services include sites such as justin.tv,
ustream.tv, livestream, and it is rumored that youtube will be offering
a streaming service in the future.

The existing proprietary reflector server applications include Apple
Distributed Streaming Server, Adobe Flash Media Server, as well as other
has-beens products like RealNetworks helix or any Microsoft offering.

Essentially the Adobe one is the best architecture.  The best existing
open-source reflectors such as red5 and erlyvideo are compatible with
the Adobe stream formats.

For the broadcasting application:  In the proprietary realm, you would
use Apple Quicktime Broadcaster (only runs on Mac or Windows) and stream
RTSP protocol to one of the reflectors, OR you would run Adobe Flash
Live Media Encoder (only runs on Mac or Windows) to stream RTMP to one
of the reflectors.  They do pretty much the same thing - grab the video
source, encode it (H.264 for video, and AAC for audio) then package it
inside a protocol (RTSP for Apple, RTMP for Adobe) and then stream it to
the reflector.

For open source broadcaster solutions, you need to look at building a
solution with a couple different components.  For grabbing the video and
encoding it, use ffmpeg or vlc, they run on your broadcast pushing
machine, and you somehow have to grab your video source from the camera,
encode the video to H.264, the audio to AAC, and then you need to find a
way to wrap it into RTSP or RTMP protocol an push it up to the
reflector.  There are some documented solutions for this on the red5 or
erlyvideo.org sites, but you will need to tweak quite a bit to get them
to work.

For an open-source reflector, there is red5, which is written in Java,
and there is Erlyvideo.org, which is written in Erlang.  They both allow
you to stream live content from a single source, and then you deploy
Flash applet video viewers on a web page that connect to the reflector
and view the output streams.

One of the main advantages of switching to the self-hosted open-source
reflectors is that the "free" sites such as justin.tv, ustream or
livestream require you to use their viewer applet, and unless you pay
for their commercial level of service (can be from $100 to $350 per
month) they periodically cover the bottom 20% of your video picture with
advertising.

We've tried using their unpaid service, and we've had issues with
people seeing ads (on top of our church broadcast) that are for either
other churches buy ads with our church keywords, or people buying
anti-church ads with our church keywords.  By running our own reflector
and using an open-source viewer applet - we can control all the content
and don't have to deal with other people's advertising.

I've been playing with using Apple Quicktime Broadcaster to stream to
both Red5 and Erlyvideo reflector running on Centos5, and the stream
would never properly be initialized and work.

I have had better success using Adobe Flash Live Media Encoder.  I've
used it with both the red5 and erlyvideo reflectors.  Erlyvideo uses
less CPU so should scale much better than the Java-based red5, but it is
much more work to install and configure.  I had to install git, pull the
latest Erlang runtime source code, compile and install Erlang from
source, and then use git to pull and compile the Erlyvideo application. 
I've sunk at least 100 hours into setting up Erlyvideo so far, and
still don't have it tuned to production level (for us, that's 100
viewers for 90 minutes with no interruptions.)


For the viewer web applet, you should look at either FlowPlayer (Gnu GPL)
or JWPlayer - which are both Flash based players.  You just drop them
into the HTML, set the properties to connect to your reflector and tune
in to the RTMP stream.

With some careful work, (and quite a bit of it) you can go almost 100%
open-source with this solution.  The video grabbing, the mpeg (h.264 and
aac) encoding, the streaming, the reflecting and the flash-based viewer
applet can all be open-source and all work on Linux.  The only component
that you might be non-open-source would be the Flash runtime, and this
may even work with gnash instead of the real Flash product (i haven't
tested with Gnash I keep the Adobe runtime on my  Ubuntu machine)

Ok, now you know everything I know about this - good luck and let me know
when you get it working.

If I get the ffmpeg or vlc broadcasting from Linux camera source up to
the erlyvideo reflector working, I'll demo at a future LUG meeting.

Thanks,
DK



On 9/22/2010, "Paul Saenz" <[email protected]> wrote:

>I am looking for a video web hosting solution. It is for a church, so they
>don't have a lot of money.
>I realize that you get what you pay for, so if they want something cheep,
>then it may lack in reliability,
>bandwidth, and/or some other aspect. Nevertheless, if someone has a
>suggestion of some service that
>may be affordable (exactly what affordable means, I cannot say at this
>point) then it would be greatly
>appreciated. If you offer a suggestion, then please note what aspect of
>service may be lacking. Bandwidth
>is not a issue at this point. If anyone on the list provides this type of
>service, please contact me offlist.
>I am helping this church pro bono, but I never haggle over price. If someone
>has a service, then they name
>their price. So I won't be trying to bring someone's price down because it's
>a church. This is still America Right?
>
>Thanks
>Paul
_______________________________________________
LinuxUsers mailing list
[email protected]
http://socallinux.org/cgi-bin/mailman/listinfo/linuxusers

Reply via email to