ffmpeg - Ist es möglich, echte Timecodes mit -copyts beizubehalten?

1

Es ist eine einfache Aufgabe. Ich möchte einen konvertierten Clip eines Videos erstellen -copyts, indem ich ihn als echten Timecode verwende. Zum Beispiel der konvertierte Clip dieses Befehls:

ffmpeg -hide_banner -ss 57:41.76 -i input.mp4 -copyts -fs 4085Ki -vf scale=1280:-1 -c:v libvpx -crf 10 -b:v 1000K -maxrate:v 1600K -bufsize 800Ki -threads 4 -quality good -cpu-used 5 -c:a libvorbis -b:a 64Ki -maxrate:a 128Ki input.webm

Hat eine Dauer von 31 Sekunden, aber:

frame=  938 fps=7.7 q=0.0 Lsize=    4089kB time=00:58:13.15 bitrate=   9.6kbits/s speed=28.8x

Sagt, dass es 58: 13,15 Minuten hat.

Ich kann die normale Dauer erreichen, indem ich -copytsaus dem Befehlscode entferne, aber der ganze Grund, den ich benutze, -copytsbesteht darin, nicht jedes Mal die nächsten Segmente berechnen zu müssen, da ich einfach -ss58: 13.15 einstellen und loslegen kann.

Gibt es eine Möglichkeit, die Dauer der konvertierten Dateien zu ändern, ohne sie erneut zu konvertieren? Sie möchten Metadaten ändern?

Ich bin auf Windows 7.

HASJ
quelle

Antworten:

2

Ich musste es einfach tun -c copy. Hatte es vergessen:

Legen Sie alle Ihre neuen Clips in einen neuen Ordner (als Vorschlag webm) und erstellen Sie in diesem Ordner einen weiteren Ordner mit dem Namen newund tun Sie dies

ffmpeg -i input.webm -c copy new\output.webm

Führen Sie für einen automatisierten Prozess Folgendes aus:

for %i in ("*.webm") do ffmpeg -i %i -c copy new\%~ni.webm

Dadurch wird der -c copyBefehl für alle Clips wiederholt, die Sie konvertiert haben.

HASJ
quelle