我需要创建一个视频服务器客户端,服务器以块的形式发送视频数据,客户端必须接收它们并显示它们。不像我做过的任何项目,我的脑海中没有主要结构,因为我找不到用于显示视频的api或模块,这些视频可以分块。要显示的所有文件都是matroska .mkv
。我一直在寻找,但我能找到的只是kivy,它确实提供视频显示,但它需要整个视频,而gstreamer也有同样的缺点。任何人都可以指出我可以依赖的视频显示模块吗?
提前致谢
答案 0 :(得分:2)
除非您是出于学习目的而自行制作,否则如果可能的话,在视频流和播放复杂的情况下构建现有作品将会容易得多。
对于以“块”形式传输文件,您只需将其作为静态资源从支持字节范围请求的HTTP服务器服务 - 这允许客户端请求一系列字节而不是整个视频文件,因此它可以大块下载它。
在浏览器中使用此常规HTML5视频标记将适用于大多数视频格式 - 视频标记背后的浏览器智能将知道检查服务器是否支持字节范围请求以及是否支持使用它们。 / p>
如果你想要一个更复杂的视频流,例如自适应比特率,根据网络条件请求不同的比特率块,那么你可能想看一个特殊用途的流媒体服务器,如Streamer或VideoLan:
在客户端,开源dash.js参考应用程序将为您提供一个使用HTML5媒体源扩展的好例子,允许客户端请求块,然后将它们构建回视频中播放(这使用MPEG DASH作为流媒体协议,正在成为行业标准。)
如果您确实想要使用DASH路线,那么下面的链接上有一篇很好的博客文章,其中介绍了使用开源MP4Box工具准备mkv文件进行流式传输的步骤:
答案 1 :(得分:0)
在视频在小部件中播放时,u实际上可以打开文件并保持以字节为单位追加数据