Linux应用程序将多个传入的音频和视频流捆绑到一个容器文件中?

时间:2009-11-12 20:18:17

标签: video streaming ffmpeg gstreamer vlc

我被指派为当地大学实施视频点播服务。将记录讲座的不同方面(视频,音频,屏幕演员,白板)。在讲座中,所有这些数据流都到达一台Linux服务器。此服务器应将所有这些流转码并捆绑到一个容器(Matroska)文件中。

我的选择似乎是:

  • 编写GStreamer应用程序
  • 使用FFMPEG执行某些操作
  • 用VLC做点什么
  • ...?

过去有没有人做过类似的事情?你能推荐什么吗?

修改
对于那些感兴趣的人,以下是我的一些发现:

  • Matroska不是一个很好的流媒体格式(这是可能的,但这不是它的主要意图)
  • 对于Flash流媒体,您可以使用MPEG4
  • 如果您想将不同的视频组合到一个视频中,其中每个子视频占据整个屏幕的矩形部分,那么此GStreamer script很有用(我在此blog post上找到了它)。
  • 桌面捕获适用于VLC

1 个答案:

答案 0 :(得分:2)

VLC有一个用于配置流捕获的直接GUI(有关这样做的文档via the command line)。我之前使用过流捕获,它非常简单,甚至可以即时转码。

我认为更大的问题是你如何设想同时拥有多个视觉流(视频,屏幕投射和白板)?您是否要将这些手动混合到一个视频中,在该视频中显示屏幕投射然后切换到讲师?如果是这样,您可能需要查看视频编辑器,例如avidemuxKinoa list of more options)。

就个人而言,我会进行设置,以便VLC将您的主要视频和音频捕获到单个MKV文件中。我会将任何其他视频元素捕捉到单独的文件中。讲座结束后,我会使用avidemux手动拼接主视频以包含其他视频元素,例如屏幕截图。