- Posts: 9
- Joined: Mon Sep 04, 2017 2:28 pm
I make a translator tool that converts FCPX XML (.fcpxml) and FCP XML (.xml) into some other formats.
I have recently been getting audio related bug reports from Resolve users.
These bugs appear to be long standing but I assume nobody noticed before because Resolve was mainly used by Colorists where audio wasn't relevant. Now more people are using it for editing this is becoming more of an issue.
FCPX XML (.fcpxml) problems:
Problem 1: Assets that have multiple audio streams are not being encoded correctly.
The two assets are a MOV with 6 streams of 1 channel each, and another MOV with 1 streams of 6channels.
The first asset definition is incorrect. It should have audioSources="6", not ="1". In FCPX XML the audioSources count is number of streams the files contains, and the audioChannels count is number of channels per stream.
Problem 2: Also in the timeline itself, these audio elements should refer sequentially to streams 1-6 but they are missing the srcID attribute which indicates this. They only mention the source channel but without the stream that information is insufficient. When a srcID is missing, it defaults to 1. So all these clips are coming out as stream 1, channel 1. They should have srcID="1" then srcID="2" etc.
In FCP XML (XMEML / .xml) the export has the following problems:
Problem 1: Missing source channel information on audio clipitems. This is critical because it means that from a multichannel or even dual mono file, you don't know which mic is actually being used in the edit.
The clipitem tag should have a sourcetrack tag when mono channel from a multichannel file is being used.
Problem 2: (Not as critical as source channel information) but tracks can also have extra format and output channel routing information. This one doesn't affect me but you may like to address it anyway for sake of completeness.
NOTE: In FCP XML (XMEML / .xml) there is no distinction between streams vs channels like there is in .fcpxml, so 3rd stream is same as 3rd channel because multiple streams are always assumed to be mono.
I have recently been getting audio related bug reports from Resolve users.
These bugs appear to be long standing but I assume nobody noticed before because Resolve was mainly used by Colorists where audio wasn't relevant. Now more people are using it for editing this is becoming more of an issue.
FCPX XML (.fcpxml) problems:
Problem 1: Assets that have multiple audio streams are not being encoded correctly.
The two assets are a MOV with 6 streams of 1 channel each, and another MOV with 1 streams of 6channels.
The first asset definition is incorrect. It should have audioSources="6", not ="1". In FCPX XML the audioSources count is number of streams the files contains, and the audioChannels count is number of channels per stream.
- Code: Select all
<asset name="embeded-mc-audio-test-6x1.mov" hasVideo="1" id="r1" audioChannels="1" format="r0" hasAudio="1" src="file:///Volumes/System/Users/john/Development/bugs/Resolve/Glenn/vordio-test.dra/MediaFiles/DATA_CACHE/RENDERS/embeded-mc-audio-test-6x1.mov" audioSources="1" start="3600/1s" duration="486/25s"/>
<asset name="embeded-mc-audio-test-1x6.mov" hasVideo="1" id="r2" audioChannels="6" format="r0" hasAudio="1" src="file:///Volumes/System/Users/john/Development/bugs/Resolve/Glenn/vordio-test.dra/MediaFiles/DATA_CACHE/RENDERS/embeded-mc-audio-test-1x6.mov" audioSources="1" start="3600/1s" duration="486/25s"/>
Problem 2: Also in the timeline itself, these audio elements should refer sequentially to streams 1-6 but they are missing the srcID attribute which indicates this. They only mention the source channel but without the stream that information is insufficient. When a srcID is missing, it defaults to 1. So all these clips are coming out as stream 1, channel 1. They should have srcID="1" then srcID="2" etc.
- Code: Select all
<clip lane="2" name="embeded-mc-audio-test-6x1.mov" enabled="1" offset="90268/25s" start="90268/25s" duration="16/5s">
<audio offset="3600/1s" ref="r1" srcCh="1" start="3600/1s" duration="486/25s"/>
</clip>
<clip lane="3" name="embeded-mc-audio-test-6x1.mov" enabled="1" offset="90268/25s" start="90268/25s" duration="131/25s">
<audio offset="3600/1s" ref="r1" srcCh="1" start="3600/1s" duration="486/25s"/>
</clip>
<clip lane="4" name="embeded-mc-audio-test-6x1.mov" enabled="1" offset="90238/25s" start="90238/25s" duration="161/25s">
<audio offset="3600/1s" ref="r1" srcCh="1" start="3600/1s" duration="486/25s"/>
</clip>
<clip lane="5" name="embeded-mc-audio-test-6x1.mov" enabled="1" offset="90349/25s" start="90349/25s" duration="136/25s">
<audio offset="3600/1s" ref="r1" srcCh="1" start="3600/1s" duration="486/25s"/>
</clip>
<clip lane="6" name="embeded-mc-audio-test-6x1.mov" enabled="1" offset="90238/25s" start="90238/25s" duration="197/25s">
<audio offset="3600/1s" ref="r1" srcCh="1" start="3600/1s" duration="486/25s"/>
</clip>
<clip lane="7" name="embeded-mc-audio-test-6x1.mov" enabled="1" offset="3616/1s" start="3616/1s" duration="17/5s">
<audio offset="3600/1s" ref="r1" srcCh="1" start="3600/1s" duration="486/25s"/>
</clip>
In FCP XML (XMEML / .xml) the export has the following problems:
Problem 1: Missing source channel information on audio clipitems. This is critical because it means that from a multichannel or even dual mono file, you don't know which mic is actually being used in the edit.
The clipitem tag should have a sourcetrack tag when mono channel from a multichannel file is being used.
- Code: Select all
<sourcetrack>
<mediatype>audio</mediatype>
<trackindex>2</trackindex>
</sourcetrack>
Problem 2: (Not as critical as source channel information) but tracks can also have extra format and output channel routing information. This one doesn't affect me but you may like to address it anyway for sake of completeness.
NOTE: In FCP XML (XMEML / .xml) there is no distinction between streams vs channels like there is in .fcpxml, so 3rd stream is same as 3rd channel because multiple streams are always assumed to be mono.