我想创建一个可以播放传入RTP流的Qt小部件,其中视频编码为H264并且不包含音频。
我的实施基本计划是:
我的环境:
我的问题:
修改的
我找到的一个解决方案是将libVLC与Qt结合使用,我在此thread中了解到了这一点。这是感兴趣的code sample。
我还在寻找基于Phonon的解决方案。
理想情况下,我只需提供一个SDP文件即可完成工作。
答案 0 :(得分:3)
我能够使用libVLC解决方案让它工作。我不能保证这是最佳解决方案,尽管我只是停止照顾它。
答案 1 :(得分:2)
我理解Phonon至少在Windows中工作的方式是QT为你的案例中的DirectShow(\ plugins \ phonon_backend \ phonon_ds94.dll)和GStreamer提供了一个声子后端插件。然后,您将获得或编写自己的DirectShow过滤器,该过滤器可以接受RTP流作为源。 DirectShow负责解码,Phonon负责渲染。
因此,如果后端工作,应用程序代码就像:
一样简单 Phonon::MediaObject *media = new Phonon::MediaObject();
Phonon::VideoWidget *video = new Phonon::VideoWidget();
Phonon::createPath(media, video);
media->setCurrentSource(source);
media->play();
似乎问题在于GStreamer后端接受RTP作为源。你可以在没有任何问题的情况下在独立的GStreamer中播放该源吗?