Я пытаюсь записать видео с веб-камеры с помощью ffmpeg, сохраняя при этом точную метку времени в видеоформате, чтобы впоследствии я мог сопоставить ее с другими записанными видео:

ffmpeg -f v4l2 -ts abs -video_size 1280x720 -i /dev/video0 -copyts ts_test.mkv

Это однако, кажется, портит продолжительность видео. Использование ffprobe:

$ ffprobe ts_test.mkv                                                           
...
Input #0, matroska,webm, from 'ts_test.mkv':
  Metadata:
    ENCODER         : Lavf56.40.101
  Duration: 428390:10:05.90, start: 1542204570.100000, bitrate: N/A
    Stream #0:0: Video: h264 (High 4:2:2), yuv422p, 1280x720, SAR 1:1 DAR 16:9, 10 fps, 10 tbr, 1k tbn, 20 tbc (default)
    Metadata:
      ENCODER         : Lavc56.60.100 libx264
      DURATION        : 428390:10:05.900000

Таким образом, хотя время начала указано как текущая эпоха, продолжительность теперь также установлена на время, прошедшее с 1970 года (~ 428390 часов), что, очевидно, мешает большинству видеоплееров.

Как правильно записать отметку времени с помощью ffmpeg?

0