简单的Qt视频流应用程序,只有声音,没有视频(白屏)

时间:2017-10-11 11:03:34

标签: android c++ qt video streaming

在这个网站上进行了激烈的搜索后,我发现什么都不适合 我的问题。我想写一个小型视频流客户端 一个Android 5.1设备。使用以下代码:

QApplication a(argc, argv);

QWidget *widget=new QWidget;
widget->resize(320,200);

QMediaPlayer *player=new QMediaPlayer;
QVideoWidget *vw= new QVideoWidget;
QHBoxLayout *layout=new QHBoxLayout;

layout->addWidget(vw);
widget->setLayout(layout);
player->setVideoOutput(vw);
player->setMedia(QUrl("rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"));
player->play();
widget->show();

问题是,声音有效,但我只得到一个白色的屏幕。 声音在播放,但没有视频。

Android设备上的VLC播放器正在播放视频 正确。我还在android studio中使用了一个小玩家 它播放视频(但具有高延迟,因此对我没用)

我用完了可以改变的选项以使其运行。

2 个答案:

答案 0 :(得分:0)

我认为问题是Android设备do not support默认为QuickTime格式(MOV)。

另一方面的VLC媒体播放器,is well-known能够正确播放MOV个视频。

尝试使用其他格式测试视频,例如MP4WebM,以了解该计划的行为方式。

我曾在Qt开发了一个用于流式音频/视频的桌面软件,我很高兴能够使用GStreamer框架。

在众多功能中,您可以将MOV视频转换为其他格式。

您可以查看GStreamer for Android教程和QtGstreamer,这是GSstreamer的一组实施良好的Qt绑定。

答案 1 :(得分:0)

Qt不是媒体友好的,如果你想以跨平台方式播放MOV或h.264 / h.265等特定格式/编解码器,我建议你使用像QtAV这样的外部库({{3} })或VLC Qt包装器(http://www.qtav.org/