[FFmpeg-user] iXML chunk

erik.guldager@filmlance.se erik at europasound.se
Sat Apr 22 12:03:51 EEST 2017


Hi,

ffmpeg is such a powerful tool, but still I can't seem to get it to do
absolutely everything I need.
No harm in that but it would be nice to be able to.

In poly wav file recordings used to record audio on film/TV sets, the
detailed track info (and more) is stored in a iXML chunk in the wav file.

It would be great if ffmetadata could handle that area of metadata, or if
it would be possible to "get" a new command like ffixml to
read/write/modify certain data.
I am fully aware that this is a extreme niche question/feature request. But
if anyone is interested to chat about this very issue I'm very interested.

As I am in no way shape or form a coder/developer I just don't have the
knowledge to actually DO anything about this unfortunately.

In my specific use case it would be (among other things that I have not
thought of yet) to be able to grab the correct track name data from the
track list when splitting these poly files to mono. And also to push that
data into the <NOTE> portion of the iXML for certain purposes.

Compare the BEXT chunk here:
----------

RIFF t WAVEfmt


aSCENE= 961/015

aTAKE=t 2

aTAPE=1115

aSPEED=025.000-ND

aTAG=WY4303

aTYP=poly

aCHNL=C1

aTRK1=Bom 1

aNOTE=

----------

To the iXML Data here:

----------

iXML

<BWFXML>

 <IXML_VERSION>1.50a</IXML_VERSION>

 <PROJECT>VAR_TID_</PROJECT>

 <SCENE> 961/015</SCENE>

 <TAKE>   t 2</TAKE>

 <TAPE>1115</TAPE>

 <CIRCLED>TRUE</CIRCLED>

 <UBITS>15111600</UBITS>

 <NOTE>         </NOTE>

 <FILE_UID>AATCAN00568201611151924423030001</FILE_UID>

 <SPEED>

  <TIMECODE_FLAG>NDF</TIMECODE_FLAG>

  <TIMECODE_RATE>25/1</TIMECODE_RATE>

  <FILE_SAMPLE_RATE>48000</FILE_SAMPLE_RATE>

  <AUDIO_BIT_DEPTH>24</AUDIO_BIT_DEPTH>

  <DIGITIZER_SAMPLE_RATE>48000</DIGITIZER_SAMPLE_RATE>


<TIMESTAMP_SAMPLES_SINCE_MIDNIGHT_HI>0</TIMESTAMP_SAMPLES_SINCE_MIDNIGHT_HI>


<TIMESTAMP_SAMPLES_SINCE_MIDNIGHT_LO>3345888000</TIMESTAMP_SAMPLES_SINCE_MIDNIGHT_LO>

  <TIMESTAMP_SAMPLE_RATE>48000</TIMESTAMP_SAMPLE_RATE>

 </SPEED>

 <HISTORY>

  <ORIGINAL_FILENAME>WY4303PR.WAV</ORIGINAL_FILENAME>

 </HISTORY>

 <FILE_SET>

  <TOTAL_FILES>1</TOTAL_FILES>

  <FAMILY_UID>AATCAN00568201611151924423030000</FAMILY_UID>

  <FAMILY_NAME> 961/015/   t 2</FAMILY_NAME>

  <FILE_SET_INDEX>A</FILE_SET_INDEX>

 </FILE_SET>

 <TRACK_LIST>

  <TRACK_COUNT>6</TRACK_COUNT>

  <TRACK>

   <CHANNEL_INDEX>7</CHANNEL_INDEX>

   <INTERLEAVE_INDEX>1</INTERLEAVE_INDEX>

   <NAME>Bom Mix</NAME>

  </TRACK>

  <TRACK>

   <CHANNEL_INDEX>8</CHANNEL_INDEX>

   <INTERLEAVE_INDEX>2</INTERLEAVE_INDEX>

   <NAME>Mygg Mix</NAME>

  </TRACK>

  <TRACK>

   <CHANNEL_INDEX>1</CHANNEL_INDEX>

   <INTERLEAVE_INDEX>3</INTERLEAVE_INDEX>

   <NAME>Bom 1</NAME>

  </TRACK>

  <TRACK>

   <CHANNEL_INDEX>2</CHANNEL_INDEX>

   <INTERLEAVE_INDEX>4</INTERLEAVE_INDEX>

   <NAME>Calle</NAME>

  </TRACK>

  <TRACK>

   <CHANNEL_INDEX>3</CHANNEL_INDEX>

   <INTERLEAVE_INDEX>5</INTERLEAVE_INDEX>

   <NAME>blank</NAME>

  </TRACK>

  <TRACK>

   <CHANNEL_INDEX>4</CHANNEL_INDEX>

   <INTERLEAVE_INDEX>6</INTERLEAVE_INDEX>

   <NAME>Sonja</NAME>

  </TRACK>

 </TRACK_LIST>

 <BEXT>

  <BWF_TIME_REFERENCE_LOW>-949079296</BWF_TIME_REFERENCE_LOW>

  <BWF_TIME_REFERENCE_HIGH>0</BWF_TIME_REFERENCE_HIGH>

  <BWF_ORIGINATOR>         CANTAR 00568 v     2.44</BWF_ORIGINATOR>

  <BWF_ORIGINATOR_REFERENCE>AATON
WY43030000</BWF_ORIGINATOR_REFERENCE>

  <BWF_DESCRIPTION>aUBITS=$15111600

aSCENE= 961/015

aTAKE=t 2

aTAPE=1115

aSPEED=025.000-ND

aTAG=WY4303

aTYP=poly

aCHNL=C1

aTRK1=Bom 1

aNOTE=

</BWF_DESCRIPTION>

  <BWF_ORIGINATION_DATE>2016-11-15</BWF_ORIGINATION_DATE>

  <BWF_ORIGINATION_TIME>19:21:47</BWF_ORIGINATION_TIME>

  <BWF_VERSION>0</BWF_VERSION>

 </BEXT>

 <SYNC_POINT_LIST>

  <SYNC_POINT>

   <SYNC_POINT_TYPE>RELATIVE</SYNC_POINT_TYPE>

   <SYNC_POINT_FUNCTION>SLATE_GENERIC</SYNC_POINT_FUNCTION>

   <SYNC_POINT_COMMENT>AUTO</SYNC_POINT_COMMENT>

   <SYNC_POINT_LOW>2325490</SYNC_POINT_LOW>

   <SYNC_POINT_HIGH>0</SYNC_POINT_HIGH>

   <SYNC_POINT_EVENT_DURATION>0</SYNC_POINT_EVENT_DURATION>

  </SYNC_POINT>

 </SYNC_POINT_LIST>

 <AATON_CANTAR>

  <VERSION_INT>244</VERSION_INT>

  <VERSION_STR>2.44</VERSION_STR>

  <NUMBER>568</NUMBER>

  <WORD_CLOCK>

   <ON>0</ON>

  </WORD_CLOCK>

  <INPUT_DELAY>

   <MIC1>0</MIC1>

   <MIC2>0</MIC2>

   <MIC3>0</MIC3>

   <MIC4>0</MIC4>

   <MIC5>0</MIC5>

   <LINE1>0</LINE1>

   <LINE2>0</LINE2>

   <LINE3>0</LINE3>

   <LINE4>0</LINE4>

   <MICS>0</MICS>

  </INPUT_DELAY>

  <HANDLE_INDEX>0</HANDLE_INDEX>

  <DISPLAYED_TC_FPS>25.00</DISPLAYED_TC_FPS>

  <REF_LEVEL>-20 dB</REF_LEVEL>

  <DRIVE_USED>INT+EXT</DRIVE_USED>

  <PLAYBACK_AND_REC>

  </PLAYBACK_AND_REC>

  <CANTAR_KEY>NRJz5Z7tpkiQ2JJ</CANTAR_KEY>

 </AATON_CANTAR>

</BWFXML>

----------

If anyone feels like doing something with this, I wold love to hear from
you.
email: erik(at)europasound.se

-- 

--------------------------------------------------

Erik Guldager

Sound designer / re-recording mixer

Filmlance International
Direct +46(0)70 495 60 82
Office +46 (0)8 459 73 80

www.filmlance.se


More information about the ffmpeg-user mailing list