ffmpeg 保留所有视频元数据

ffmpeg 保留所有视频元数据

我的视频元数据不正确,导致颜色混乱。以下是原始视频的流 0:0 元数据:

Stream #0:0(und): Video: hevc (Main 10) (hev1 / 0x31766568), yuv420p10le(pc), 1920x1080 [SAR 1:1 DAR 16:9], 1808 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default)
    Metadata:
      handler_name    : Video Media Handler
      vendor_id       : [0][0][0][0]
      encoder         : \013DOVI Coding
    Side data:
      DOVI configuration record: version: 1.0, profile: 5, level: 3, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 0

这是不起作用的代码:

ffmpeg -i input.mp4 -i cover.jpg -disposition:0 attached_pic -map 1 -map 0 -vcodec copy -map_metadata 0 -acodec aac -b:a 512k -c:s mov_text output.mp4

结果如下:

  Duration: 01:50:24.42, start: 0.000000, bitrate: 2326 kb/s
  Stream #0:0(und): Video: hevc (Main 10) (hev1 / 0x31766568), yuv420p10le(pc), 1920x1080 [SAR 1:1 DAR 16:9], 1808 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 512 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
  Stream #0:2(eng): Subtitle: mov_text (tx3g / 0x67337874), 0 kb/s (default)
    Metadata:
      handler_name    : SubtitleHandler
  Stream #0:3: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 500x750 [SAR 144:144 DAR 2:3], 90k tbr, 90k tbn (attached pic)

流 0:0handler_name已从 更改为Video Media Handler并且VideoHandler侧数据丢失。我还有其他媒体,其中有一串文本,handler_name在重新编码时也会丢失。最终结果是我的媒体播放器不再将视频识别为 HDR,我得到的是紫色的人。

我如何保留视频的元数据?

相关内容