2017-10-16 13 views
0

Ich habe Code geschrieben, um mehrere Audiodateien mit einem Bild in WebM Video zu kombinieren. (Audio1 mit Standard-JPG, Audio2 kombiniert mit Standard-JPG, usw.).ffmpeg - Video länger als Audio, nachdem Bild und Audio mit Video kombiniert wurden

Das Problem ist, dass die Videolänge danach 25 Sekunden länger ist als die Audiolänge (also schneidet Audio 25 Sekunden vor dem Ende des Videos).

Gibt es eine Möglichkeit, das Video genau zur gleichen Zeit des Audios zu stoppen? Hier ist der Code, den ich verwendet (I starten Sie eine BAT-Befehlsdatei)

@echo off 
for %%F in (*.ogg) do ( 
    ffmpeg -loop 1 -framerate 1 -i "default.jpg" -i "%%F" -acodec libopus -b:a 384k -vcodec libvpx-vp9 -lossless 1 -speed 4 -vf scale=1280x720 -shortest "%%F.webm" 
) 
+0

Irgendwelche Hilfe? Sehr wichtig. –

+0

Es ist ein Fehler, Siehe https://trac.ffmpeg.org/ticket/5456 – Mulvya

+0

Ich sah schon, dass es nicht hilft. Ich werde keine Version 2012 von ffmpeg verwenden. Ist es also möglich, die letzten 25 Sekunden Video für jedes erstellte Medium mit ffmpeg zu entfernen? Wie kannst du jedes Audio mit einem bestimmten Bild verbinden, um mehrere Videos zu machen und dann die letzten 25 Sekunden zu entfernen? –

Antwort

0

Ok, das ist eine Lösung von Sorten:

Führen Sie zuerst Ihre ursprüngliche Befehl

ffmpeg -loop 1 -framerate 1 -i "default.jpg" -i "%%F" 
     -acodec libopus -b:a 384k -vcodec libvpx-vp9 -lossless 1 -speed 4 -vf scale=1280x720 -shortest temp.webm 

und dann

ffmpeg -i temp.webm -c copy -fflags shortest -max_interleave_delta 10000000000 -flush_packets 0 "%%F.webm" 

Dies erzeugt eine Datei 1 Sekunde länger als die Audiodauer.

0

Vielen Dank! Alternative Lösung (es ist jetzt gelöst), ersetzt -b: ein 384k by "Kopieren" funktioniert. Beim Erstellen von Medien mit kombiniertem Bild/Audio scheint die Audio-/Videolänge synchron zu sein, wenn Sie die Audioquellqualität beibehalten, ohne erneut zu codieren. Das war das Problem.

Verwandte Themen