HTML中input关联video场景下,应支持哪些安全音视频格式?
HTML Video元素支持的安全音视频格式及兼容性
核心跨浏览器兼容格式
你提到的mp4(H.264视频+AAC音频)、webm(VP8/VP9视频+Vorbis/Opus音频)、ogg(Theora视频+Vorbis音频)是所有现代浏览器都稳定支持的格式,完全可以安全使用,不存在兼容性障碍。
其他可支持但兼容性有限的格式
除了上面的核心格式,部分浏览器还支持以下格式,但适用场景有限:
mov:基于QuickTime容器,Safari全兼容,Chrome、Firefox仅支持H.264/AAC编码的mov文件mkv:Chrome、Firefox支持部分主流编码的mkv(如H.264/VP9),但Safari完全不兼容avi:仅少数浏览器支持特定编码的AVI文件,兼容性极差,不推荐使用flv:属于淘汰格式,仅Chrome等个别浏览器支持,不建议采用
关于video/*, audio/*的使用
可以直接给input元素设置accept="video/*, audio/*",这样文件选择器会默认只显示音视频文件。但要注意两点:
- 这只是前端层面的筛选,用户仍能手动选择“所有文件”上传非音视频内容,所以后端必须做格式校验
- 即使是音视频文件,也可能因为编码不被浏览器支持而无法播放,前端可以通过
videoElement.canPlayType(fileType)方法提前检测兼容性
各格式浏览器兼容性概览
| 格式 | Chrome | Firefox | Safari | Edge |
|---|---|---|---|---|
| mp4 | ✅ | ✅ | ✅ | ✅ |
| webm | ✅ | ✅ | ✅(仅macOS/iOS 14.1及以上) | ✅ |
| ogg | ✅ | ✅ | ❌ | ✅ |
| mov | ✅(仅H.264/AAC编码) | ✅(仅H.264/AAC编码) | ✅ | ✅(仅H.264/AAC编码) |
| mkv | ✅(支持主流编码) | ✅(支持主流编码) | ❌ | ✅(支持主流编码) |
内容的提问来源于stack exchange,提问作者noname
相关产品推荐
相关产品推荐

