Ich muss bei Werbeunterbrechungen I-Frames in die Mitte von MP3s einfügen, damit ich zu HLS segmentieren und I-Frames haben kann, wenn das Video wieder aufruft Stellen, aber ich würde es vorziehen, die Stelle (möglicherweise 1 Sekunde des Videos) auszuschneiden, an der der Keyframe benötigt wird, den Keyframe hinzuzufügen und das Video dann wieder zusammenzufügen. Dies sollte die Codierungszeit erheblich verkürzen, da ich mit Ausnahme der Sekunde, in der der I-Frame hinzugefügt wird, die meisten Codecs kopieren kann.
Das einzige Problem ist, dass sich das Videoprofil und die Einstellungen ändern, wenn ich den I-Frame hinzufüge, und ich beim Zusammenfügen keinen sauberen Stich erhalte. Ich verstehe, dass ich mit dem einen neuen Code erstellen kann concat
, aber ich versuche, diese Verarbeitungszeit zu vermeiden.
Einige einfache Beispiele für das, was ich mit ffmpeg versuche:
ffmpeg -i input.mp4 -ss 30 -t 1 -c:a copy -y -copyts clipped2.mp4
ffmpeg -i input.mp4 -t 30 -c copy -y -copyts clipped1.mp4
ffmpeg -i "concat:clipped1.mp4|clipped2.mp4" -c copy -y newOutput.mp4
Möglicherweise muss ich ffprobe
die Bitrate, das Profil und andere Einstellungen für den 1-Sekunden-Clip festlegen, damit nicht standardmäßig zufällige Inhalte verwendet werden, aber ich kann trotzdem nicht dafür sorgen, dass dies richtig funktioniert.
Hat jemand dies erreicht? Dies erfolgt speziell für die serverseitige Anzeigeneinfügung.