Benötigen Sie Hilfe bei der Automatisierung von Video- und Audio-Stitching und könnten Hilfe / Anleitung gebrauchen.
Nehmen wir an, ich habe die folgenden Assets: Video 1 Video 2 Video 3 Musik 1
Und ich möchte ein paar Variationen der oben genannten Assets erstellen, wie zum Beispiel:
Variante #1
Video 1 -> Video 3
<----Musik 1----->
Variante #2
Video 3 -> Video 1
<----Musik 1----->
Hinweis Musik müsste basierend auf der Länge der kombinierten Videos gekürzt werden.
Ist es möglich, den oben aufgeführten Assets (die sich auf einem lokalen Server befinden) ein Webformular zuzuordnen und das Webformular letztendlich die Reihenfolge des Videos zu erstellen und auf dem lokalen Server zu rendern?
Wäre, wenn möglich, FFmpeg oder Animoto API (oder eine andere) die richtige Wahl?
Wie viel Zeit/Ressourcen würde es brauchen, um so etwas zu bauen?
Sie können dies ffmpeg
entweder mit dem Concat-Filter oder dem Concat-Demuxer tun . Welche zu verwenden ist, hängt davon ab, ob Ihre Eingaben die gleichen Parameter haben oder nicht. Wenn dies nicht der Fall ist, müssen Sie möglicherweise eine zusätzliche Filterung durchführen, um alles für eine ordnungsgemäße Verkettung geeignet zu machen.
Für Eingaben, die in Bildrate, Breite und Höhe variieren:
ffmpeg -i video0 -i video1 -i video2 -i music -filter_complex \
"[0:v]fps=25,scale=1280x720,setpts=PTS-STARTPTS[v0]; \
"[1:v]fps=25,scale=1280x720,setpts=PTS-STARTPTS[v1]; \
"[2:v]fps=25,scale=1280x720,setpts=PTS-STARTPTS[v2]; \
"[v0][v1][v2]concat=n=3:v=1:a=0,format=yuv420p[v]" \
-map "[v]" -map 3:a -shortest output
Wenn Sie mp4 ausgeben, sollten Sie das Hinzufügen -movflags +faststart
als Ausgabeoption in Betracht ziehen, wenn Ihre Zuschauer über progressiven Download zuschauen.
Wenn alle Ihre Eingaben ähnlich sind, erstellen Sie zuerst eine Listendatei mit dem Namen input.txt
:
file "/path/to/video0"
file "/path/to/video1"
file "/path/to/video2"
Dann laufen ffmpeg
:
ffmpeg -f concat -i input.txt -i music -shortest output
Fügen Sie hinzu, wenn Sie eine Kopie streamen-codec copy
möchten, anstatt sie neu zu codieren. Dies ist mit dem Concat-Filter nicht möglich, da das Filtern eine Neucodierung erfordert.
- Ist es möglich, den oben aufgeführten Assets (die sich auf einem lokalen Server befinden) ein Webformular zuzuordnen und das Webformular letztendlich die Reihenfolge des Videos zu erstellen und auf dem lokalen Server zu rendern?
Ja. Solange Ihr Protokoll von ffmpeg
. Siehe ffmpeg -protocols
für eine Liste, die von Ihrem Build unterstützt wird.
- Wäre, wenn möglich, FFmpeg oder Animoto API (oder eine andere) die richtige Wahl?
Es ist mit möglich ffmpeg
, aber ich habe die Animoto-API noch nie verwendet, daher kann ich dazu nichts sagen.
- Wie viel Zeit/Ressourcen würde es brauchen, um so etwas zu bauen?
Das ist nicht wirklich zu beantworten. Sie haben nur sehr wenige Informationen bereitgestellt, und es hängt von den Fähigkeiten desjenigen ab, der sie erstellt.