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.

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.