前言
在开发项目的时候,遇到桌面端录屏的视频MP4无法在小程序及web端播放,调研后发现虽然同是MP4但是视频的编码格式不一样,所以依然不支持播放,以下做一个记录
视频用格式工厂转换之后,上传无法用video播放。或者播放只有声音,视频画面是黑色的。
- video标签支持的格式
<video>标签所支持的视频格式和编码:
MP4 = MPEG 4文件使用 H264 视频编解码器和AAC音频编解码器
WebM = WebM 文件使用 VP8 视频编解码器和 Vorbis 音频编解码器
Ogg = Ogg 文件使用 Theora 视频编解码器和 Vorbis音频编解码器
通过上面的信息我们会发现只有h264编码的MP4视频(MPEG-LA公司)、VP8编码的webm格式的视频(Google公司)和Theora编码的ogg格式的视频(iTouch开发)可以支持html5的标签。
如果浏览器不支持video标签怎么办? 比如IE浏览器还有老版本的浏览器对html5的支持不太好,当用户用这些浏览器打开我们带有视频的网页怎么办呢?
我们可以把代码这样写:
<video src="http://www.hcses.com/xuanchuan.mp4" controls="controls" width="500" height="300">您的浏览器不支持播放该视频!</video>
这样在不支持html5的浏览器中就会提示“您的浏览器不支持播放该视频!”啦!
-
关于video标签的扩展参数说明
video元素允许多个source元素。source元素可以链接不同的视频文件。浏览器将使用第一个可识别的格式,这样我们只要多准备几个不同格式的视频就可以了。 -
用法:
autoplay :出现该属性意味着视频在就绪后将自动播放,用法:autoplay="autoplay"
controls :出现该属性意味着向用户显示控件,如播放按钮等,用法:controls="controls"
height:设置高度
width:设置宽度
loop:自动重播,用法:loop="loop"
preload:视频在页面加载时进行加载并预备播放,用法:preload="auto" - 当页面加载后载入整个视频
preload="meta" - 当页面加载后只载入元数据
preload="none" - 当页面加载后不载入视频。注意:若使用了autoplay,则忽略preload
src:要播放视频的url