这基本是一个老生常谈的东西了,但是我仍然是看了很多资料,加上一点点理解才完全明白了其中的差别所在。

这就像上学时的考试大纲,这种东西要求是识记类型的,没有技术门槛,但是只有你把东西都记住之后,才完全知道书上再说什么。

一,容器的概念

什么叫容器,从字面的含义来说,能放东西的东西,就叫容器。

打个比方就像桶,可以装水,可以装油,可以装硫酸,等等。

一部电影,不可能只有图像,还有声音,可能还会有字幕,还会有文件作者,加密信息等等。但是我们又不能把这些东西单独存放,这样太麻烦了。所以发明这样一个“桶”,把图像,声音,字幕等等的东西,一股脑放到一个地方,这个“桶”就叫视频的容器。ps:又叫封装格式。

一般来说,文件的拓展名就是容器名。比如.avi,.mp4,.flv,.mkv等,就是不同的容器。

二,编解码器的概念

通常来说,图像信息和声音都很大,如果不压缩存放,空间浪费太严重,而且也不利传输。

为了解决这个问题,人们发明了编码器,说白了,就是用来压缩这些信息的。

不同的编码方式,就是不同的编码器。例如mpeg-1,mpeg-2,mpeg-4,h.264,以及还是草按的h.265

这个东西之所以有很多种类,多半的原因就是各个大厂商为了保护自己的利益,定义一些标准,然后推广,就可以坐吃专利,一本万利,何乐而不为?

三,常见的容器类型介绍

不准备写太详细,大多数东西只是做一个提示,可以参考维基百科的介绍,写得太多反而会使人迷糊,只写自己知道的,详细的可以参考资料,只是做一个提纲挈领的东西。

  1. avi:(audio video interleave),是微软在1992年推出的一种多媒体文件格式, 比较老了,对目前的基于网络流播放的方式力不从心。
  2. mp4:标准规范是ISO/IEC 14496-14,由mpeg组织规定。youtube的视频很多是这种封装格式。
  3. mkv:一种由开源组织规定的容器类型,链接是http://www.matroska.org/,现在的高清电影一般都采用这个格式。
  4. ts:同样由mpeg组织规定,一般用于数字电视广播中,平时从网络下载来的电影很少用这种格式封装的。标准是13818-1
  5. rmvb/rm:这是一个由商业公司(RealNetworks)自己定义的,网络比较流行,标准不公开,所以播放这种视频只能用专利播放器。
  6. wmv:不多说了,微软定义的封装格式。
  7. flv:视频网站类似优酷,土豆等,都用这个容器来存储视频,很好的保护原始地址,不容易被下载到,从而起到保护版权的作用。由adobe公司开发。

其他的比如3gp,asf,webm,不一一介绍了。

如果想了解更多。

http://zh.wikipedia.org/wiki/MPEG-1,这个链接下面有个表格,里面的东西非常全面。

四,常见编码格式

  1. mpeg-1:mpeg组织最早规定的视频编码格式,标准是iso-11117,主要是vcd在用。
  2. mpeg-2:mpeg组织规定的压缩标准之二,主要用于DVD,数字电视广播(DVD),标准是iso-13818系列。
  3. 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.
  4. h264/avc/mpeg-4 part 10:大名鼎鼎的264。由mpeg和itu-t联手组成了一个叫JVT(Joint Video Team)的组织制定的。这个东西容易使人迷糊,因为他得名子太多了。又叫mpeg-4 part 10,又叫avc,又叫h264,而且实际上,基本就是一个东西的不同名子。
  5. vc-1:微软定义的压缩标准,不过后来开放出来了,由电影及电视学会(SMPTE)组织标准化。
  6. realvideo:私有标准,木办法,这个东西人家就是私有的,在国内喜欢盗版的地方,大家都不介意,所以市场比较大,其实在北美那边,这种东西,不太多。这里要注意区别,rm/rmvb是容器类似,realvideo是压缩标准。如果说有共同点,那就是:都是由一家公司提供的。呵呵
  7. avs:最后要说的是,国产标准,没太研究过,不知道到底如何,由国内的联合信源公司开发,提交成国家标准。貌似广电总局已经强制机顶盒一定要支持这种压缩格式,以强推这种标准。就像tds-cdma,wapi,还有移动数字电视的方式一样,行政压迫。呵呵。不好说前景。

转载地址:

http://blog.csdn.net/iloveyin/article/details/24365707

视频容器与编解码器的区别相关推荐

  1. 音视频基础概念(3)——音视频编码与音视频容器

    这里的编码与第二章节音频中提到的"数字化编码"不是同一个概念,是特指压缩编码. 计算机中,所有数据都是由0和1组成的,音频和视频数据也不例外.由于音视频的数据量庞大,如果按照裸流数 ...

  2. Docker 入门系列(1)- 初识容器,镜像、容器、仓库的区别

    Docker 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发 ...

  3. Docker映像和容器之间有什么区别?

    本文翻译自:What is the difference between a Docker image and a container? When using Docker, we start wit ...

  4. 视频容器格式与编码格式简介

    视频容器格式.编码格式定义 我们知道Windows平台上可以通过后缀标明文件格式,比如.exe,  .txt, .mg4等... 过去几年还不流行在线视频的时候,大家可以用迅雷下载到各种格式的视频.可 ...

  5. 虚拟服务器容器,docker容器和虚拟机的区别

    结构方面区别 虚拟机实现资源隔离的方式,是利用Hypervisor虚拟化 而 简单来说,Docker就是利用namespace实现的系统环境的隔离,利用cgroup实现资源限制,利用镜像实现根环境的的 ...

  6. [react] 展示组件和容器组件有什么区别?

    [react] 展示组件和容器组件有什么区别? 展示组件(Presentational Component) 关注页面的展示效果(外观) 内部可以包含展示组件和容器组件,通常会包含一些自己的DOM标记 ...

  7. docker容器和镜像的区别

    学习目标: docker容器和镜像的区别(持续更新) 学习内容: 1.docker容器基本概念与运用 2.docker镜像基本概念与运用 3.docker容器和镜像同点 4.docker容器和镜像异点 ...

  8. K8S中的pod、services、容器的概念和区别

    K8S中的pod.services.容器的概念和区别 k8s的部署架构 kubernetes中有两类资源,分别是master和nodes,master和nodes上跑的服务如下图: 1 kube-ap ...

  9. 识别有关视频文件的编解码器和技术信息

    Have you ever wanted to play an audio or video file but didn't have the proper codec installed? Toda ...

最新文章

  1. unity3d Sentinel key not found (H0007)解决方法
  2. 【SharePoint 2010】SharePoint 2010开发方面的课堂中整理有关问题
  3. Linux中常见命令和单词的缩写全称
  4. etcd分布式之消息发布与订阅
  5. VNC CentOS
  6. foxmail邮件怎样打印日历
  7. 一个男生写的关于怎么追女生昨天没有说一个很关键的东西
  8. HTML示例08---CSS3概述
  9. openGL ES 教程(二):渲染管线
  10. 嵌入式常见 c语言笔试题
  11. openCV 下载地址
  12. tbschedule 前后置处理器、定期执行任务
  13. 单片机c51语言实训总结,单片机实训报告
  14. Unity-Spine换装问题
  15. 结节性硬化症会一直病变吗?结节性硬化最晚多大发病?
  16. 基于vsftpd搭建ftp服务器
  17. 【k8s】重启kubelet、查看所有服务
  18. 科学计算机如何进行复数运算,教你如何用你的卡西欧学生计算器进行复数运算!...
  19. Pandas中replace替换问题
  20. CONCATENATE示例

热门文章

  1. jq 比较两个时间是否在同一天_jq: 属性-class
  2. 博弈论 —— python
  3. 用HTML编写教学评估系统,在线教学质量评价系统的设计与实现
  4. 计算机病毒的危害主要体现于对计算机系统的信息破坏和,2014年中央电大专科信息技术应用理论题.doc...
  5. mySQL字符串字段区别_MySQL类型之(字符串列类型区分、数据类型区分)
  6. react项目中的参数解构_重构复杂的React组件:编写高效且可读组件的5个最佳实践...
  7. object detection训练自己数据
  8. 【数据库】Mysql日期/时间相关函数汇总
  9. Tomcat配置解析
  10. ECharts.js学习(二)动态数据绑定