当前位置: 首页 > news >正文

编解码学习笔记(十三):容器(上篇)

  视频是现在电脑中多媒体系统中的重要一环。为了适应储存视频的需要,人们设定了不同的视频文件格式来把视频和音频放在一个文件中,以方便同时回放。视频档实际上都是一个容器里面 包裹着不同的轨道,使用的容器的格式关系到视频档的可扩展性。

  FourCC全称Four-Character Codes,是由4个字符(4 bytes)组成,是一种独立标示视频数据流格式的四字节,在wav、avi档案之中会有一段FourCC来描述这个AVI档案,是利用何种codec来编码的。因此wav、avi大量存在等于“IDP3”的FourCC。

ISO/IEC
MPEG-PS · MPEG-TS · MPEG-4 Part 12 / JPEG 2000 Part 12 · MPEG-4 Part 14
ITU-T H.222.0
Others 3GP and 3G2 · ASF · AVI · Bink · DivX Media Format · DPX · EVO · Flash Video · GXF · M2TS · Matroska · MXF · Ogg · QuickTime File Format · RealMedia · REDCODE RAW · RIFF · Smacker · MOD and TOD · VOB · WebM
Audio Only
AIFF · AU · WAV

3GP和3G2容器  

  3GP(3GPP文件格式)是一个多媒体容器由第三代合作伙伴计划(3GPP)针对3G UMTS多媒体服务定义。它用于3G移动电话,但也可以用于某些2G和4G的电话。3GP在ETSI 3GPP技术规范中定义,他是视频文件格式,并带有讲话/音频媒体类型和带时间信息的文本,用于IMS,MMS,多媒体广播/多播服务(MBMS)和传输端到端的包交换流媒体服务(PSS)。

  3G2(3GPP2文件格式)是一个多媒体容器有3GPP2为3G CDMA 2000多媒体服务定义。她与3GP文件格式非常相似,但与之相比存在一些扩展和限制。3G2在3GPP2技术规范中定义。

  3GP和3G2文件格式都是基于在ISO/IEC 14496-12(MPEG-4 Part 12)定义的ISO基础媒体文件格式,但是老板不的3GP文件格式不具有其中某些属性。3GP和3G2与MP4(MPEG-4 Part 14)相似,MP4也是基于MPEP-4 Part 12。3GP和3G2设计目的是为移动电话减少存储和带宽要求,它们是非常相似的标准,但有区别:

3GPP 文件格式用于GSM类电话,文件扩展名:.3gp 3GPP2文件格式用于CDMA类电话,并具有文件扩展名:.3g2

  3GP文件存贮视频流:MPEG-4 Part2,H.263,MPEG-4 Part 10(AVC/H.264),音频流 AMR-NB, AMR-WB, AMR-WB+, AAC-LC, HE-AAC v1 和 Enhanced aacPlus (HE-AAC v2)。3GPP允许ISO基础文件格式(MPEG-4 Part12)中使用AMR和H.263编解码,因为3GPP在ISO基础文件格式中规定了采样条目和模板字段的使用,可以为编解码定义新的box。这些扩展在ISO基础媒体文家格式(“MP4家族”文件)中由登记授权登记为code-point。对于在3GP文件中存贮MPEG-4媒体,3GP规定参加了MP4和AVC文件格式规范,它们也是基于ISO基础媒体文件格式。MP4和AVC文件格式规范描述在ISO基础媒体文件格式中使用MPEG-4内容。有些手机使用.mp4作为3GP视频的扩展。

  3G2文件格式可以存贮与3GP文件格式相同的视频流和觉得部分的音频流。此外3G2可以存在音频流还包括EVRC,EVRC-B,EVRC-WB,13K(QCELP),SMV,和VMR-WR。3G2规范还定义了在3GPP带时间文件的某些货站。3G2文件格式不支持Enhanced aacPlus (HE-AAC v2) 和AMR-WB+ audio streams。对于在3G2文件中存在MPEG-4媒体(AAC音频,MPEG-4 Part 2音频,MPEG-4 Part 10/H.264/AVC),3G2规范提及了MP4 文件格式和AVC文件格式规范,在那里描述了如果在ISO基础媒体文件格式中使用这些内容。对于在3G2中存储H.263和AMR内容,3G2规范参见了3GP文件格式规范。

  3GP格式视频有两种分辨率:

分辨率176×144,适合市面上所有支持3GP格式的手机。 分辨率320×240,清晰,适合高档手机、MP4播放器、PSP以及苹果iPod.

ANIM

  ANIM标准的多媒体文件用于经典的Commodore Amiga的数字动画。它遵循IFF ILBM主规范,他是第一个动画格式被操作系统正式采纳。

ASF

  微软WMA和WMV的标准容器。

  WMV(Windows Media Video)是微软公司开发的一组数字视频编解码格式的通称,ASF(Advanced Systems Format)是其封装格式。ASF封装的WMV档具有"数字版权保护"功能。扩展名:wmv/asf、wmvhd。

  ASF (Advanced Streaming format高级流格式)。ASF 是 MICROSOFT为了和现在的 Real player 竞争而发展出来的一种可以直接在网上观看视频节目的文件压缩格式。ASF使用了 MPEG4 的压缩算法,压缩率和图像的质量都很不错。因为 ASF 是以一个可以在网上即时观赏的视频"流"格式存在的,所以它的图像质量比 VCD 差一点点并不出奇,但比同是视频"流"格式的 RAM 格式要好。

文件扩展名 :.asf .wma .wmv 互联网媒体类型: video/x-ms-asf, application/vnd.ms-asf 类型码 : 'ASF_' 唯一类型码 :Identifier com.microsoft.advanced-systems-format Magic number :30 26 b2 75 开发者 :Microsoft 格式类型 :Container format 容器容纳 :WMA, WMV, MPEG4 etc.

AVI

  AVI (the standard Microsoft Windows container, also based on RIFF)。AVI是英语Audio Video Interleave("音频视频交织"或译为"音频视频交错")的首字母缩写,由微软在 1992年11月推出的一种多媒体文件格式,用于对抗苹果Quicktime的技术。现在所说的AVI多是指一种封装格式。

  比较早的AVI是Microsoft开发的。其含义是Audio Video Interactive,就是把视频和音频编码混合在一起存储。AVI也是最长寿的格式,已存在10余年了,虽然发布过改版(V2.0于1996年发 布),但已显老态。AVI格式上限制比较多,只能有一个视频轨道和一个音频轨道(现在有非标准插件可加入最多两个音频轨道),还可以有一些附加轨道,如文字等。AVI格式不提供任何控制功能。扩展名:avi。

  AVI能使用的编码:

视频名称(括号内表示的是此视频的FourCC)
o MPEG-1/-2 (MPEG/MPG1/MPG2)
o MPEG-4 (MP4V/XVID/DX50/DIVX/DIV5/3IVX/3IV2/RMP4)
o MS-MPEG4 (MPG4/MP42/MP43)
o WMV7/WMV8/WMV9 (WMV1/WMV2/WMV3)
o DV(DVSD/DVIS)
o Flash Video (FLV1/FLV4)
o Motion JPEG (MJPG)
o LossLess JPEG (LJPG)
o H.264 (AVC1/DAVC/H264/X264)
o H.263 (H263/S263)
o H.261 (H261)
o Huffyuv (HFYU)
o AVIzlib (ZLIB)
o AVImszh (MSZH)
o Theora (THEO)
o Indeo Video (IV31/IV32)
o Cinepak (cvid)
o Microsoft Video 1 (CRAM)
o On2VP3 (VP30/VP31)
o On2VP4 (VP40)
o On2 VP6 (VP60/VP61/VP62)
o VC-1 (WVC1) 音频
o PCM
o MP3 (0x0055)
o AC-3 (0x0092)
o AAC
  - HE-AAC
  - LC-AAC
o FLAC
o Indeo Audio
o TrueSpeech
o WMA
o Vorbis

  编码组合能根据以下的例子自由选择。

(DivX或XviD+MP3).avi, (H.264+MP3).avi (WMV9+MP3).avi

  以XviD+MP3构成的AVI最为常见。

DVB-MS

  DVR-MS (Microsoft Digital Video Recording,微软数字视频录制)是一种专用的视频和音频文件容器格式,有微软开发,用于存储由Windows XP Media Center Edition,Windows Vista和Windows 7录制的电视内容。多个数据流(视频和音频)在带有DVR-MS扩展的ASF容器中封装。视频使用MPEG-2标准编码,音频使用MPEG-1 Layer II或者杜比数字AC-3(ATSC A/52)。扩展的格式包括内容和数字版权管理的元数据。这些格式的文件有流缓存引擎(SBE.dll)生成,这是一个在Windows XP Service Pack 1的DirectShow组件。

MPEG/MPG/DAT

  MPEG格 式:MPEG(Moving Picture Experts Group),是一个国际标准组织(ISO)认可的媒体封装形式,受到大部份机器的支持。其存储方式多样,可以适应不同的应用环境。MPEG-4档的档容 器格式在Part 1(mux)、14(asp)、15(avc)等中规定。MPEG的控制功能丰富,可以有多个视频(即角度)、音轨、字 幕(位图字幕)等等。MPEG的一个简化版本3GP还广泛的用于准3G手机上。扩展名:dat(用于VCD)、vob、mpg/mpeg、3gp /3g2(用于手机)等。

  MPEG也是Motion Picture Experts Group 的缩写。这类格式包括了 MPEG-1, MPEG-2 和 MPEG-4在内的多种视频格式。MPEG-1相信是大家接触得最多的了,因为目前其正在被广泛地应用在 VCD 的制作和一些视频片段下载的网络应用上面,大部分的 VCD 都是用 MPEG1 格式压缩的 ( 刻录软件自动将MPEG1转为 .DAT格式 ) ,使用 MPEG-1 的压缩算法,可以把一部 120 分钟长的电影压缩到 1.2 GB 左右大小。MPEG-2 则是应用在 DVD 的制作,同时在一些 HDTV(高清晰电视广播)和一些高要求视频编辑、处理上面也有相当多的应用。使用 MPEG-2 的压缩算法压缩一部 120 分钟长的电影可以压缩到 5-8 GB 的大小(MPEG2的图像质量MPEG-1 与其无法比拟的)。

  MPEG-PS:MPEG节目流(program stream),是MPEG-1和MPEG-2基准流的标准容器,用于在可靠介质上,例如磁盘,也用于DVD-Video光碟。

  MPEG-TS:MPEG传输流,是数字广播和在非可靠媒体传输的标砖容器,也在蓝光光碟使用,通常携带多个视频和音频流以及一个电子节目指南。

n AVI

  如果你发现原来的播放软件突然打不开此类格式的AVI文件,那你就要考虑是不是碰到了n AVI。n AVI是 New AVI 的缩写,是一个名为 Shadow Realm 的地下组织发展起来的一种新视频格式。它是由Microsoft ASF 压缩算法的修改而来的(并不是想象中的 AVI),视频格式追求的无非是压缩率和图像质量,所以 NAVI 为了追求这个目标,改善了原始的 ASF 格式的一些不足,让 NAVI 可以拥有更高的帧率。可以这样说,NAVI 是一种去掉视频流特性的改良型 ASF 格式。

注:上述材料来源于wiki的整理。

关链接: 我的产业生态链和杂谈文章

相关文章:

  • Linux进程调度原理
  • 用jasperreports在applet中实现打印功能开发总结
  • Serializable 和 Parcelable 两种序列化
  • javax.servlet.ServletException: BeanUtils.populate的解决
  • 文件系统性能测试
  • BIEE在windows Server 2003 64bit上安装
  • android 蓝牙学习笔记
  • [QT] TCP协议演示
  • content_for对应的yield
  • 四十八、Qt网络(八)TCP(二)
  • GetDlgItem用法
  • 四十七、Qt网络(七)TCP(一)
  • 四十六、Qt网络(六)UDP
  • 评估一款电子邮件营销软件的方法总结
  • 四十四、Qt网络(四)FTP(二)
  • ES2017异步函数现已正式可用
  • Git的一些常用操作
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Java 多线程编程之:notify 和 wait 用法
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Mocha测试初探
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Spark RDD学习: aggregate函数
  • STAR法则
  • 搞机器学习要哪些技能
  • 排序(1):冒泡排序
  • 七牛云假注销小指南
  • 前嗅ForeSpider采集配置界面介绍
  • 使用 @font-face
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • #Linux(帮助手册)
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (2)(2.10) LTM telemetry
  • (floyd+补集) poj 3275
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (九)c52学习之旅-定时器
  • (九)信息融合方式简介
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (一)Neo4j下载安装以及初次使用
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net 获取url的方法
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .net反编译的九款神器
  • @SentinelResource详解
  • @取消转义
  • [ CTF ]【天格】战队WriteUp- 2022年第三届“网鼎杯”网络安全大赛(青龙组)
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [C#7] 1.Tuples(元组)
  • [C++进阶篇]STL中vector的使用
  • [Hadoop in China 2011] Hadoop之上 中国移动“大云”系统解析