使用Qt播放RTP视频流?

Sta*_*ked 8 c++ qt video-streaming gstreamer

我想创建一个Qt小部件,可以播放传入的RTP流,其中视频编码为H264并且不包含音频.

我的实施基本计划如下:

  • 创建一个Phonon MediaSource对象(流类型).
  • 将其与提供数据的QIODevice子类连接
  • 使用以下任一方式获取视频数据:
    • JRTPLIB客户端库
    • GStreamer的 gstrtpbin插件.这个插件负责卸载软件包并解码视频.也许这可以提高Phonon识别数据的几率.

我的环境:

  • Ubuntu 9.10
  • Qt 4.6

我的问题:

  • 我的方法是好的吗?也许我忽略了一个更明显或更简单的解决方案?
  • 我目前遇到此问题:当尝试播放视频流时,MediaObject的状态变为ErrorState,其中包含errorType FatalError.谁能告诉我我做错了什么?

编辑
我找到的一个解决方案是将libVLC与Qt结合使用,我在这个帖子中学到了这个.这是感兴趣的代码示例.我还在寻找基于Phonon的解决方案.
理想情况下,我只需要提供一个SDP文件并完成工作.

Sta*_*ked 3

我能够使用 libVLC 解决方案让它工作。我不能保证这是最好的解决方案,因为我只是停止关注它。

这是libVLC 示例的链接