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 Команда для всех клипов, которые вы конвертировали.

Другие вопросы по тегам