You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenCV录制的.avi/.mp4视频可在VLC播放却无法在HTML加载

问题根因

你代码中使用的是MJPG编码生成视频,即使后缀命名为.mp4,实际编码格式为Motion JPEG,该编码不在Chrome <video>标签的原生支持范围内。VLC等本地播放器集成了几乎所有常见编码的解码库,所以可以正常播放。

解决方案

方案1:直接修改录制代码的编码配置

将RecordingThread初始化方法中的fourcc编码参数替换为Chrome支持的H.264/MPEG-4编码即可:

# 原代码
# fourcc = cv2.VideoWriter_fourcc(*'MJPG')
# 替换为以下内容,优先选avc1(H.264编码,web兼容性最优)
fourcc = cv2.VideoWriter_fourcc(*'avc1')
# 如果运行报错,可替换为mp4v(MPEG-4编码,兼容性也满足Chrome要求)
# fourcc = cv2.VideoWriter_fourcc(*'mp4v')

修改后新录制的.mp4文件可直接在Chrome中加载播放。

方案2:对已录制的视频批量转码

如果不想改动原有录制逻辑,可通过FFmpeg工具将现有视频转码为H.264编码的MP4:

ffmpeg -i 原视频路径.mp4 -vcodec libx264 转码后输出路径.mp4
额外排查点

如果修改编码后仍无法加载,检查你的web服务返回视频资源时的Content-Type响应头是否为video/mp4,如果是自定义路由返回视频而非直接访问静态资源,需要手动在响应头中指定该MIME类型。

内容的提问来源于stack exchange,提问作者Deviljee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:24:03