为什么录制的MP4视频在本地可以播放但是使用html5的video多媒体播放标签不能正常播放只有一个进度条而不显示图像?其实就是一个视频编码的问题,格式虽然都是MP4但是html中只支持H.264的编码格式,无奈只能重新转换一下编码了。
为了避免大家遇到同样的问题我在这里就给大家普及一下html5关于<video>
标签的知识吧:在使用html4协议做网站时我们想要在网页上播放一个视频要不使用flash去播放,要么就是嵌入式页面来实现,对于html5来说这两种方法非常的不方便因为一个牛逼哄哄的<video>
出现了,这个标签的功能就是让多媒体文件可以很方便的在网页中播放。
代码虽然少了很多,但是功能却很健全,这就是html5的亮点之一吧!
关于<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的支持不太好,当用户用这些浏览器打开我们带有视频的网页怎么办呢?
我们可以把代码这样写:
这样在不支持html5的浏览器中就会提示“您的浏览器不支持播放该视频!”啦!
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
关于<video>标签我就介绍到这里,相信大家都对这个标签有了深刻的了解!
【推荐课程:Html5视频教程】
以上是解决H5网页中用video标签无法播放MP4视频的方法的详细内容。更多信息请关注PHP中文网其他相关文章!