ffmpeg - возможно ли сохранить коды реального времени, используя -copyts?
Это простая задача. Я хочу сделать конвертированный клип из видео, используя -copyts
иметь реальные коды времени. Например, преобразованный клип этой команды:
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
Длительность 31 секунда, но:
frame= 938 fps=7.7 q=0.0 Lsize= 4089kB time=00:58:13.15 bitrate= 9.6kbits/s speed=28.8x
Говорит, что у него 58:13.15 минут.
Я могу добиться нормальной продолжительности, удалив -copyts
из кода команды, но вся причина, которую я использую -copyts
чтобы избежать необходимости рассчитывать следующие сегменты каждый раз, так как я могу просто установить -ss
58:13.15 и приступай.
На вопрос, есть ли способ изменить продолжительность преобразованных файлов без повторного преобразования? Как изменение метаданных?
Я на Windows 7.
1 ответ
Я просто должен был -c copy
, Забыл об этом:
Поместите все ваши новые клипы в новую папку (webm как предложение) и внутри этой папки создайте другую папку с именем new
и сделай это
ffmpeg -i input.webm -c copy new\output.webm
Для автоматизированного процесса сделайте это:
for %i in ("*.webm") do ffmpeg -i %i -c copy new\%~ni.webm
Это будет повторять -c copy
Команда для всех клипов, которые вы конвертировали.