views:

344

answers:

2

I've been assigned to implement a video on-demand service for a local university. Different aspects of the lectures (video, audio, screen cast, white board) will be recorded. During a lecture all these data streams arrive at one Linux server. This server should transcode and bundle all these streams into one container (Matroska) file.

My options seem to be:

  • Write a GStreamer application
  • do something with FFMPEG
  • do something with VLC
  • ...?

Has anyone done something similar in the past? Can you recommend something?

Edit
For those interested, here are a few of my findings:

  • Matroska is not a good format for streaming (it's possible, but it's not its primary intent)
  • For Flash streaming you can use MPEG4
  • If you want to combine different videos into one video where each subvideo occupies a rectangular portion of the total screen, then this GStreamer script is useful (I found it on this blog post).
  • Desktop capture works fine with VLC
+2  A: 

VLC has a straight forward GUI for configure stream capturing (docs on doing it via the command line). I've used the stream capture before and it is super easy, even transcoding on the fly.

I think the bigger question is how do you envision having multiple visual streams (video, screen cast, and white board) simultaneously? Are you going to manually mix these into a video in which you show the screen cast then cut to the lecturer? If so, you might want to look into a video editor like avidemux or Kino (a list of more options).

Personally, I would set it up so that VLC captures your primary video and audio into a single MKV file. I would simetaneously capture any other video elements into separate files. Once the lecture is over, I would use avidemux to manually splice the primary video to include those other video elements, such as screen shots.

John Paulett
A: 

You can do this with Gstreamer Pipelines. I blogged about that recently (in German, but you should be able to deduce the correct pipeline from the examples).

erlehmann