如何使用pyglet播放视频流?(mpeg-ts通过http或rtmp h.264编码)
我想做一个软件,可以同时显示两个视频流的画中画效果(PIP)。我想知道,pyglet这个库是不是只能播放文件来源的视频。
也许我选择的库(pyglet)不太合适,请推荐一个更适合我目标的库。
如果你能推荐一些关于生成视频流的书籍或文章,我也会非常感激。
谢谢!
1 个回答
2
Pyglet可以播放视频,但正如你所说的,它似乎不支持视频流播放。如果你想做这种程序,推荐使用一个更流行的库——GStreamer。这个库功能更强大,还可以通过插件扩展。这是它的维基百科页面,这是它的官方网站。如果你查看功能页面,你会看到以下内容:
- 容器格式:asf, avi, 3gp/mp4/mov, flv, mpeg-ps/ts, mkv/webm, mxf, ogg
- 流媒体:http, mms, rtsp
- 编解码器:FFmpeg,各种编解码库,第三方编解码包
- 元数据:本地容器格式之间的通用映射
- 视频:支持多种色彩空间,支持逐行和隔行视频
- 音频:支持多种位深和多声道配置的整数和浮点音频
所以,这看起来非常适合你想做的事情(我认为加粗的要点是你最感兴趣的部分)。
幸运的是,GStreamer有Python的绑定。
我还发现了另一个库,你可以用它来处理编码和其他底层的部分,叫做PyMedia。也许这对你也有帮助。不过要注意,你并不一定需要使用它,因为GStreamer可以完成PyMedia能做的所有事情。我只是提到它,以防你想看看,或许将来会用到。
祝你好运。