您的位置:首页 > 运维架构 > 网站架构

网站视频技术笔记

2015-10-16 11:18 513 查看
所谓视频 和 视频格式

我们平时看的视频文件格式:mp4/rmvb/mkv/avi其实是一个容器。

这个容器中装的东西分为两大类:音频和视频。对于视频这部分,它包含的编码格式有:H264/H265/VP8/VC1等。
对于音频这个部分,它包含的编码格式有:AAC/MP3/mid等。

所以说,我们平常笼统说的【视频格式】其实包含了三个部分:视频编码,音频编码,容器格式。

视频编码成MP4或其他格式,就是将视频图像转换成为二进制数据的过程。视频播放也就是视频解码就是将二进制数据转化成图像的过程。音频编码也是一样的。

那么我们看一个视频文件的时候,能同时看到声音和图像,就说明我们至少同时存在视频编码和音频编码两组数据。那么这两组数据是按照什么规则组织起来的呢?这就要看【容器格式】的规定了。容器里面存放的数据可能采用多种不同的编码方式。比如avi文件存放的通常是xvid或者divx编码的视频和mp3编码的音频。rmvb 文件里面存放的通常是 RV40 编码的视频和 cook 编码的音频。mp4 文件里面通常存放的是 H.264 编码的视频和 AAC
编码的音频。mkv 文件里面存放的则可能包含前面各种。

H264-- MP4的视频编码格式

H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式。H.264是ITU-T以H.26x系列为名称命名的视频编解码技术标准之一。H.264是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)的联合视频组(JVT:joint video team)开发的一个数字视频编码标准。该标准最早来自于ITU-T的称之为H.26L的项目的开发。H.26L这个名称虽然不太常见,但是一直被使用着。H.264是ITU-T以H.26x系列为名称命名的标准之一,AVC是ISO/IEC
MPEG一方的称呼。

HTML5 -- 支持视频播放的html

html5能直接播放视频,但是html并不具备 解码 MP4/OGG的能力,  html需要通过 浏览器自带 视频解码器来进行视频解码。所以会出现不同的浏览器 H5支持的 视频格式不一样的问题。

附:WEBM 由Google提出,是一个开放、免费的媒体文件格式。    

OGG 是完全免费、开放和没有专利限制的。 

但是由于 微软和 苹果公司 有H264的专利,所以 ie 和 safari 只支持MP4。

所有最优的播放模式是 

1)flash 优先,flash播放失败(安卓或 ios),选用H5播放 

2)H5 <vedio>  里面增加2个格式视频播放,作为多浏览器兼容(但是无法兼容低版本浏览器)

FFMEPG --一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。(可用于 hls 的视频切片)

多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。

基于linux 可以做非常强大的 视频处理程序

下面分析一下多媒体中最基本最核心的视频解码过程,平常我们从网上下载一部电影或者一首歌曲,那么相应的多媒体播放器为我们做好了一切工作,我们只用欣赏就ok了。目前几乎所有的主流多媒体播放器都是基于开源多媒体框架ffmpeg来做的,可见ffmpeg的强大。下面是对一个媒体文件进行解码的主要流程:

h264编码文件——>解复用——>解码——>yuy/rgb数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: