我正在做一个项目,我需要解析.afb项目文件,并提取与外部音频文件(WAV和MP3文件)的使用相关的所有文件名以及使用的持续时间。基于此,我正在开发的应用程序应该能够生成生产中使用的音频的报告。
我该如何最好地完成这项任务?
很遗憾,AVB文件格式规范不是公开的。您的最佳选择可能是从Avid应用程序内部导出序列的AAF或EDL,并在程序中使用它。例如,与Avid Pro Tools的交换完全是AAF/OMF完成的。
但是,如果你真的对自己解析.afb文件感兴趣,有一种工具可以解析基本结构并将其转储到伪XML文件中,但格式的大部分块仍然是个谜,所以如果你走上这条路,请准备好使用十六进制编辑器:
http://www.medien.ifi.lmu.de/team/raphael.wimmer/projects/avb_parser/
我通过分析他们程序在几个测试文件上的输出,使用十六进制编辑器,并阅读他们解析器的源代码,自己发现了一些更具体的信息。如果你对我的发现感兴趣(包括如何引用文件和如何存储定位器的基础),请发邮件给我PeterWerner@gmx.ch我会发送到目前为止我得到的内容(它基本上是一个以非正式规范开头的文本文件,但除了他们的解析器中的内容之外,还没有太多期望,但它解释了一些事情,纠正了一些轻微的错误,并包含了如何解析.avp文件(引用项目中所有bin的项目文件)的信息)。如果你发现更多的细节,请告诉我,我也会感兴趣的。
祝你好运!
正如Peter所指出的,没有.afb文件的公共文档,所以您唯一的选择似乎是对格式进行逆向工程,或者使用现有的工具来帮助您。我只知道两个这样的工具:
Avid MediaLog允许您将bin导出为.ALE或制表符分隔的文本文件。你必须手动打开每个箱子,并将其导出。
Automatic Duck的媒体复制可以读取.afb文件,用于复制.mxf媒体文件。它可以一次读取几个.afb文件箱,在让它复制实际的媒体文件之前,您可以要求它输出一个HTML报告。HTML是一个非常干净的表,如果你发现它包含了你需要的信息,它很容易解析。
媒体复制现在是免费的。Avid的MediaLog也是免费的,但Avid让你经历了荒谬的困难才能获得它。你需要创建一个Avid帐户来下载完整的Avid Symphony或Media Composer安装程序,在其中你可以找到MediaLog安装程序。
如果有一个简单的avb2txt命令行程序,那将是非常棒的,但目前还没有。
我之前也在AVID的.afb文件中工作。经过一些研究,我最终将.afb导出到了EDL文件(这几乎是一个文本文件)中,该文件包含了您想要的所有信息。