Open discussion about tools and MXF in general
It is currently Thu Sep 23, 2021 8:40 pm
Board index » MXF Categories » Tools

Post new topic Reply to topic  [ 2 posts ] 
Search for:


Joined: Fri May 09, 2008 2:05 pm
Posts: 1

Post Posted: Fri May 09, 2008 2:25 pm 
i'am new to this forum and i have downloaded the sources files on cvs.
first, i whish to thank the freeMXF team for this work.

i'have compiled the beta version mxflib-beta-1.0.1 with visual c++ 2008 express.

i can unwrap video essence from avid mxf,
but when I try to unwrap mxf audio file from avid mxf with -s options the result stream file is not in wave format.
the file appears to be raw data.

in dict.xml i'seen
"Oliver Added extra properties for Avid MXF (extract later)"

is there a sample to extract wav audio from avid mxf ?

and my last question:
there is somes options in source that are commented like

//fprintf( stderr," [-i] Split Index Table Segments \n" );
//fprintf( stderr," [-g] Split Generic Containers into Elements \n" );
fprintf( stderr," [-w:n] Split AESBWF Elements into n-channel wave files \n" );
//fprintf( stderr," [-m] Subdivide AESBWF Elements into mono wave files \n" );
//fprintf( stderr," [-s] Subdivide AESBWF Elements into stereo wave files \n" );
//fprintf( stderr," [-p] Split Partitions \n");

but the command line parser seems to use this options, Why ??

thank you

ps if anyone want some mxf files from avid i can publish the files on our ftp.


Board User

Joined: Mon Oct 22, 2007 1:43 pm
Posts: 9

Post Posted: Tue May 13, 2008 8:26 am 
The -s flag (SplitStereo) isn't used in mxfsplit, the -w flag (SplitWave) however is.

Apart from that, the header in an AVID WAV file contains some extra chunks which may prevent the essence from being recognized. (I'd have to check how this translates into a WAV file wrapped inside an mxf file, but I don't have a suitable mxf file available)

An optional solution could be to prepend a WAV header to the RAW PCM essence yourself.
The structure is very simple:

      fourcc      fRIFF;            // 0
      LEUInt32   RIFF_len;         // 4
      fourcc      fWAVE;            // 8

      fourcc      ffmt_;            // 12
      LEUInt32   fmt__len;         // 16

      LEUInt16   format;            // 20
      LEUInt16   nchannels;         // 22
      LEUInt32   samplespersec;      // 24
      LEUInt32   avgbps;            // 28
      LEUInt16   blockalign;         // 32
      LEUInt16   bitspersample;      // 34

      fourcc      data;            // 36
      LEUInt32   data_len;         // 40
                              // 44

and the code to fill out the fields can be copied fom the mxfsplit application.

void WriteWaveHeader(FileHandle File, Int16 Channels, UInt32 SamplesPerSec, UInt16 BitsPerSample, UInt32 DataSize /*=0*/)

Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

Jump to:  

Who is online

Users browsing this forum: No registered users and 3 guests

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by :: All times are UTC