Dolby Vision处理工具dovi_tool完全使用指南
【免费下载链接】dovi_tooldovi_tool is a CLI tool combining multiple utilities for working with Dolby Vision.项目地址: https://gitcode.com/gh_mirrors/do/dovi_tool
项目概述
dovi_tool是一款专为Dolby Vision内容处理设计的强大命令行工具,集成了多种实用功能,为视频工程师和开发者提供高效的Dolby Vision项目开发解决方案。该项目基于Rust语言构建,同时提供C兼容库libdovi,支持作为Rust或C语言库使用。
环境配置与安装
系统要求
- 最低Rust版本:1.85.0
- Linux系统需要安装fontconfig依赖
构建方法
- 克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/do/dovi_tool- 进入项目目录并构建:
cd dovi_tool cargo build --release构建完成后,可执行文件位于target/release/dovi_tool。
Dolby Vision元数据处理
dovi_tool提供了一套重要的工具集,用于分析、编辑和生成Dolby Vision元数据。
元数据信息查看(info命令)
用于解析并打印RPU信息。
基本用法:
dovi_tool info -i RPU.bin获取摘要信息:
dovi_tool info -i RPU.bin --summary查看特定帧元数据:
dovi_tool info -i RPU.bin --frame 123元数据生成(generate命令)
允许从不同来源生成二进制RPU文件。
从XML文件生成:支持CMv2.9和CMv4.0 Dolby Vision XML元数据文件转换。
dovi_tool generate --xml dolbyvision_metadata.xml -o RPU_from_xml.bin从JSON配置文件生成:支持生成通用配置文件5/8.1/8.4的RPU。
dovi_tool generate -j assets/generator_examples/default_cmv40.json -o RPU_generated.bin从HDR10+元数据生成:
dovi_tool generate -j assets/generator_examples/default_cmv40.json --hdr10plus-json hdr10plus_metadata.json -o RPU_from_hdr10plus.bin元数据编辑(editor命令)
允许根据JSON配置文件编辑二进制RPU。
示例用法:
dovi_tool editor -i RPU.bin -j assets/editor_examples/mode.json -o RPU_mode2.bin元数据导出(export命令)
允许将二进制RPU文件导出为包含相关信息的文本文件。
导出完整RPU:
dovi_tool export -i RPU.bin -d all=RPU_export.json导出场景切换帧和L5元数据:
dovi_tool export -i RPU.bin -d scenes,level5=L5.json元数据可视化(plot命令)
将RPU元数据绘制成图表,输出为PNG图像。
绘制L1亮度元数据:
dovi_tool plot RPU.bin -t "Dolby Vision L1 plot" -o L1_plot.png绘制L2映射元数据:
dovi_tool plot RPU.bin -p l2HEVC解析与处理
转换模式选项
- 模式0:解析RPU,原样重写
- 模式1:将RPU转换为MEL兼容格式
- 模式2:将RPU转换为配置文件8.1兼容格式
- 模式3:将配置文件5转换为8.1
- 模式4:转换为配置文件8.4
- 模式5:转换为配置文件8.1,保留映射
主要命令
转换(convert命令)
转换单层HEVC文件中的RPU。
转换为配置文件8.1并丢弃增强层:
dovi_tool -m 2 convert --discard file.hevc解复用(demux命令)
将单轨双层Dolby Vision解复用为基础层和增强层文件。
基本解复用:
dovi_tool demux file.hevc复用(mux命令)
将增强层交织到基础层HEVC比特流中。
基础复用:
dovi_tool mux --bl BL.hevc --el EL.hevcRPU提取(extract-rpu命令)
从HEVC文件中提取Dolby Vision RPU。
从HEVC文件提取:
dovi_tool extract-rpu video.hevcRPU注入(inject-rpu命令)
在HEVC编码比特流的切片之间交织RPU NAL单元。
示例用法:
dovi_tool inject-rpu -i video.hevc --rpu-in RPU.bin -o injected_output.hevc移除(remove命令)
从视频中移除增强层和RPU数据。
移除增强层:
dovi_tool remove file.hevc编辑配置详解
RPU可以通过两种方式进行编辑:
- 使用
editor子命令 - 在使用HEVC命令时使用
--edit-config选项
编辑配置采用JSON格式,支持以下功能:
核心编辑功能
- 模式转换:指定RPU转换模式
- 移除CM v4.0:从RPU中移除L3、L8、L9、L10和L11元数据
- 移除映射系数:从元数据中移除多项式/MMR映射系数
活动区域编辑
支持裁剪和预设功能:
- 裁剪:将活动区域偏移设置为0(表示无黑边条)
- 预设:添加指定黑边条预设
- 编辑:指定特定帧范围使用预设
帧操作
- 移除帧:移除指定帧或帧范围
- 复制帧:在指定位置复制源帧的元数据
高级元数据编辑
- 场景切换设置:为特定帧范围设置场景刷新标志
- L6元数据:ST2086回退元数据配置
- L9主显示基色:配置主显示基色元数据
- L11内容类型:设置内容类型和白点参数
实用技巧与最佳实践
工作流程建议
- 预处理阶段:使用
info命令分析源文件元数据 - 转换阶段:根据目标需求选择合适的转换模式
- 验证阶段:使用
plot命令可视化转换结果
性能优化
- 对于大型文件,使用
--limit参数限制处理帧数 - 使用管道流式处理减少内存占用
兼容性考虑
- 确保目标设备支持所选配置文件
- 验证转换后的RPU与播放设备的兼容性
总结
dovi_tool作为一款功能全面的Dolby Vision处理工具,为视频处理工作流程提供了强大的支持。通过掌握其各项命令和配置选项,用户可以高效地处理各种Dolby Vision内容,满足不同的项目需求。
【免费下载链接】dovi_tooldovi_tool is a CLI tool combining multiple utilities for working with Dolby Vision.项目地址: https://gitcode.com/gh_mirrors/do/dovi_tool
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考