ffmpeg - Возможно ли сохранить реальные таймкоды с помощью -copyts?

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заключается в том, чтобы избежать необходимости каждый раз рассчитывать следующие сегменты, поскольку я могу просто установить -ss58: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команду для всех преобразованных вами клипов.

Связанный контент