mp4文件格式之fragment mp4

自适应流媒体传输(三)——和TS格式说再见 如果你读过MPEG-DASH(23009 - Dynamic Adaptive Streaming over HTTP)的spec,一定能感觉到整个标准对fMP4这种格式的强烈倾向性。HLS倒是一直喜欢和TS打交道,不过在最新的标准中,也加入了对fMP4的支持。大家可能会有疑惑,好好的TS格式已经用了有20年了,这些新时代下的streaming协议干嘛还要搞一个新格式来用呢?本文就来简单介绍一下fm 阅读详情

        目前网络上对mp4文件格式的总结已经相当多了,我就不在这里抄别人总结的东西了,想入门的话百度一下会有许多这方面的文章。这里介绍一下其他文章中很少涉及的一种mp4文件结构,即fragment mp4,也有称之为ismv文件的。

        想真正了解mp4文件格式的话,有一个开源工具项目可以学习:mp4 explorer。一方面,这个工具可以按MPEG-4标准去解析mp4文件,直观上帮助大家去看mp4文件的格式。另一方面,认真学习其代码,就可以了解mp4文件是如何被存取和访问的,对致力于底层研究的同学是个福音。其官网:http://mp4explorer.codeplex.com/

        本文介绍的一种mp4文件格式称之谓fragmented mp4,有简称为FMP4。其文件格式与通常大家见到的mp4文件不同。下面通过两张图片来对比一下。

       

                                                                                                                               图1  普通MP4文件物理结构

    

                                                                                                                            图2  fragmented mp4文件结构

        下面分析一下两种格式的优缺点。

         对于第一种格式,整个mp4文件的的meta数据都在文件头,所有媒体数据为整体一块。当文件比较大的时候,meta数据就比较大。这样对mp4文件的本地播放是没有问题。但对于一些视频播放网站而言,用户的播放器必须下载全meta数据才能开始播放,这就意味着用户的缓冲时间将因为mp4文件的存储结构而延长。目前一种解决方法是将大的mp4文件切成物理分离的多段,使得每段的meta都比较小,从而在一定程度上减少缓冲时间。

         对于第二种格式,mp4文件被分成多个frag分片,而原来的meta数据大大变小,且没个frag都可以单独索引、传输和播放,这样就可以解决mp4不能流式传输播放的问题。对用户体验比较好。然而目前这种格式并不被多数解码器完整支持,部分播放器加载文件时间过长,而且浏览器内嵌播放器也可能不支持播放。

         微软在08奥运会之前推出了此项解决方案,并应用于NBC视频直播,具体技术可以参考下面的链接:http://alexzambelli.com/blog/2009/02/10/smooth-streaming-architecture/.在其中也可以找到对mp4文件中每个box 的一些介绍。    















一文对比mp4与m3u8:mp4为什么第一帧加载较慢 公司要求对视频的 秒开率(1秒内成功加载的播放数 / 播放总数)、失败率 (播放失败的次数 / 播放总数) 等进行优化。经过线上AB测试发现,`m3u8视频(第一段切片为1~3秒)`在秒开率、失败率等性能指标上均优于`普通mp4视频`。这里探究一下,m3u8视频(第一段切片为1~3秒) 在秒开率上均优于 普通mp4视频 的原因。 阅读详情

相关推荐

Mp4Explorer-20090802-bin.zip

Mp4Explorer用来检查和看到一个mp4文件的细节。这个程序可以用来提取所有的箱(盒被称为“原子”在一些规范,包括第一个定义的MP4)的信息,元数据和数据从一个mpeg - 4 iso文件(iso / IEC 14496 - 12,iso / IEC 14496 - 14,iso / IEC 14496 - 15)。们的主要目标,是提供尽可能多的信息在一个清晰的和易于使用的windows应用程序。为此,我们需要提供一个自定义的视图(参见CompositeWPF)对于每个箱子类型。今后这计划将允许一个视频预览和低水平版。这种努力可以帮助那些正在开发多媒体和内容生成程序。我们支持一组分散电影框,这就意味着你可以阅读平滑流文件(* .ismv)。

封装格式分析-MP4

声明:MP4 的封装格式是比较复杂的,本文不会把 MP4 的各个字段,各种场景用法都罗列出来,那样会形成一个手册。 文本主要讲解 MP4 这种封装格式在音视频开发中比较常用的字段,还有一些关键的知识点。让初学者掌握 MP4 的一些基本概念,然后学会看MP4标准文档深入了解。 资源下载: a.mp4下载链接:百度网盘,提取码:nl0s 。 Mp4Explorer.exe 下载链接:百度网盘,提取码:039r 。 MP4 格式 是一个 box 的格式,box 容器 套 box 子容器,box 子容器 再

u012117034的博客 3825

视频编解码 MP4 Info, MP4 explore

替代MP4Info, MP4explore的软件MP4inspector

音视频封装:MP4结构概述和分析工具推荐

问题背景: 前面已经讲了好几种封装格式包括了TS、FLV、RTP等。现在用几篇文章讲解下MP4,这种封装格式设计思路和前面都不太一样,其应用范围最广、灵活性最高、跨平台最好,兼容性最强。带来的负面影响就是格式本身比较复杂,特别是在封装和转封装方面代码实现起来比较长。 这个系列会和前面讲解思路一样,本篇会讲解下MP4的整体框架和结构,下篇会讲解下MP4的详细标准,同时用一个实例分析下对应字段含义...

weixin_41422027的博客 3811

latex使用overleaf插入多行图片

对于一般的latex模板,可以使用下面方式: (1)现在模板最前面的加入包 \usepackage{graphicx} \usepackage{subfigure} (2) 使用下面代码插入图片 \begin{figure}[htbp] \centering \subfigure[pic1.]{ \includegraphics[width=5.5cm]{pic1.png} } \quad \subfigure[pic2.]{ \includegraphics[width=5.5cm]{pic

Look Forward To 1万+

【Musescore 】开源打谱软件 快速入门笔记

前两天做了个西贝柳斯的打谱软件学习笔记,反正都是初学,今天再来学习一款同类软件,比较之后确定一款深入学习。 西贝柳斯的学习笔记在此:https://blog.youkuaiyun.com/yuetaope/article/details/120020342 西贝柳斯是商业收费软件,要么花钱,要么盗版,如果您觉得这两者都不大好,那么推荐您试试Musescore。 Musescore是一款非常优秀的开源的打谱软件,生态繁荣。“开源”和“生态”是码农业的术语,我用正常人类的语言简单解释一下。 开源就是开放程序源代码,对码农

专注于医院数据分析技术与系统开发的创作与分享。 1万+

fragment mp4 文件格式

https://blog.youkuaiyun.com/cai_huan_123/article/details/52487756MP4文件的基本单元是“box”,这些box既可以包括data,也可以包括metadata。MP4文件标准允许多种方式来组织data box和metadata box。将metadata放在data之前,客户端应用程序可以在播放video/audio之前获得更多的关于video/a...

影音视频技术 2698

PAM4信号测试实战:从眼图分析到误码率测量的技术演进

在高速数字系统设计中,信号完整性测试是确保数据传输可靠性的核心环节。其基本原理在于通过时域和频域分析,精确评估信号在传输过程中的质量衰减与失真。随着数据速率向56Gbps及以上演进,传统的NRZ编码面临带宽瓶颈,而PAM4调制技术通过在每个符号周期内承载更多比特信息,成为提升信道效率的关键路径。这项技术的工程价值在于,它允许在相同带宽下实现翻倍的数据吞吐量,这对于数据中心互联、PCIe 6.0及800G以太网等高速接口至关重要。然而,PAM4信号电平间距更小,对噪声和抖动极为敏感,导致其原始误码率显著升高,

weixin_42522817的博客 657

Fragmented MP4文件格式

转自:http://blog.youkuaiyun.com/zhuweigangzwg/article/details/17222951   一、基本概念 1.mp4概述 MP4文件中的所有数据都装在box(QuickTime中为atom)中,也就是说MP4文件由若干个box组成,每个box有类型和长度,可以将box理解为一个数据对象块。box中可以包含另一个box,这种box称为

haima1998的专栏 5756

LPDDR4协议规范之 (四)命令和时序

LPDDR4协议规范之 (四)命令和时序命令真值表激活操作读写访问操作读前沿和后沿突发读取操作流程读操作时序写前沿和后沿突发写操作写入均衡(待更新) 命令真值表 激活操作 ACTIVATE命令由两个连续命令组成,Activate-1命令和Activate-2。通过在(Activate-1)时钟的第一个上升沿保持CS HIGH,CA0 HIGH和CA1 LOW来发出Activate-1命令,通过...

YJFeiii的博客 2万+

从代码层面分析STM32 标准库和HAL库的差异

相当于每个设置都是独立的函数。HAL库将一段代码通过宏定义的方式封装成了一个函数,每个端口的时钟都单独的定义了一个名称,标准库是一个独立的函数,通过参数传递的方式来设置每个端口的时钟。这两个版本的函数本质上操作的还是寄存器,不过HAL库操作的只是BSRR寄存器,而标准库端口置1的时候操作的是BSRR寄存器,端口清0的时候操作的是BRR寄存器。标准库设置端口模式的时候,是在if语句中判断之后直接设置的,而HAL端口模式设置时,却使用了switch语句去设置,说明在HAL库中,端口模式和标准库中发生了改变。

HXYDJ的博客 2万+

5分钟入门MP4文件格式

写在前面 本文主要内容包括,什么是MP4、MP4文件的基本结构、Box的基本结构、常见且重要的box介绍、普通MP4与fMP4的区别、如何通过代码解析MP4文件 等。 写作背景:最近经常回答团队小伙伴关于直播 & 短视频的问题,比如 “flv.js的实现原理”、“为什么设计同学给的mp4文件浏览器里播放不了、但本地可以正常播放”、“MP4兼容性很好,可不可以用来做直播” 等。 在解答的过程中,发现经常涉及 MP4 协议的介绍。之前这块有简单了解过并做了笔记,这里稍微整理一下,顺便作为团队参考文档,如

tone12345的博客 1619

Microsoft AI SDK 与 SAP ABAP:让企业级 AI 能力触手可及的深度整合指南

借助 Microsoft AI SDK,ABAP 开发者无需跳出熟悉的事务码与数据字典,就能把 GPT‑4 的强大语言理解与生成能力深度植入采购、销售、财务等核心业务流程。只要掌握“初始化 SDK → 构造 Prompt → 解析输出”这一范式,未来无论 Azure OpenAI、OpenAI 还是本地化 LLM,都能在同一套代码骨架内快速切换,实现真正的“AI 即服务”。现在,就让我们在下一行 ABAP 里拥抱智能未来。参考链接均于 2025‑07‑22 提取,推荐读者结合实际版本进一步验证。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 431

fragment mp4

 fragment mp4,也有称之为ismv文件的。        下面分析一下两种格式的优缺点。        对于第一种格式,整个mp4文件的的meta数据都在文件头,所有媒体数据为整体一块。当文件比较大的时候,meta数据就比较大。这样对mp4文件的本地播放是没有问题。但对于一些视频播放网站而言,用户的播放器必须下载全meta数据才能开始播放,这就意味着用户的缓冲时间将因为mp4文件的存储...

产业互联网&消费类电子 884

DSI3接口介绍

DSI3(distributed system interface)分布式系统接口,是一种强大且通用的总线协议,旨在将多个遥感器和执行器互连到中央控制模块。在单总线中集成了电压信号、电流信号还有电源,甚至引用了3位状态机概念(反向数据),从逻辑0/1扩展到了0/1/2。

Airer_00的博客 4307

西安交通大学软件学院——分布式系统练习题(综合题)

摘要:本文探讨了分布式系统的核心特性与关键问题。首先阐述了分布式系统的8种透明性特性,包括访问、定位、迁移等。然后通过具体案例分析了分布式事务的回滚机制、域名解析的迭代与递归过程、不同分布式系统的异同比较。重点讨论了RPC通信中客户端/服务器崩溃的处理方法,包括消灭、再生和到期三种策略。最后介绍了Lamport时间戳算法在进程通信中的应用及问题解决方案。全文涵盖了分布式系统设计中的透明性、可靠性、一致性等核心问题。

qq_73044452的博客 204

Bento4:C++ MP4处理库的架构解析与流媒体应用实践

MP4作为ISO基础媒体文件格式,其核心是基于盒子(Box/Atom)的嵌套容器结构,用于封装视频、音频等媒体数据。理解其原理是进行视频解析、编辑与流媒体处理的基础。该技术在现代多媒体工作流中具有重要价值,尤其在点播、直播、自适应流媒体等应用场景中不可或缺。Bento4库正是基于此,提供了一个专注于MP4及其衍生生态(如DASH、HLS)的C++工具包,实现了对MP4盒子的原子级控制。通过其核心工具链,如`mp4fragment`和`mp4dash`,开发者可以高效地构建支持多码率自适应的流媒体服务。

weixin_30298497的博客 349

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

多媒体封装格式详解---MP4

MP4文件格式详解——结构概述 http://blog.youkuaiyun.com/pirateleo/article/details/7061452 一、基本概念 1、 文件,由许多Box和FullBox组成。 2、 Box,每个Box由Header和Data组成。 3、 FullBox,是Box的扩展,Box结构的基础上在Header中增加8bits version和24bits flags。...

weixin_34238642的博客 796

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

MP4文件格式详解——元数据moov(三)tref box

元数据moov(三)tref box(ISO-14496-12) Author:Pirate Leo Email:codeevoship@gmail.com ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4、3gp、ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的。 如果从全局角度了解基础文件格式,请看我之前的博文《MP...

yuanlanjun 425

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: mp4box的安装和使用
下一篇: tsMuxeR使用方法
zzulp
博客等级 码龄19年 464粉丝 176原创
评论 17
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值