网站视频技术笔记
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数据
我们平时看的视频文件格式: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数据
相关文章推荐
- 网站用户访问速度监测分析项目,秒掉基调 【转载】
- 诚心推荐一个视频学习网站
- 两款JS脚本判断手机浏览器类型跳转WAP手机网站
- git安装及命令使用和github网站
- (转)iOS应用架构浅谈
- 如何成为优秀的架构师
- 推荐一些C#相关的网站、资源和书籍
- JavaWeb-获取网站访问数量并且获得初始化参数
- iOS应用架构谈 view层的组织和调用方案
- iOS应用架构谈 开篇
- 对于流程优化的处理器架构
- 两款JS脚本判断手机浏览器类型跳转WAP手机网站
- 网站关键词优化--浅析如何6为网站选取关键词
- 如何搭建自己的个人技术博客网站
- 常用技术类网站链接
- 软件、网站测试
- WEB技术之四层架构
- puppet组织架构
- IM服务器的架构
- 网站所有页面都在新窗口打开