原文地址:https://wenku.baidu.com/view/b2ebd7e44afe04a1b071deaa.html

目前网上的各种视频格式可以说是泛滥成灾,加上各个PMP(Portable Media Player,便携式媒体播放器)生产厂家的对自己产品在功能方面的炒作,使得很多人对视频格式的名称都是一头的雾水。 经常有些童鞋问我类似下面的问题。 
A问我说:“我的MP4分明写着能播放AVI吗?为什么这一个AVI文件就播放不了?” B问:“我的MP4支持Mpeg-4啊,为什么Mp4文件不能播放呢?” 好的,下面我从最基本的概念给大家解释一下,顺便回答这两个问题 首先大家要清楚两个概念,视频文件格式和视频编码方式。 
        视频文件格式一般情况下从视频文件的后缀名就能看出来,比如AVI,Mp4,3gp,mov,rmvb等等。这些格式又叫做容器格式(container format),顾名思义就是用来装东西的,你可以把它想象成为一个便当盒,或者野餐篮(兄弟,你没吃早饭吧)。 
通常我们从网上下载的电影都是有声音的(废话,难道你只看默片!众人扔香蕉皮),所以容器格式中一般至少包含有两个数据流(stream),一个视频流,一个音频流,就好比是一个便当盒里装着的配菜和米饭。 
        视频编码方式则是指容器格式中视频流数据的压缩编码方式,例如Mpeg-4,H.264,H.263,等等。而视频数据采用了何种编码方式是无法单单从文件格式的后缀上看出来的。就是说你无法从一个盖着盖子的便当盒外面看出里面装了什么配菜。

如果你想播放一个视频文件,第一步你的播放器(不论是软件的还是硬件的)要能够解析相应的容器格式,这一步也叫做解复用(demux),第二步你的播放器要能够解码其中所包含视频流和音频流。这样影片才能播放出来。 
         打个不太恰当的比方,播放器好比你雇用的一个试菜员,由他来品尝便当(视频文件),然后告诉你便当里装了什么东西。(没天理阿!我想自己吃,好的当然可以,0x00 00 01 B6 05 FF 36 1A 50 …… ……,俄~) 
        所以试菜员首先要懂得如何打开便当盒,还要知道吃的出来便当盒里装了什么配菜,这样你才能获得你想要的信息。 
        回过头来看前面的两个问题,用以上的比喻翻译一下。 
        问题A,我的试菜员能打开AVI这种便当的,为什么我不能知道里面装了什么? 
        回答很简单,虽然他能够打开便当,但是吃不出里面的东西是什么。理论上没有一个播放器能够播放所有的AVI格式的电影,因为你不知道我会往里面放什么配菜。 
        问题B,我的试菜员吃过Mpeg-4这种牛排阿,为什么不能打开Mp4这种便当盒呢? 这个问题通过翻译之后看起来已经不是问题了,Mpeg-4是视频编码方式,而Mp4是容器格式,两者本来就不是一个范畴里的东西。

视频文件格式和视频编码方式的区别相关推荐

  1. 【视频】视频文件格式和视频编码

    我们经常在电脑.电视.手机或者其他终端产品看视频,我们对视频有个大概了解,比如清晰度.大小.视频类型等,但是对于视频内部结构我们应该一无所知,现在我们来一步一步解开视频的神秘面纱. 首先大家要清楚两个 ...

  2. UTF-16、UTF-16BE、UTF-16LE编码方式的区别

    UTF-16.UTF-16BE.UTF-16LE编码方式的区别 文章分类:Java编程 Java代码 import  java.io.IOException; /** * UTF-16BE: 16 位 ...

  3. python2字符串编码方式_编码方式的区别以及文本在python2中的应用

    背景: 文本以及字符串处理在网络应用中随处可见,面对不同的用户接口调用方,以及不同的我们需要调用的接口,可能都会有不一样的编码规范. 而我在以前的开发中,对于字符串的处理经常会是以猜的方式来处理,en ...

  4. USB3.0与USB2.0编码方式的区别

    首先,USB3.0传输的编码方式和USB2.0本质上是不同的. 1.USB3.0的编码方式 USB 3.0采用的是8b/10b编码方式,由于高速传输,信号干扰的问题,USB 3.0采用 8/10bit ...

  5. 视频文件格式与视频编码格式的区别

    https://wenku.baidu.com/view/b2ebd7e44afe04a1b071deaa.html

  6. android 播放视频文件格式,Android视频文件格式解析相关分析

    目录结构 OpenCore的代码在如下目录中:external/opencore/.这个目录是OpenCore的根目录,其中包含的子目录以下所示: * android:这里面是一个上层的库,它基于PV ...

  7. 真-浅浅了解下音视频文件格式和相关概念

    真-浅浅了解下音视频文件格式和相关概念 散装知识,只是突然对这类知识感兴趣,想简单了解下,找到啥就记录啥,没有深入研究文件内部组成构造和底层实现技术和相关标准,毕竟内容挺多的,我也不是必须得学透,况且 ...

  8. Linux 使用ffmpeg修改和压缩视频文件格式

    Linux 使用ffmpeg修改和压缩视频文件格式 1.安装 ffmpeg 2. 使用ffmpeg修改和压缩视频文件格式 这里使用的ffmpeg是使用命令行进行修改和压缩视频文件格式. 我们使用的操作 ...

  9. avi编码格式以及查看的视频编码方式的小工具

    avi编码格式以及查看的视频编码方式的小工具 2009-06-06 17:55:47|  分类: 默认分类 |  标签: |字号大中小 订阅 首先要说明的是,文件后缀名为avi的文件不一定使用的编码方 ...

最新文章

  1. USB hub(221)
  2. 为什么一定要好好睡觉?
  3. Java面向对象概述
  4. Quartz集群部署
  5. Python--map用法
  6. JAVA基础知识(四):final关键字
  7. lstm原文_对时间序列分类的LSTM全卷积网络的见解
  8. 使用keras创建自己的图像标题生成器
  9. 尚硅谷谷粒商城之环境搭建
  10. js—封装原生AJAX
  11. JavaSE Map集合 HashMap和Hashtable的区别 Collections(集合工具类) 集合练习 模拟斗地主(洗牌,发牌,看牌)
  12. 概率论复习大纲 | 速成
  13. MySQL -> DML:删除(delete),(truncate table)
  14. 微信白名单服务器ip地址,微信服务器白名单IP列表
  15. 阿铭Linux_传统IDC 部署网站学习笔记20190129
  16. 西南大学计算机学院推免,2019年西南大学计算机与信息科学学院硕士研究生拟录取名单的公示(不含推免生)...
  17. php eos,EOS区块链PHP开发包
  18. A045_jQuery案例实战_BootStrap
  19. wget已连接但没有回应_林小宅新恋情曝光被指出轨,回应:分手后交往的,没对不起任何人...
  20. mysql VS oracle

热门文章

  1. Nature Machine Intelligence论文:「概念白化」,提供神经网络可解释性的新技术
  2. java中@AliasFor注解
  3. 自动化测试之ddt数据驱动
  4. 企业应用别装逼:论互联网精神
  5. RPA+AI 时代,财务人员该何去何从?
  6. Linux搭建samba文件共享服务器,实现基于Linux和Windows的共享文件服务
  7. 知识点:什么是硬分叉和软分叉
  8. 解读Box2D (1)核心入口 void b2World::Step
  9. 如何让提醒事项在手机桌面上显示
  10. 【实用教程】视频自动播放