杜比视界原盘的压制方法
dwing吧
全部回复
仅看楼主
level 11
科技功效 楼主
最近摸索了一下压制杜比视界原盘,并裁切黑边、保留杜比视界元数据的方法,这里分享一下。
2026年04月10日 05点04分 1
level 11
科技功效 楼主
首先简单介绍一下HDR及杜比视界。HDR的元数据包括基础层和动态增强层两层,目前的基础层有两种,HDR PQ(HDR10)的静态元数据和HLG的无元数据。然后HDR10+、杜比视界、HDR Vivid都是增强层的动态元数据,除了HDR10+只能以PQ为基础层之外,杜比视界和vivid都可以以PQ或HLG作为基础层。
2026年04月10日 05点04分 2
level 11
科技功效 楼主
作为目前最高规格的HDR格式,蓝光盘的杜比视界是以HDR10作为基础层的,采用profile 7.6的双层元数据。
如果使用ffmpeg直接压制,由于它无法处理杜比视界元数据,会直接丢弃、只保留HDR10的静态元数据,压制出来的视频就成了普通的HDR10视频。实际上双层元数据难以处理且没必要,一般压制时会将其转换为profile8.1的单层元数据,基本可以保留完整的杜比视界规格。下面介绍这种压制方法。需要用到的工具,除了ffmpeg之外,还有mkvextract、dovi_tool和mp4muxer。
杜比视界和H265高度绑定,所以要做杜比视界只建议用x265压制。
2026年04月10日 05点04分 3
level 11
科技功效 楼主
第一步:使用mkvextract提取裸流:
mkvextract input.mkv tracks0:raw_video.hevc
2026年04月10日 05点04分 4
level 11
科技功效 楼主
第二步:使用 dovi_tool 进行转换。拿到完整的 raw_video.hevc 后,再使用 dovi_tool 将其降级并丢弃不需要的扩展层:
dovi_tool -m 2 convert --discardraw_video.hevc -o p8_video.hevc
2026年04月10日 05点04分 5
level 11
科技功效 楼主
第三步:裁切黑边(如果不裁切,可跳过这一步),使用 dovi_tool 直接查看提取出来的 RPU 元数据中 Level 5(L5)有效显示区域(Active Area)的精确数值。
dovi_tool info -i original.rpu -f 0
找到下面这个部分,其中的数值就是要裁切的区域:
Level 5:
active_area_left_offset: 0
active_area_right_offset: 0
active_area_top_offset: 280
active_area_bottom_offset: 280
将RPU中的裁切参数置零:
dovi_tool editor -c -i original.rpu -o cropped.rpu
2026年04月10日 05点04分 6
level 11
科技功效 楼主
第四步,根据上一步的裁切参数,使用x265压制视频。Ffmpeg会自动跳过杜比视界增强层,保留HDR10基础层进行压制。
2026年04月10日 05点04分 7
level 11
科技功效 楼主
第五步,使用dovi_tool注入杜比视界元数据:
dovi_tool inject-rpu -i cropped_hdr10.hevc --rpu-in cropped.rpu -ofinal_cropped_dv.hevc
2026年04月10日 05点04分 8
level 11
科技功效 楼主
第六步,使用mp4muxer与音频文件混流封装。注意不要使用ffmpeg,因为它处理不了杜比视界元数据盒子,会自动丢弃。
mp4muxer -i p8_video.hevc -i audio.eac3 -obase_dv.mp4 --dv-profile 8 --dv-bl-compatible-id 1
2026年04月10日 05点04分 9
level 11
科技功效 楼主
第七步(可选),封装更多音轨、字幕及封面。可以使用mp4box,也可以使用ffmpeg,若是用ffmpeg记得加上 -strict unofficial,防止其丢弃杜比视界盒子。
2026年04月10日 05点04分 10
1