我的视频元数据不正确,导致颜色混乱。以下是原始视频的流 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,我得到的是紫色的人。
我如何保留视频的元数据?