我正在尝试使用 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 记录时间戳的正确方法是什么?