Google Answers Logo
View Question
 
Q: streaming video ( No Answer,   2 Comments )
Question  
Subject: streaming video
Category: Computers > Software
Asked by: voyager141-ga
List Price: $100.00
Posted: 12 Jun 2006 23:26 PDT
Expires: 12 Jul 2006 23:26 PDT
Question ID: 737669
I need a (prefferably out of the box) solution for taking the MPEG4
stream out of an axis webcam (210/210A) and re-encoding it on-the-fly to h.264
suitable for streaming. Maybe something open source that can be
installed/configured on a suitable server. 

I have serious bandwidth constraints and need to be able to take
fairely high framerate video from two network cameras, and re-encode
it for streaming out on the internet via a suitable streaming server.
The whole thing needs to be live and must have minimal delay.

The solution can't be too expensive either. Free would be wonderful, a
few hundred $$ might be acceptable. Thousands of $$ won't work.

We are technial and comfortable with OSS software. compiling and
installing components is acceptable as long as reasonable
instructions/documentation is available.

Request for Question Clarification by welte-ga on 13 Jun 2006 07:18 PDT
Hi voyager141-ga,  On what platform would you be performing the
re-encoding / transcoding (e.g., PC, Mac, Linux)?  Are you familiar
with VLC?

  -welte-ga

Clarification of Question by voyager141-ga on 13 Jun 2006 17:34 PDT
I'd like to use a linux box to do the re-encoding / transcoding. We
use linux almost exclusively on the back end and are somewhat partial
to RedHat and Centos. I would also consider OSX (mac) if something off
the shelf were available.

Clarification of Question by voyager141-ga on 13 Jun 2006 17:39 PDT
I'm not familiar with VLC

Clarification of Question by voyager141-ga on 13 Jun 2006 17:49 PDT
seems like the main wrinkle from anything else I've found ou there is
taking a live mpeg4 stream from another ip address on the net

Request for Question Clarification by welte-ga on 13 Jun 2006 19:40 PDT
Hi again,

I believe that VLC (VideoLan) can perform the task you require and is
free (and open source).  It incorporates multiple other open source
technologies, such as FFMPEG for transcoding.  It also purports to be
able to transcode from nearly any format to any other format
(including h.264 using the open source x264 transcoder) on the fly,
provided that there is enough computational power to not drop frames,
etc.  VLC is highly configurable, so that you could, for example
decrease the frames per second or bitrate to get a smoother stream.  
There are precompiled binaries available for a large number of
platforms, including several flavors of linux and Mac OS X.

Take a look at the (extensive) documentation and let me know if this
would meet your needs.  If so I will post as an answer to your
question.


Streaming instructions (command line):
http://www.videolan.org/doc/streaming-howto/en/ch03.html

VLC Streaming How-To:
http://www.videolan.org/doc/
(Select the version you prefer, HTML, PDF, etc.)

   -welte-ga

Clarification of Question by voyager141-ga on 14 Jun 2006 07:21 PDT
I'll look at the documentation and post back whether it looks like it
will work. It might take me a coupld of days. Have you worked wi th
this software package yourself before?

Request for Question Clarification by welte-ga on 14 Jun 2006 07:34 PDT
I have used this software on a number of occasions with good success. 
It often can read and transcode video and audio formats that other
software (e.g. Quicktime, Windows Media) fail with.  It's also
relatively fast, which is a big plus.  One of the potential drawbacks
is that it has so many features and modifiable parameters that
configuring it can take little time.  On the plus side, you can change
just about anything and can do complex streams (e.g., to multiple IP
addresses plus to a file, etc.).

  -welte-ga

Clarification of Question by voyager141-ga on 15 Jun 2006 06:54 PDT
I've done some reading and it looks like this might just work. Would
you (welte-ga) be available for questions when I get to the
implementation stage? Installling the software and getting it working
doesn't seem to be too much of a problem, we might waste a lot of time
on configuration and performance details unless we had some help from
someone who has done it before.

Request for Question Clarification by welte-ga on 15 Jun 2006 08:24 PDT
I'm available for help.  I haven't done exactly what you're planning
to do, but I'm certainly willing to help you through the process. 
I'll wait until you have things running to your satisfaction before
posting as an official Answer to your question.

     -welte-ga

Clarification of Question by voyager141-ga on 16 Jun 2006 16:45 PDT
ok. Do you have an email address so we can communicate directly?
instead of through this web form? My first question is this: what kind
of server do you think I'll need to be able to re-encode and
distribute two webcam (Axis 210) feeds to about a dozen clients via
H.264? I saw something in the documentation that mentioned doing
things live on the fly took a lot of horsepower.

Request for Question Clarification by welte-ga on 16 Jun 2006 18:31 PDT
Hi, Unfortunately we are not permitted to communicate outside this
context.  Also, the notification system has been broken for a while
now, so that researchers don't get notification of a posting (e.g.,
question clarifications, requests for clarifications, comments, etc.).

I would first take a quick look at the VLC streaming page:
http://www.videolan.org/streaming/

You might also try posting your question to the VLC linux or streaming
forum.  I can give you some suggestions, but others in the VLC
community have likely done something similar and can give you more
direct advice.  Here are the Linux (mostly dealing with the VLC
player, rather than the streaming functionality)
and Streaming VLC forums:

Linux:
http://forum.videolan.org/viewforum.php?f=13

Streaming:
http://forum.videolan.org/viewforum.php?f=4

My own advice would be to get the fastest Linux or Mac OS X machine
you can afford with plenty of memory (2GB or more).  As you say,
transcoding on-the-fly and streaming are very CPU intensive.  Some
folks have mentioned that multiplex streaming also chokes the
bandwidth quickly as compared to uniplex streaming.  One option to
take some load off the CPU would be to install a Linux compatible
graphics card onto which you could off-load the conversion process. 
Here is one of the only cards out there that seems to fit this
description:

http://www.dspr.com/www/products/video/compression/pci_encoder/4_channel_h264_pci_encoder.htm

Another option would be to use a PCI-express card in a high end Mac OS
X machine along with some software to handle the streaming, such as
VLC or WireCast.  WireCast may require less configuration and
automatically takes advantage of multiple CPU's and graphics cards
that support OpenGL acceleration (nearly all of them now).

Here's WireCast's site:
http://www.varasoftware.com/products/wirecast/

Perhaps a more robust solution would be to use Mac OS X Server with
the built-in Quicktime streaming server software:
http://www.apple.com/quicktime/streamingserver/

What are your bandwidth limitations and time frame for getting things
up and running?  Will this be an episodic broadcast or continuous?

   -welte-ga

Clarification of Question by voyager141-ga on 27 Jun 2006 16:57 PDT
Sorry for not posting for so long. Been burried. I will try to respond
to this thread further tomorrow.

Clarification of Question by voyager141-ga on 28 Jun 2006 17:27 PDT
OK, I have a few minutes and will try and explain what we are trying
to do. I'm working on implementing a poor man's video conferencing
solution.

This involves two webcams (Axis 210) in a board room that's properly
configured to pick up individuals around a squarish table. We're
bringing in remotely 2-3 individuals.

Each remote individual needs to have a feed from each webcam, which
they put side-by-side to get a panoramic view. They in turn broadcast
via a small webcam their immage, which is displayed on a large screen
in the board room on one end of the table life size.

Audio is done over the phone system through audio conferencing. We've
tried it and it all works great. However the video streams out of the
webcams are somewhat bandwidth intensive, and I was wishing to
re-encode them on the fly, so that when the image leaves our network
for the remote folks it doesn't hog so much bandwidth

So I'm looking to configure a server to pull the video off of the
webcam, and re-broadcast it H.264 encoded hopefully at a lower
bandwidth. With rock-solid audio, we can live with 10 frames per
second or so on the video.

Hopefully that answers your question. I have a dual cpu dell server
with about 2 GB of ram coming. Do you think that will do the trick?

Request for Question Clarification by welte-ga on 01 Jul 2006 12:14 PDT
Do you have a feel for the various bandwidths involved (up and
downstream)?  This might be the limiting factor.

Another option, although it would require scrapping parts of your
current plan, would be to use iChat and iMacs.  iChat has built-in
H.264 compression.  For this option, Apple states that the host must
have 384Kbps up and downstream bandwidth.  Participants need 100Kbps
up and downstream bandwidth.  Here's a promo page on this approach:
http://www.apple.com/macosx/features/ichat/

Here's a video on using iChat (requires Quicktime):
http://www.apple.com/macosx/theater/ichat.html


 -welte-ga

Clarification of Question by voyager141-ga on 03 Jul 2006 09:23 PDT
We're actually quite familiar with iChat, and already use it for
ad-hock conferencing. However it breaks down a bit when we have
multiple people in one room, and 2-3 individuals off-site. This is why
we have gone to the topology discussed.

I really want to be able to transcode (if that's the proper use of the
term) the MPEG4 stream on the fly and have the 2-3 remote people pull
the video stream off the server as a H.264 stream of some sort. Seems
we aught to be able to compress the video some by re-encoding it.

Are you not thinking this is doable with VLC?

Clarification of Question by voyager141-ga on 03 Jul 2006 09:28 PDT
As far as bandwidth is concerned, it all depends on the image size and
frame rate. You can get a feel for the native bandwidth requirements
out of the cameras by playing with a little calculator on the axis
website here: http://www.axis.com/products/video/design_tool/Calculator.htm

I'd like to get a frame rate of about 10 fps if I can at a higher
resolution. But I'm guessing some experimentation will need to be
done.

Request for Question Clarification by welte-ga on 04 Jul 2006 14:52 PDT
I think this is doable with VLC - just wanted to give you as many
options as possible.  I'm a little worried that if you're experiencing
breakdown with iChat, then you may have similar problems with other
solutions.  Do you think the breakdown with iChat is related to
bandwidth or computing power?

What kind of bandwidth do you have available at the various point
where you'll be receiving and transmitting from (both up and download
speeds)?

You can test your bandwidth using this tool from CNet:
http://reviews.cnet.com/7004-7254_7-0.html

Make sure you stop any other programs that are using your bandwidth
(e.g. file sharing programs, etc.) before running the test.

  -welte-ga

Request for Question Clarification by welte-ga on 11 Jul 2006 17:26 PDT
Hi again,

Your question will expire tomorrow.  I'm not sure if you can extend
the expiration date or repost it until resolved.

    -welte-ga
Answer  
There is no answer at this time.

Comments  
Subject: Re: streaming video
From: iamdeux-ga on 03 Jul 2006 14:21 PDT
 
For streaming video you can use:

ULiveServer and UMediaServer
(<a href="http://www.umediaserver.net/install.html"
target="_blank">http://www.umediaserver.net/install.html</a>),

Windows Media Encoder
(<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=5691BA02-E496-465A-BBA9-B2F1182CDF24&displaylang=en"
target="_blank">microsoft download center</a>)

or Shoucast
(<a href="http://en.wikipedia.org/wiki/Shoutcast"
target="_blank">http://en.wikipedia.org/wiki/Shoutcast</a>)
Subject: Re: streaming video
From: iamdeux-ga on 03 Jul 2006 14:22 PDT
 
For streaming video you can use:

ULiveServer and UMediaServer
(http://www.umediaserver.net/install.html)

Windows Media Encoder
(http://www.microsoft.com/downloads/details.aspx?FamilyID=5691BA02-E496-465A-BBA9-B2F1182CDF24&displaylang=en)

or Shoucast
(http://en.wikipedia.org/wiki/Shoutcast)

It`s most popular and simple way to stream your video & audio.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy