Я пытаюсь записать видео с веб-камеры с помощью 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?