ffmpeg - возможно ли сохранить коды реального времени, используя -copyts?

1111
HASJ

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

1 ответ на вопрос

2
HASJ

I just had to -c copy. Had forgotten about it:

Put all your new clips in a new folder (webm as a suggestion) and inside that folder, create another folder named new and do this

ffmpeg -i input.webm -c copy new\output.webm

For an automated process do this:

for %i in ("*.webm") do ffmpeg -i %i -c copy new\%~ni.webm

This will repeat the -c copy command to all the clips you converted.

Похожие вопросы