C++ QT多媒体,H264电影的黑屏

C++ QT多媒体,H264电影的黑屏,c++,qt,h.264,multimedia,C++,Qt,H.264,Multimedia,我试图用QT多媒体框架(5.0.1)播放一部电影,但我只得到一个带有H.264编码的电影的黑屏 intmain(intargc,char*argv[]) { 质量保证申请a(argc、argv); QWidget*mainWidget=新的QWidget(); mainWidget->setGeometry(0,01202080); QVideoWidget*widget=新的QVideoWidget(mainWidget); 小部件->设置几何体(0、0、1920、1080); QMediaP

我试图用QT多媒体框架(5.0.1)播放一部电影,但我只得到一个带有H.264编码的电影的黑屏

intmain(intargc,char*argv[])
{
质量保证申请a(argc、argv);
QWidget*mainWidget=新的QWidget();
mainWidget->setGeometry(0,01202080);
QVideoWidget*widget=新的QVideoWidget(mainWidget);
小部件->设置几何体(0、0、1920、1080);
QMediaPlayer*player=新的QMediaPlayer;
QUrl localUrl=QUrl::fromLocalFile(“test_mov.mov”);
播放器->设置媒体(本地URL);
qDebug()show();
player->play();
返回a.exec();
}
代码正确编译并在控制台上提供以下输出,而视频小部件保持黑色:

播放器错误状态->QMediaPlayer::无错误
媒体支持状态->1//表示“可能支持”

我在MacOSX10.7.5上使用Qt5.0.1。播放器正确播放该文件,ffmpeg-i test_mov.mov给出

持续时间:00:00:02.52,开始时间:0.000000,比特率:63708 kb/s 流#0:0(英文):视频:h264(主)(avc1/0x31637661),yuv420p,1920x1080,63684kb/s,SAR 1745:1920 DAR 349:216,25fps,25tbr,25tbn,50tbc

有人知道QT多媒体支持什么格式吗


谢谢

在Windows中,QT视频文件格式通常以.mov文件扩展名显示。
QuickTime本机(在不同程度上)支持的其他文件格式包括AIFF、WAV、DV、MP3和MPEG-1。

您正在检查对“视频/mov”的支持,并且“可能受支持”。然而,这只是容器。查看是否可以检查H.264视频编解码器支持。这可能更为棘手。使用h264编码的mp4,将“video/mov”更改为“video/h264”,并将文件本身更改为相同的结果(可能受支持)。命令行实用程序文件返回:“file test_h264.mp4”->“test_h264.mp4:ISO媒体,MPEG v4系统,版本2”关于“file”命令:它无法深入到MOV/mp4文件中以确定编解码器。回到主题上来,我不知道我们是否已经确定Qt多媒体框架是否可以在Mac OS X平台上访问系统H.264解码器。也许还有其他的组件需要到位才能成功。我成功地将平台从OSX切换到了Windows。可能是编解码器的问题,正如多媒体迈克之前所说