mxf文件格式详解

news2024/11/24 19:18:21

MXF是英文Material eXchange Format(素材交换格式)的缩语。MXF是SMPTE(美国电影与电视工程师学会)组织定义的一种专业音视频媒体文件格式。MXF主要应用于影视行业媒体制作、编辑、发行和存储等环节。SMPTE381M(把MPEG格式的内容封装成mxf),SMPTE383M(把DV格式的内容封装成mxf)等,它是一个外壳格式 而不是压缩格式, 所以并不能保证每一款MXF文件 都能被任何一种解码器识别。

MXF是松下、索尼、佳能等专业数码摄像机中常见的视频格式,但在计算机以及移动播放设备的支持率不高。在MXF中,XDCAM要求至少为4声道。所以如果输入文件的音频流小于4声道,输出文件依然会被标记为4声道。

mxf包含frame打包方式和clip打包方式。

sony和松下都使用single item,single package模式,即op1a,一个mp,一个fp,通常用户广电流程。另一种模式是atom,通常用于影视后期流程。

1 mxf文件结概述

MXF文件包括三个主体部分:文件头、文件体和文件尾。

1)文件头提供文件的整体信息,包括用于解码文件中所有视音频数据的解码器列表等。

2)文件体由存储在要素容器中的视音频数据组成,来自不同数据轨(如视频、音频和时码)的要素容器可能交错和分离地存储在文件体中。

 

 

3)文件尾用以结束一个MXF文件,包括一些在产生文件头时还不确定的信息,如文件的视音频长度等,文件尾的信息在某些场景中常常被忽略。

MXF文件也可包含一个可选的索引表(Index Table),该索引表可用于将基于采样的索引(如时码)快速换算到对应的要素容器在<spanlang="en-us>">MXF文件中的偏移地址,以实现视音频的快速预览和定位。该索引表可分段存储,可位于基本数据段之前或之后,也可分插到基本数据段中间。

MXF文件的所有数据都采用Key-Length-Value(KLV)进行编码以获得格式的灵活性和可扩展性,KLV编码标准定义在SMPTE 336M中。实际上MXF文件就是若干连续KLV数据包的序列(除了可选的RUN-IN包)。

Key:16字节的标识符。
Length:数据(Value域)长度。BER(basic encoding rules )编码方式,如83 00 00 88。

它使用可变长的字节来表示非常宽的长度范围,该域总是按MSB(高字节优先)编码,如果第一个字节的bit7为0,那么低7位代表了0~127范围的长度,如果bit7为1,那么低7位代表长度域的字节个数。
Value:KLV单元中包含的数据

文件解析工具:MXFExpressAndMXFDesktop_120 和 MXFInspect

 2 mxf文件结构

MXF文件的逻辑模型是一种基于对象的数据结构,主要由头部元数据中的结构元数据定义。结构元数据主要分为两类,一类是与实践特性有关的结构结构元数据包(Structural Metadata Package),一类是与素材或素材容器的特征参数相关的描述符(Descriptors)。每个结构元数据包有1个或多个轨迹(Track)组成,每个轨迹是一段具有起始时间点、编辑速率的时间线,由一个具有一定持续时间的序列(Squence)组成,每个序列又由1个或多个源片段(SourceClip)组成。包(Package)、轨迹(Track)、序列(Squence)、源片段(SourceClip)通过UUID相互引用。

顶层文件包中的每一个轨迹分别对应内容容器中不同的类型并有相应的描述符描述素材的特征信息,如像素、采样率、画幅比、声道数、比特数等。素材包通常为文件的输出时间线,确定在播放或使用时文件中哪个内容容器中的哪些内容被播放,以及这些内容如何同步。素材包中的源片段通过UUID引用,链接到顶层文件包中的某个轨迹。而素材元素元数据(EssenceContainerData)将顶层文件包和具体的素材容器及相应的索引表相互关联起来。

material package故事版素材,source package实际含有源素材。

 


 

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

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

相关文章

如何在 Linux 中使用 GPG 加密和解密文件?

什么是 GPG&#xff1f; GPG&#xff08;GNU Privacy Guard&#xff09;是一种免费的开源加密软件&#xff0c;用于保护计算机数据的机密性和完整性。 它使用非对称加密算法&#xff0c;也称为公钥加密算法&#xff0c;其中数据被加密和解密时使用不同的密钥。每个用户都有一个…

【C++】类与对象(2)

【C】类与对象&#xff08;2&#xff09; 作者&#xff1a;爱写代码的刚子 时间&#xff1a;2023.5.4 本篇博客有关构造函数、析构函数、拷贝构造的知识&#xff0c;由于本篇博客可能比较详细&#xff0c;还剩一些内容没介绍&#xff0c;所以我将剩余的知识放在下一篇博客。 目…

探究Spring中Bean的线程安全性问题

前言 今天同事笑嘻嘻的凑过来&#xff0c;问了我一个问题&#xff1a;spring中的bean是线程安全的吗&#xff1f;。我内心一想肯定是安全的&#xff0c;毕竟这样多项目在用。但是转念一想&#xff0c;他那贱兮兮的表情&#xff0c;多半是在给我挖坑。于是我自信的回答他&#x…

如何在 DigitalOcean 中部署 ONLYOFFICE 文档

现在您可使用通过 DigitalOcean 市场提供的一键式应用在 DigitalOcean 云架构中轻松部署 Docker 版本的 ONLYOFFICE 文档。 一键式应用是一个包含所有必要预配置组件的镜像&#xff0c;可用于便捷地在运行有 Ubuntu OS 的 DigitalOcean 服务器上部署 ONLYOFFICE&#xff1a; D…

单元测试~

文章目录 单元测试Junit单元测试框架 单元测试 Junit单元测试框架

客户端无法连接docker启动的nacos-config服务

nacos踩坑记录: 基于镜像仓库教程 : https://hub.docker.com/r/nacos/nacos-server 在虚拟机启动了nacos服务,控制台可以正常打开.但是客户端无法正确连接.但是又没有明确的异常信息,只有一行warn日志:There is no content for NacosPropertySource from dataId[application.ym…

面试必问的【网络io】,1.5W字超全面总结

今天分享的基本上一面试就会被问的网络IO。文中涉及的代码部分不太重要&#xff0c;重要的是对这概念的理解。在看文章之前大家也可通过下面的思维导图看看自己是否能回答出来。 ​大纲 1 阻塞与非阻塞--开胃菜 阻塞 我们知道在调用某个函数的时候无非就是两种情况&#xff0…

1553B总线与FlexRay总线的协议转换

1553B总线与FlexRay总线的协议转换 背景技术&#xff1a; 某一1553B数字时分系统&#xff0c;存在响应型和周期型两种类型的指令传输。如果在1553B总线上传输周期型指令&#xff0c;不仅会造成BC->RT调度指令的大量重复&#xff0c;还存在BC设备和RT设备时间不同步的风险&a…

API 渗透测试从入门到精通系列文章(下)

导语&#xff1a;在本系列文章的前面一部分我们从使用 Postman 开始&#xff0c;创建了集合和请求&#xff0c;并通过 Burp Suite 设置为了 Postman 的代理&#xff0c;这样我们就可以使用 Burp 的模糊测试和请求篡改的功能。 在本系列文章的前面一部分我们从使用 Postman 开始…

Unity 后处理(Post-Processing) -- (3)挑战:创建局部后处理Volume

为何使用局部Volume 在前面两节中&#xff0c;我们使用了一个Global Volume来应用后处理&#xff0c;其作用范围是整个场景。有些时候&#xff0c;我们需要实现当角色靠近某个地点后&#xff0c;进行一些特殊的后处理。这时我们就需要使用Local Volume来实现这个功能。 举个例子…

网络安全就业岗位与薪资

前段时间&#xff0c;知名机构麦可思研究院发布了《2022年中国本科生就业报告》&#xff0c;其中详细列出近五年的本科绿牌专业&#xff0c;*信息安全位列第一。* 对于网络安全的发展与就业前景已经说过很多&#xff0c;它是收入较高的岗位之一&#xff0c;在转行领域也占据着…

大津算法ostu

大津算法是一种自适应图像二值化方法。 它以最大化类内距离或最小化类间距离为优化目标&#xff0c;将图像从某一亮度阈值分为前景/背景。 其基本原理示意图如下&#xff1a; 1.前言 为了深入介绍此算法&#xff0c;先说明一些背景知识。 1.1 数据可分性 数据可分性通常使…

【视频解读】动手学深度学习V2_01课程介绍

1.概述 这门课程主要介绍深度学习经典和最新模型。从最简单、最老的80年代的Lenet,讲到计算机视觉比较流行的Resnet,以及经典的时序模型LSTM以及最近比较流行的BERT。当然我们在讲深度学习时&#xff0c;我们离不开机器学习&#xff0c;机器学习的很多基础知识是我们需要的&…

关于OLED屏的笔记

OLED即有机发光管(Organic Light-Emitting Diode,OLED)。OLED显示技术具有自发光、广视角、几乎无穷高的对比度、较低功耗、极高反应速度、可用于绕曲性面板、使用温度范围广、构造及制程简单等有点&#xff0c;被认为是下一代的平面显示屏新兴应用技术。 OLED显示和传统的LCD显…

英文论文(sci)解读复现【NO.6】ASFF-YOLOv5:基于多尺度特征融合的无人机图像道路交通多元检测方法

此前出了目标检测算法改进专栏&#xff0c;但是对于应用于什么场景&#xff0c;需要什么改进方法对应与自己的应用场景有效果&#xff0c;并且多少改进点能发什么水平的文章&#xff0c;为解决大家的困惑&#xff0c;此系列文章旨在给大家解读发表高水平学术期刊中的 SCI论文&a…

Xceed Ultimate Suite 22.3 Crack

Xceed Ultimate Suite 22.3 Crack  Xceed Ultimate Suite是最完整的包括所有用户的工具&#xff0c;并设置所有Xceed和计算机连接以生成书面数据。Xceed Ultimate Suite还为用户提供了140多个预先编写的比较。 Xceed Ultimate Suite公司的功能和特点&#xff1a; -包括.NET在内…

Linux shell脚本 扩展补充示例

通过变量切片、获取变量长度、产生随机数、合并字符串 最后生成随机密码 变量切片、获取变量长度 [xuexue ~]$ a1234567890 [xuexue ~]$ echo $a [xuexue ~]$ echo ${a} [xuexue ~]$ echo ${#a} #获取变量长度 [xuexue ~]$ echo ${a:3:3} #切片&#xff0c;第4个开始获取三个…

力扣题库刷题笔记646-最长数对链

1、题目如下&#xff1a; 2、题解思路代码实现&#xff1a; 本题算是到目前为止&#xff0c;代码能读懂&#xff0c;但是思路并不能完全理解的代码&#xff08;大概能理解&#xff0c;但是无法完全描述&#xff0c;不看题解不能做出&#xff09;&#xff0c;涉及到贪心和排序。…

07_Uboot顶层Makefile分析_make xxx_defconfig

目录 make xxx_defconfig 过程 Makefile.build 脚本分析 scripts_basic 目标对应的命令 %config 目标对应的命令 make xxx_defconfig 过程 在编译uboot之前要使用"make xxx_defconfig"命令来配置uboot,那么这个配置过程是如何运行的呢?在顶层Makefile中有如下代…

C++类模板

类模板和函数模板语法相似&#xff0c;在声明模板template后面加类&#xff0c;此类称为类模板. 类模板作用&#xff1a; 建立一个通用类&#xff0c;类中的成员 数据类型可以不具体制定&#xff0c;用一个虚拟的类型来代表。 语法&#xff1a; template<typename T> …