Hi,
ich nutze dieses einfache Skript um 2 Videos synchron zu halten und dann die deutsche Tonspur unter dem SD-Video unter das HD-Video zu legen.
Code
v1 = FFVideoSource("input1.mkv", threads=1)
a1 = FFAudioSource("input1.mkv")
hd1 = AudioDub(v1,a1)
v2 = FFVideoSource("input1.mkv", threads=1).BicubicResize(1920,1080)
a2 = FFAudioSource("input1.mkv")
sd1 = AudioDub(v2,a2).changefps(23.976)
StackHorizontal(hd1,sd1)
#audiodub(hd1,sd1)
StackHorizontal nutze ich um beide Videos auf synchronität zu püfen, das Encoding mache ich dann indem ich auduidub() auskommentiere. Normal habe ich 25fps-SD-Quellen und 23.976-fps-HD-Quellen und das geht mit AssumeFPS(). Der Filter hat eine Audio-Sync-Funktion und ich muss mich um nichts weiter kümmern. Beim aktuellen Video muss ich aber ChangeFPS() verwenden. Keine Ahnung wieso. Die Videos sind absolut sync, aber Audio nicht.
Wie kann ich trotz Einsatz von ChangeFPS dafür sorgen, dass Audio synchron zum Video bleibt?