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