使用QML MediaPlayer播放高帧率视频时出现慢动作问题求助
QML MediaPlayer播放120/240fps视频时呈慢动作(Qt6.3.4)
问题描述
测试Qt Creator内置的Media Player Example时发现,播放帧率高于60fps的视频(如120fps、240fps)时,视频会以慢动作播放,推测播放器要么将帧率识别为60fps,要么未正确识别高帧率。测试环境为Qt6.3.4-Msvc2019-64Bit。
可能的解决方向
- 切换播放后端:Qt MediaPlayer依赖平台后端,Qt6.3.4默认后端对高帧率视频支持有限,可尝试强制使用FFmpeg后端(需确保Qt构建包含FFmpeg支持或引入对应插件):
MediaPlayer { backend: "ffmpeg" // 其他播放配置 } - 手动补偿播放速率:若播放器无法正确识别帧率,可通过
playbackRate属性手动匹配视频实际帧率:
注意:若MediaPlayer { id: player onMediaStatusChanged: { if (mediaStatus === MediaPlayer.LoadedMedia) { const actualFps = player.metaData.videoFrameRate; if (actualFps > 60) { player.playbackRate = actualFps / 60; } } } }videoFrameRate无法读取到正确高帧率值,该方法无效。 - 升级Qt版本:Qt6.3.4为较旧版本,后续LTS版本(如Qt6.5+)大概率修复了高帧率视频的识别与播放问题,建议尝试升级。
- 检查视频编码格式:部分高帧率视频的编码变体(如特殊HEVC格式)可能不被默认后端支持,可转码为H.264格式的高帧率视频后再测试。
内容的提问来源于stack exchange,提问作者Mosi
相关产品推荐
相关产品推荐

