[gst-devel] Live Video Stream Mixer

Stefan Kost ensonic at hora-obscura.de
Tue Oct 27 21:44:29 CET 2009

Nick Daniels schrieb:
> Hi all,
> I'm a final year Engineering undergraduate and have decided to spend my
> final year project designing and building an open source software suite
> which will hopefully allow for the cheap production of
> professional-style live internet TV broadcasts using consumer hardware.
> I intend to use GStreamer as the main framework to help build the
> software and was hoping I may be able to get some advice from you guys
> about whether the idea is actually feasible with GStreamer.
> Here's a bit more detail: The idea is that input from consumer video
> cameras will be transcoded and streamed live via LAN/internet to a
> central "production server". The main aim of my project is to write the
> video mixer software for this "production server" that will allow for
> multiple video streams (with audio) to be cut/mixed together live into a
> single stream that will be output as an internet TV channel. In the
> future I intend to extend this to allow overlay of 2D and 3D moving
> graphics (such as tickers, logos etc.), allow video fades, wipes etc.
> between streams and for playback of local video files for mixing into
> the content (for VTs, ad breaks etc.). I hope it will eventually become
> an open source software version of a live video mixer/effects, opening
> up live TV production to the masses with little cost involved!

This is quite a project. Not sure if it fits a final year project. I am not a
video expert, but answer as no one else did so far.

> So the technical issues - (and apologies if the q's seem obvious...I'm a
> bit of a novice with audio/video software development!)
> 1) Is live mixing of video streams going to be possible using the
> GStreamer framework and are there any suggestions on how I should look
> into implementing this? Can I simply cut between pipeline frames once
> the video has been decoded?

There is a videomixer element that works on raw video. So you have to decode the
video anyway. Wheter you can cut on arbitrary positions depends at bit on the
container format and codec. Try it and file bugs where it does not work.

> 2) Are fades/wipes and motion graphics overlays going to be possible
> without using things like OpenGL (or similar) to display the video and
> then capture the frames back into a new pipeline (like screen capturing)?

Everything is possible. It might be slow though. we have a couple of fades and
wipes. Overlays are just mixing another stream. It does not matter too much
wheter its animated or not.

> 3) Low latency is desirable, how powerful a PC would be required for
> this decoding, mixing and recoding multiple low-res live video streams
> and is there any graphics hardware acceleration available with GStreamer
> using CUDA, OpenCL or similar?

There is not opencl for linux as far as I know. Besides all the gfx accelerated
video stuff is quite new on linux, as hardware vendors are not really supportive

> 4) In your opinions is this something that would be worth setting up as
> an open source project in the future once I have done the ground work?

Sure, sounds like fun. I see some overlap with flumotion though.


> Many thanks in advance for any help and feedback!
> Nick
> ------------------------------------------------------------------------
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay 
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> ------------------------------------------------------------------------
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

More information about the gstreamer-devel mailing list