【多媒体文件格式】MP4、MPG、TS、3GP、3G2、3GPA

MP4

mp4或称MPEG-4 Part 14,是一种多媒体容器格式,扩展名为.mp4

历史[6]:

  • 2001年,apple的QuickTime格式,.qt.mov的后缀名。
  • 2001年,MPEG-4 Part1,把基于QuickTime的box布局的容器格式添加到了MPEG-4标准。
  • 2004年,标准文档把编码和容器格式的说明分开。
    • MPEG-4 Part12,定义了容器格式通用的box结构,即ISO媒体文件格式(ISO base media file format, ISOBMFF)
    • MPEG-4 Part14,基于Part12进行了细化,定义了用于存储MPEG-4内容的容器格式,即.mp4格式。

MP4是一套用于音频、视频信息的压缩编码标准,由国际标准化组织(ISO)和国际电工委员会(IEC)下属的“动态图像专家组”(Moving Picture Experts Group,即MPEG)制定,第一版在1998年10月通过,第二版在1999年12月通过。MPEG-4格式的主要用途在于网上流、光盘、语音发送(视频电话),以及电视广播。

MPG

带有 .mpg 扩展名的文件属于 MPEG-1 或 MPEG-2 音频和视频压缩的文件扩展名组。 MPEG-1 Part 2 视频不容易获得,并且此扩展名(MPG 文件格式)通常指向在 MPEG-1 和 MPEG-2 中定义的 MPEG 程序流,或在 MPEG-2 中定义的 MPEG 传输流.其他扩展名,如 .m2ts 也存在指定准确的容器,在本例中为 MPEG-2 TS,但这与 MPEG-1 媒体几乎没有相关性。 .mp3 是包含 MP3 音频的文件的最常见扩展名。 MP3 文件是典型的原始音频流;标记 MP3 文件的传统方法是将流数据写入每帧的“垃圾"段,这些段保存媒体信息,但被mpg 文件播放器丢弃。这是一种用于标记 AAC 文件的类似技术,但现在较少支持。

TS

扩展名为 .ts 的文件是将数据存储在 DVD 上的视频流。它使用 MPEG-2 (.mpeg) 压缩算法来实现跨不同媒体类型(如互联网流媒体和广播)的最大效率和兼容性。创建了 TS 文件格式,以便它可以在互联网连接不佳的设备上播放,例如智能电视。

TS是一种音视频封装格式,全称为MPEG2-TS。其中TS即"Transport Stream"的缩写。

先简要介绍一下什么是MPEG2-TS:

DVD的音视频格式为MPEG2-PS,全称是Program Stream。而TS的全称则是Transport Stream。MPEG2-PS主要应用于存储的具有固定时长的节目,如DVD电影,而MPEG-TS则主要应用于实时传送的节目,比如实时广播的电视节目。这两种格式的主要区别是什么呢?简单地打个比喻说,你将DVD上的VOB文件的前面一截cut掉(或者干脆就是数据损坏),那么就会导致整个文件无法解码了,而电视节目是你任何时候打开电视机都能解码(收看)的。

所以,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。

我们可以看出,TS格式是主要用于直播的码流结构,具有很好的容错能力。通常TS流的后缀是.ts、.mpg或者.mpeg,多数播放器直接支持这种格式的播放。TS流中不包含快速seek的机制,只能通过协议层实现seek。HLS协议基于TS流实现的。

3GP/3G2

3GP是一种多媒体单元格式,由Third Generation Partnership Project(3GPP)定义,主要用于3G手机上。

3GP是MPEG-4 Part 14(MP4)的一种简化版本,减少了存储空间和较低的带宽需求,让手机上有限的存储空间可以使用。3GP文件影像的部分可以用MPEG-4 Part 2、H.263或MPEG-4 Part 10 (AVC/H.264)等格式来存储,声音的部分则支持AMR-NB、AMR-WB、AMR-WB+、AAC-LC或HE-AAC来当作声音的编码。目前3GP文件有两种不同的标准:

  • 3GPP(针对GSM手机,扩展名为.3gp

  • 3GPP2(针对CDMA手机,扩展名为.3g2

3GPA

3GPA文件是以第3代合作伙伴计划开发的3GPP格式保存的多媒体文件。3GPP文件以容器格式存储视频和音频,主要用于在3G手机和互联网之间传输音频和视频

3GPA文件与.3GP文件是一样的,但并不常见。更详细的说明可以查看.3GP文件扩展名。

参考

1、mp4文件格式解析 - 简书

2、MP4 - 维基百科,自由的百科全书

3、MPG 文件格式

4、【科普】TS文件格式:什么是TS?如何打开,编辑和转换它?

5、多媒体文件格式(四):TS 格式- 灰色飘零- 博客园

6、3GP - 维基百科,自由的百科全书

7、3GP 文件- 3GPP 多媒体文件格式

8、3GPA文件扩展名_3GPA是什么格式 - 文件百科

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/133165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每天五分钟计算机视觉:池化层的反向传播

本文重点 卷积神经网络(Convolutional Neural Network,CNN)作为一种强大的深度学习模型,在计算机视觉任务中取得了巨大成功。其中,池化层(Pooling Layer)在卷积层之后起到了信息压缩和特征提取的作用。然而,池化层的反向传播一直以来都是一个相对复杂和深奥的问题。本…

企业如何搭建智能客服系统?

在数字化时代,企业面临着客户需求多样化、市场竞争日益激烈等多重挑战。为了更好地满足客户的需求、提供高效的服务,越来越多的企业开始搭建智能客服系统。智能客服系统结合了人工智能和自然语言处理技术,可以实现自动回复、智能推荐以及数据…

老电脑升级内存、固态硬盘、重新装机过程记录

基础环境: 电脑型号:联想XiaoXin700-15ISK系统版本:Windows10 家庭中文版 版本22H2内存:硬盘: 升级想法: 内存升级,固态硬盘升级,系统重装(干净一点) 升级内存…

基础课18——智能客服系统架构

1.基础设施层 基础设施主要包括以下几点: 1. 硬件设施:包括服务器、存储设备、网络设备等,这是整个系统运行的物理基础。 2. 软件设施:包括操作系统、数据库管理系统、自然语言处理(NLP)工具和机器学习算法等,这些是…

linux下实现电脑开机后软件自启动

实现linux的软件自启动,需要四个文件 第一个【displayScreen.desktop】文件,.desktop文件就是一个用来运行程序的快捷方式,也叫启动器,常用来自启动用的文件,内容如下 [Desktop Entry] #要执行的脚本位置 Exec/home/yicaobao/te…

Stream流操作List集合一些常用方法封装

前言介绍(如果对你有帮助,请给我点点赞) 当我们在做Java项目时,经常需要对集合进行操作。而对于List集合来说,Stream流提供了一系列便捷的方法,可以帮助我们快速地完成集合的筛选、排序、聚合等操作。但是…

JG/T 194-2018 住宅厨房和卫生间排烟(气)道制品检测

住宅厨房、卫生间排烟气道系统是指设置在住宅楼中同一垂直位置的各层厨房或卫生间内,一般由排油烟机或排气扇、防火止回阀、排气道、屋面防倒灌风帽组成,用于排除油烟气或污浊气体的系统,并具备防窜气、防倒灌和防火的功能。 JG/T 194-2018住…

从零开始搭建React+TypeScript+webpack开发环境-使用iconfont构建图标库

创建iconfont项目 进入iconfont官网,完成注册流程,即可创建项目。 无法访问iconfont可尝试将电脑dns改为阿里云镜像223.5.5.5和223.6.6.6 添加图标 在图标库里选择图标,加入购物车 将图标添加到之前创建的项目中 生成代码 将代码配置到项目…

Flink SQL时间属性和窗口介绍

(1)概述 时间属性(time attributes),其实就是每个表模式结构(schema)的一部分。它可以在创建表的 DDL 里直接定义为一个字段,也可以在 DataStream 转换成表时定义。 一旦定义了时间…

06_es分布式搜索引擎2

一、DSL查询文档 1.DSL查询分类 ①查询所有:match_all ②全文检索:利用分词器对用户输入的内容分词,倒排索引去匹配 match_query multi_match_query ③精确查询:根据精确词条查找数据,查找的是keyword,数值,日期,b…

大数据毕业设计选题推荐-智慧小区大数据平台-Hadoop-Spark-Hive

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

策略模式和模板模式

这两天学习了策略模式和模板模式,总结一下这两种模式。 一、策略模式 策略模式的使用场景主要是同一类行为的不同实现上,如 不同类型的交易⽅式(信⽤卡、⽀付宝、微信)、⽣成唯⼀ID策略 (UUID、DB⾃增、DBRedis、雪花算法、Leaf算法) 策略模式主要有…

数据分析相关知识整理_--秋招面试版

一、关于sql语句(常问) 1)sql写过的复杂的运算 聚合函数,case when then end语句进行条件运算,字符串的截取、替换,日期的运算,排名等等;行列转换; eg:行列转换 SELE…

【C++】构造函数和析构函数第三部分(各种构造函数调用规则、多个对象的构造和析构、初始化列表)--- 2023.11.6

目录 各种构造函数的调用规则对象以值的方式给函数参数用一个已有的对象去初始化另一个对象函数的局部对象以值的方式从函数返回调用规则1调用规则2 多个对象的构造和析构初始化列表结束语 各种构造函数的调用规则 对象以值的方式给函数参数 实例: class Maker {…

Linux上编译sqlite3库出现undefined reference to `sqlite3_column_table_name‘

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 在Ubuntu 18上编译sqlite3库后在运行程序时出现undefined reference to sqlite3_column_table_name’的错误。网上的说法是说缺少SQLITE_ENABLE_COLUMN_M…

libevent

libevent 库概念和特点 开源。精简。跨平台(Windows、Linux、maxos、unix)。专注于网络通信(不一定非用在网络当中,比如下面的读写管道)。 libevent特性:基于"事件",面向“文件描述符…

软件开发项目文档系列之十如何撰写测试用例

目录 1 概述1.1 编写目的1.2 定义1.3 使用范围1.4 参考资料1.5 术语定义 2 测试用例2.1 功能测试2.1.1 用户登录功能2.1.2 商品搜索功能 2.2 性能测试2.2.1 网站响应时间2.2.2 并发用户测试 附件: 测试用例撰写的要素和注意事项附件1 测试用例要素附件2 测试用例的注…

SpringBoot启动流程简介

一、Application启动类中main方法启动 SpringBootApplication(scanBasePackages {"com.springboot.lean"}) public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);} } 1.1 SpringBootApplication注…

Maven中<scope>中等级的区别

标签指定了依赖项的级别吗&#xff0c;默认是compile &#xff08;编译&#xff09;。意味着依赖项将会在编译时和运行时都被包含在项目中 <scope> 标签指定了依赖项的级别为 import 。除了 import 级别&#xff0c;Maven还支持以下几种级别&#xff1a; compile &#x…

【鸿蒙软件开发】ArkUI容器组件之Grid(网格布局)

文章目录 前言一、Grid1.1 子组件GridItem是什么子组件接口属性事件示例代码 1.2 接口参数 1.3 属性1.4 Grid的几种布局模式1.5 GridDirection枚举说明1.6事件ItemDragInfo对象说明 1.7 示例代码 总结 前言 Grid容器组件&#xff1a;网格容器&#xff0c;由“行”和“列”分割…