如何在Qt中为RTP有效负载创建视频数据包



我目前正在尝试使用Qt实现RTSP/RTP服务器。我想从视频文件中读取QByteArray,以便将其分成片段并添加为RTP包的有效载荷。这是正确的方法吗?如果是,将媒体文件(如"movie.3gp")读取到QByteArray中的代码是什么?

我过去在Qt 3.3中就这样做过。如果我没记错的话,那时我使用ffmpeg来压缩来自相机和实时库的流以生成RTSP/RTP流。基本上就像你说的,将每一帧加载到QByteArray中并将其移动到live API中。

现在Qt有Phonon和qtmultimedia模块,可能可以直接读取文件,但要使用它,看起来你必须创建一个视频接收器来实现流。应该是可能的,创建一个声子插件,也许使用live。

不幸的是,据我所知,你不能使用当前的API(4.8.0)从声子源访问QVideoFrame。因此,要么像我过去那样使用其他库,要么创建一个新的声子插件,这似乎是唯一的两种方法来完成它。

最新更新