我发现this library应该执行了我需要做的事情(为NLE构建XML文件)。它应该是一个非常容易使用的用于构建xml的库。我认为这会起作用:
import openclip
oc = openclip.OpenClip('testclip.clip')
tracks = openclip.elements.Tracks(None, oc)
# video
vtrack = openclip.elements.Track(None, tracks)
vfeeds = openclip.elements.Feeds(None, vtrack)
vfeed = openclip.elements.Feed(None, vfeeds)
vfeed.element.set('startTimecode', str( v['sync_point_samples'] ))
vfeed.element.set('sampleRate', str( v['sample_rate'] ))
vspans = openclip.elements.Spans(None, vfeed)
vspan = openclip.elements.Span(None, vspans)
vspan.element.set('path', v['path'])
# audio
atrack = openclip.elements.Track(None, tracks)
afeeds = openclip.elements.Feeds(None, vtrack)
afeed = openclip.elements.Feed(None, vfeeds)
afeed.element.set('startTimecode', str( a['sync_point_samples'] ))
afeed.element.set('sampleRate', str( a['sample_rate'] ))
aspans = openclip.elements.Spans(None, vfeed)
aspan = openclip.elements.Span(None, vspans)
aspan.element.set('path', v['path'])
这是一个非常粗糙的总体思路,我试图基本上创建一个包含两个轨道的剪辑-一个用于音频,一个用于视频。我认为这可以像Etree一样工作,您可以在其中创建子元素并将其分配给父元素,然后逐步构建XML。
但这不起作用。该文档不是很详细的用法示例,所以我很困惑。也试图查看源代码,找不到有用的东西。有什么想法我想念的吗? (请注意,我也尝试与开发者联系,他没有回答)。