Страница 1 из 1

сохранять временную базу и pts всех кадров при перекодировании

Добавлено: 08 окт 2023, 08:44
ya
Для получения идентичных временных меток необходимо задать 3 параметра:
-vsync 0, чтобы избежать дублирования кадров и подстройки временной базы,
-enc_time_base -1, чтобы избежать подстройки временной базы на уровне кодера, и
-video_track_timescale с обратным значением временной базы источника.

Код: Выделить всё

ffmpeg -i original.mp4 -vsync 0 -enc_time_base -1 -video_track_timescale 1000 test.mp4
Обратите внимание, что при параметрах кодирования по умолчанию B-кадры включены для кодера по умолчанию (libx264 для MP4), поэтому кадры будут храниться в порядке декодирования, который не совпадает с порядком представления. Для отключения этого параметра добавьте -bf 0.