将多个传入音频和视频流捆绑到一个容器文件中的 Linux 应用程序?
我被指派为当地一所大学实施视频点播服务。讲座的不同方面(视频、音频、屏幕投射、白板)将被记录。在讲座期间,所有这些数据流都到达一台 Linux 服务器。该服务器应将所有这些流转码并捆绑到一个容器 (Matroska) 文件中。
我的选择似乎是:
- 编写一个 GStreamer 应用程序
- 用 FFMPEG 做一些事情
- 用 VLC 做一些事情
- ......?
过去有人做过类似的事情吗?你能推荐一些东西吗?
编辑
对于那些感兴趣的人,以下是我的一些发现:
- Matroska 不是一种好的流媒体格式(这是可能的,但这不是其主要目的)
- 对于 Flash 流媒体,您可以使用 MPEG4
- 如果您想将不同的视频组合成一个视频,其中每个视频子视频占据整个屏幕的矩形部分,那么这个 GStreamer 脚本 很有用(我在这个博客文章)。
- 桌面捕捉与 VLC 配合良好
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
VLC 有一个直接的 GUI 用于配置流捕获(有关执行此操作的文档 via命令行)。我以前使用过流捕获,它非常简单,甚至可以即时转码。
我认为更大的问题是您如何设想同时拥有多个视觉流(视频、屏幕投射和白板)?您是否要手动将这些内容混合到视频中,在视频中显示屏幕截图,然后切换到讲师?如果是这样,您可能需要查看视频编辑器,例如 avidemux 或 Kino (更多选项列表)。
就我个人而言,我会进行设置,以便 VLC 将您的主要视频和音频捕获到单个 MKV 文件中。我会同时将任何其他视频元素捕获到单独的文件中。讲座结束后,我将使用 avidemux 手动拼接主视频以包含其他视频元素,例如屏幕截图。
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.