Frage

Ich habe eine AVMutableComposition mit den folgenden Spursegmenten:

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}}

Der Zeitpunkt als CMTimeRange ausgedrückt wird, die erste CMTime ist die Startzeit ist die zweite Dauer. Mit anderen Worten gibt es zwei Audio + Video Stücke mit einigem leeren padding Raum vor und zwischen ihnen.

Das Problem ist, dass, wenn ich diese Komposition exportieren und die exportierte Video abspielen, das zweite Audiosegment zu früh spielt, als ob die zweite leere Polsterung Audio-Segment beim Export ignoriert wurde. Ich erhalte das erste Video-Segment mit richtigen Audio, dann sofort das zweiten Audio-Segment und dann später das zweite Video-Segment ohne Ton.

Was könnte falsch sein?

War es hilfreich?

Lösung

Das Problem war in den Export. Ich war mit dem Pass-Through-Export-Modus, dass nur kopiert die Spursegmente in die resultierende Datei. Ich denke, den Zeitstempel einfach kopiert werden, auch, was ein Chaos in der Zeitleiste des exportierten Films verursacht. Einstellen des Exportmodus auf etwas anderes als das Pass-Through löst das Problem.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top