1

Это простая задача. Я хочу сделать конвертированный клип из видео, используя -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 ответ1

2

Мне просто нужно было -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 для всех преобразованных вами клипов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .