由html5视频播放引发的总结

编程技术  /  houtizong 发布于 3年前   85

前言

 

项目中存在视频播放的功能,前期设计是以flash播放器播放视频的。但是现在由于需要兼容苹果的设备,必须采用html5的方式来播放视频。我就出于兴趣对html5播放视频做了简单的了解,不了解不知道,水真是很深。本文所记录的知识一些浅尝辄止的知识,说起来很惭愧。

 

视频结构

 

本该直接介绍html5的<video>的,但鉴于本人对视频结构的模糊,先简单了解一下:

 

通常我们会以为视频文件就是“AVI文件”、“MP4文件”等,但事实上,“AVI”和“MP4”只是容器的格式。视频容器格式只决定怎么在一个文件中存储视频和音频流,至于存储什么样的内容,与其没有关系,我们可以拿ZIP压缩文件来与之类比。

 

在视频的制作和播放过程中,会涉及到视频编解码器和音频编解码器。这些编解码器都很多,这里只列举相关的。

视频编解码器:H264、Theora和VP8

音频编解码器:MP3、AAC和Vorbis

在我们观看视频时,视频播放器主要做了如下工作:

①解析容器格式以找出可以使用的视频和音频轨道,并分析出它们的存储结构,以便接下来的解码工作。

②对视频流解码,并在屏幕上显示一幅幅的图像。

③对音频流解码,同时给扬声器传输声音信号。

 

为此,我们便对视频的结构有了一个基本的了解,以便于下面说明html5的<video>标签目前的支持情况。

 

html5的<video>

 

html5定义了<video>标签,用于在网页中嵌入视频。示例如下:

<video width="320" height="240" controls>  <source src="movie.mp4" type="video/mp4">  <source src="movie.ogg" type="video/ogg">Your browser does not support the video tag.</video>

 

令人遗憾的是,并不是所有的浏览器都支持或者说是都完全支持<video>标签。主流浏览器的支持情况见下表:

Browser MP4 WebM Ogg
Internet Explorer YES NO NO
Chrome YES YES YES
Firefox

NO(Firefox 21 running on Windows 7,Windows 8,

Windows Vista,and Android now supports MP4)

YES YES
Safari YES NO NO
Opera NO YES YES

MP4 = H264视频编码和AAC音频编码

WebM = VP8视频编码和Vorbis音频编码

Ogg = Theora视频编码和Vorbis音频编码

 

检测您使用的浏览器是否支持html5的<video>,请调用如下javascript代码:

function supports_video() {    return !!document.createElement('video').canPlayType;}

 

检测对于视频格式的支持,请调用如下代码:

function supports_h264_video() {    if (!supports_video()) return false;    var v = document.createElement('video');    return canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"');}

 

 

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客