在这个网站上进行了激烈的搜索后,我发现什么都不适合 我的问题。我想写一个小型视频流客户端 一个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中使用了一个小玩家 它播放视频(但具有高延迟,因此对我没用)
我用完了可以改变的选项以使其运行。
答案 0 :(得分:0)
我认为问题是Android设备do not support默认为QuickTime格式(MOV
)。
另一方面的VLC媒体播放器,is well-known能够正确播放MOV
个视频。
尝试使用其他格式测试视频,例如MP4
或WebM
,以了解该计划的行为方式。
我曾在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/)