视频容器与编解码器的区别
这基本是一个老生常谈的东西了,但是我仍然是看了很多资料,加上一点点理解才完全明白了其中的差别所在。
这就像上学时的考试大纲,这种东西要求是识记类型的,没有技术门槛,但是只有你把东西都记住之后,才完全知道书上再说什么。
一,容器的概念
什么叫容器,从字面的含义来说,能放东西的东西,就叫容器。
打个比方就像桶,可以装水,可以装油,可以装硫酸,等等。
一部电影,不可能只有图像,还有声音,可能还会有字幕,还会有文件作者,加密信息等等。但是我们又不能把这些东西单独存放,这样太麻烦了。所以发明这样一个“桶”,把图像,声音,字幕等等的东西,一股脑放到一个地方,这个“桶”就叫视频的容器。ps:又叫封装格式。
一般来说,文件的拓展名就是容器名。比如.avi,.mp4,.flv,.mkv等,就是不同的容器。
二,编解码器的概念
通常来说,图像信息和声音都很大,如果不压缩存放,空间浪费太严重,而且也不利传输。
为了解决这个问题,人们发明了编码器,说白了,就是用来压缩这些信息的。
不同的编码方式,就是不同的编码器。例如mpeg-1,mpeg-2,mpeg-4,h.264,以及还是草按的h.265
这个东西之所以有很多种类,多半的原因就是各个大厂商为了保护自己的利益,定义一些标准,然后推广,就可以坐吃专利,一本万利,何乐而不为?
三,常见的容器类型介绍
不准备写太详细,大多数东西只是做一个提示,可以参考维基百科的介绍,写得太多反而会使人迷糊,只写自己知道的,详细的可以参考资料,只是做一个提纲挈领的东西。
- avi:(audio video interleave),是微软在1992年推出的一种多媒体文件格式, 比较老了,对目前的基于网络流播放的方式力不从心。
- mp4:标准规范是ISO/IEC 14496-14,由mpeg组织规定。youtube的视频很多是这种封装格式。
- mkv:一种由开源组织规定的容器类型,链接是http://www.matroska.org/,现在的高清电影一般都采用这个格式。
- ts:同样由mpeg组织规定,一般用于数字电视广播中,平时从网络下载来的电影很少用这种格式封装的。标准是13818-1
- rmvb/rm:这是一个由商业公司(RealNetworks)自己定义的,网络比较流行,标准不公开,所以播放这种视频只能用专利播放器。
- wmv:不多说了,微软定义的封装格式。
- flv:视频网站类似优酷,土豆等,都用这个容器来存储视频,很好的保护原始地址,不容易被下载到,从而起到保护版权的作用。由adobe公司开发。
其他的比如3gp,asf,webm,不一一介绍了。
如果想了解更多。
http://zh.wikipedia.org/wiki/MPEG-1,这个链接下面有个表格,里面的东西非常全面。
四,常见编码格式
- mpeg-1:mpeg组织最早规定的视频编码格式,标准是iso-11117,主要是vcd在用。
- mpeg-2:mpeg组织规定的压缩标准之二,主要用于DVD,数字电视广播(DVD),标准是iso-13818系列。
- mpeg-4:mpeg组织规定的压缩标准之三,这里有不少东西要交待,这三个标准其实是随着计算机运算能力越来越强而逐渐产生的,所以压缩的视频质量越来越好,但是算法复杂度却越来越高, 不过计算机能力越来越强,这都不算大问题了。有一个有意思的事就是,为什么没有mpeg-3呢?其实原本是有mpeg-3的,但是mpeg组织在写标准时发现,mpeg-2实在太优秀的,mpeg-3推出的目标,他都能做到,所以就这个项目砍掉了。所以mpeg系统的标准,从1,2,4,就直接到了7,就是一个权衡。mpeg组织内部有两派,一是按1,2,3,4,5这样来。另外一批人觉得,1,2,4,后面按道理怎么也是8啊。折中一下,就是mpeg-7了。ps:mp3是指mpeg-1音频压缩的layer 3.
- h264/avc/mpeg-4 part 10:大名鼎鼎的264。由mpeg和itu-t联手组成了一个叫JVT(Joint Video Team)的组织制定的。这个东西容易使人迷糊,因为他得名子太多了。又叫mpeg-4 part 10,又叫avc,又叫h264,而且实际上,基本就是一个东西的不同名子。
- vc-1:微软定义的压缩标准,不过后来开放出来了,由电影及电视学会(SMPTE)组织标准化。
- realvideo:私有标准,木办法,这个东西人家就是私有的,在国内喜欢盗版的地方,大家都不介意,所以市场比较大,其实在北美那边,这种东西,不太多。这里要注意区别,rm/rmvb是容器类似,realvideo是压缩标准。如果说有共同点,那就是:都是由一家公司提供的。呵呵
- avs:最后要说的是,国产标准,没太研究过,不知道到底如何,由国内的联合信源公司开发,提交成国家标准。貌似广电总局已经强制机顶盒一定要支持这种压缩格式,以强推这种标准。就像tds-cdma,wapi,还有移动数字电视的方式一样,行政压迫。呵呵。不好说前景。
转载地址:
http://blog.csdn.net/iloveyin/article/details/24365707
视频容器与编解码器的区别相关推荐
- 音视频基础概念(3)——音视频编码与音视频容器
这里的编码与第二章节音频中提到的"数字化编码"不是同一个概念,是特指压缩编码. 计算机中,所有数据都是由0和1组成的,音频和视频数据也不例外.由于音视频的数据量庞大,如果按照裸流数 ...
- Docker 入门系列(1)- 初识容器,镜像、容器、仓库的区别
Docker 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发 ...
- Docker映像和容器之间有什么区别?
本文翻译自:What is the difference between a Docker image and a container? When using Docker, we start wit ...
- 视频容器格式与编码格式简介
视频容器格式.编码格式定义 我们知道Windows平台上可以通过后缀标明文件格式,比如.exe, .txt, .mg4等... 过去几年还不流行在线视频的时候,大家可以用迅雷下载到各种格式的视频.可 ...
- 虚拟服务器容器,docker容器和虚拟机的区别
结构方面区别 虚拟机实现资源隔离的方式,是利用Hypervisor虚拟化 而 简单来说,Docker就是利用namespace实现的系统环境的隔离,利用cgroup实现资源限制,利用镜像实现根环境的的 ...
- [react] 展示组件和容器组件有什么区别?
[react] 展示组件和容器组件有什么区别? 展示组件(Presentational Component) 关注页面的展示效果(外观) 内部可以包含展示组件和容器组件,通常会包含一些自己的DOM标记 ...
- docker容器和镜像的区别
学习目标: docker容器和镜像的区别(持续更新) 学习内容: 1.docker容器基本概念与运用 2.docker镜像基本概念与运用 3.docker容器和镜像同点 4.docker容器和镜像异点 ...
- K8S中的pod、services、容器的概念和区别
K8S中的pod.services.容器的概念和区别 k8s的部署架构 kubernetes中有两类资源,分别是master和nodes,master和nodes上跑的服务如下图: 1 kube-ap ...
- 识别有关视频文件的编解码器和技术信息
Have you ever wanted to play an audio or video file but didn't have the proper codec installed? Toda ...
最新文章
- unity3d Sentinel key not found (H0007)解决方法
- 【SharePoint 2010】SharePoint 2010开发方面的课堂中整理有关问题
- Linux中常见命令和单词的缩写全称
- etcd分布式之消息发布与订阅
- VNC CentOS
- foxmail邮件怎样打印日历
- 一个男生写的关于怎么追女生昨天没有说一个很关键的东西
- HTML示例08---CSS3概述
- openGL ES 教程(二):渲染管线
- 嵌入式常见 c语言笔试题
- openCV 下载地址
- tbschedule 前后置处理器、定期执行任务
- 单片机c51语言实训总结,单片机实训报告
- Unity-Spine换装问题
- 结节性硬化症会一直病变吗?结节性硬化最晚多大发病?
- 基于vsftpd搭建ftp服务器
- 【k8s】重启kubelet、查看所有服务
- 科学计算机如何进行复数运算,教你如何用你的卡西欧学生计算器进行复数运算!...
- Pandas中replace替换问题
- CONCATENATE示例
热门文章
- jq 比较两个时间是否在同一天_jq: 属性-class
- 博弈论 —— python
- 用HTML编写教学评估系统,在线教学质量评价系统的设计与实现
- 计算机病毒的危害主要体现于对计算机系统的信息破坏和,2014年中央电大专科信息技术应用理论题.doc...
- mySQL字符串字段区别_MySQL类型之(字符串列类型区分、数据类型区分)
- react项目中的参数解构_重构复杂的React组件:编写高效且可读组件的5个最佳实践...
- object detection训练自己数据
- 【数据库】Mysql日期/时间相关函数汇总
- Tomcat配置解析
- ECharts.js学习(二)动态数据绑定