使用 ffmpeg 在视频文件中嵌入时间戳

使用 ffmpeg 在视频文件中嵌入时间戳

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

相关内容