レンダリングされたAvmutableCompositionのビデオと同期していないオーディオ
-
10-10-2019 - |
質問
を持っています AVMutableComposition
次のトラックセグメントで:
video:
empty: Y, {{0/1 = 0.000}, {48/100 = 0.480}}
empty: N, {{48/100 = 0.480}, {600/600 = 1.000}}
empty: Y, {{888/600 = 1.480}, {900/600 = 1.500}}
empty: N, {{894/300 = 2.980}, {1040/600 = 1.733}}
audio:
empty: Y, {{0/1 = 0.000}, {48/100 = 0.480}}
empty: N, {{48/100 = 0.480}, {45056/44100 = 1.022}}
empty: Y, {{66224/44100 = 1.502}, {65194/44100 = 1.478}}
empty: N, {{894/300 = 2.980}, {77824/44100 = 1.765}}
タイミングはとして表現されます CMTimeRange
, 、 最初 CMTime
開始時間、2番目の時間は期間です。言い換えれば、2つのオーディオ+ビデオチャンクがあり、それらの前後に空のパディングスペースがあります。
問題は、この構成をエクスポートしてエクスポートされたビデオを再生すると、2番目の空のパディングオーディオセグメントがエクスポート中に無視されたかのように、2番目のオーディオセグメントが早すぎることです。正しいオーディオで最初のビデオセグメントを取得し、すぐに2番目のオーディオセグメントを取得し、その後、オーディオなしで2番目のビデオセグメントを取得します。
何が間違っているのでしょうか?
解決
問題は輸出でした。トラックセグメントを結果のファイルにコピーするだけで、パススルーエクスポートモードを使用していました。タイムスタンプも単にコピーされていると思います。これは、エクスポートされた映画のタイムラインに混乱を引き起こします。エクスポートモードをパススルー以外の何かに設定すると、問題が解決します。
所属していません StackOverflow