sbrattla
sbrattla

Reputation: 5386

Parse Avid's .avb format

I'm working on a project where I need to parse .avb project files and extract all filenames associated with usage of external audio files (WAV and MP3 files) along with the duration of the usage. Based on this, the application I'm working on should be able to generate a report of the audio used in a production.

How would I best approach this task?

Upvotes: 1

Views: 3100

Answers (3)

Umesh Pathak
Umesh Pathak

Reputation: 85

I was also working in the AVID's .avb files earlier. With some research, I ended up in exporting .avb into .EDL file (which is pretty much a text file) that has all the info you are seeking for.

Upvotes: -1

mivk
mivk

Reputation: 14999

As Peter noted, there is no public documentation of .avb files, so your only options seem to be to reverse engineer the format, or use existing tools to help you. I know only 2 such tools:

Avid MediaLog lets you export bins as .ALE or tab-delimited text files. You have to manually open each bin, and export it.

Automatic Duck's Media Copy can read .avb files for the purpose of copying the .mxf media files. It can read several .avb bins at once, and before letting it copy the actual media files, you can ask it to output an HTML report. The HTML is a pretty clean table which is easy to parse if you find that it contains the info you need.

Media Copy is now free. Avid's MediaLog is also free, but Avid makes you go through ridiculous hoops to get it. You need to create an Avid account to download a full Avid Symphony or Media Composer installer, inside which you can find the MediaLog installer.

It would be really great to have a simple avb2txt command-line program, but there isn't one for now.

Upvotes: 1

Peter
Peter

Reputation: 21

Well, unfortunately the AVB file format specification is not public. Your best option is probably to export an AAF or EDL of your sequence from inside the Avid application and work with that in your program. Exchange with Avid Pro Tools is done entirely AAF/OMF as well for instance.

But if you are really interested in parsing the .avb files yourself, there is a tool that can parse the basic structure and dump it to a pseudo-XML file, but most of the chunks of the format are still a mystery, so be prepared to get your hands dirty with a hex editor if you go down that path:

http://www.medien.ifi.lmu.de/team/raphael.wimmer/projects/avb_parser/

I found out some more specific info myself by analyzing the output of their program on a few test files, going in with a hex editor and reading through the source code of their parser. If you are interested in my findings (including the foundations on how files are referenced and how locators are stored), just shoot me a mail at [email protected] and I'll send what I have got so far (it is basically a text file with the beginnings of an inofficial specification, but don't expect much beyond what's in their parser yet, but it explains a few things, corrects a few slight errors and contains info on how to parse .avp files (the project files that references all the bins in a project)). In case you find out some more details, please let me know, I'd be interested as well.

Good luck!

Upvotes: 2

Related Questions