2026/4/15 17:58:34
网站建设
项目流程
桐梓县工程建设交易网站,邹平建设网站,金华住房和城乡建设厅网站,做家具的网站有哪些在 Linux 系统中#xff0c;计算 YUV 文件的 MD5 哈希值是一个常见操作#xff0c;常用于验证文件完整性、比对编码输出一致性、自动化测试等场景。
YUV 文件是原始像素数据#xff08;如 YUV420p、NV12 等#xff09;#xff0c;虽然不能直接“查看”内容#xff0c;但可…在Linux系统中计算 YUV 文件的 MD5 哈希值是一个常见操作常用于验证文件完整性、比对编码输出一致性、自动化测试等场景。YUV 文件是原始像素数据如 YUV420p、NV12 等虽然不能直接“查看”内容但可以像任何二进制文件一样计算其 MD5 值。✅ 一、最常用命令md5summd5sum your_video.yuv 示例$ md5sum traffic_1920x1080.yuv d41d8cd98f00b204e9800998ecf8427e traffic_1920x1080.yuv输出格式MD5哈希值 文件名✅ 二、其他实用用法1. 只输出哈希值不显示文件名——适用于脚本处理md5sum your_video.yuv|awk{print$1}输出d41d8cd98f00b204e9800998ecf8427e2. 批量计算多个 YUV 文件的 MD5md5sum *.yuv输出示例a3d7e43d874f9cb0955df08b4b7d9e5a input.yuv d41d8cd98f00b204e9800998ecf8427e output.yuv可用于快速比对两个文件是否完全相同。3. 将 MD5 结果保存到文件md5sum *.yuvchecksums.md5生成内容a3d7e43d874f9cb0955df08b4b7d9e5a input.yuv d41d8cd98f00b204e9800998ecf8427e output.yuv之后可用以下命令校验md5sum -c checksums.md5✅ 适合用于回归测试或 CI/CD 流程。4. 比较两个 YUV 文件是否相同diff(md5sum file1.yuv)(md5sum file2.yuv)或者更简单if[$(md5sum file1.yuv)$(md5sum file2.yuv)];thenechoSame;elseechoDifferent;fi✅ 三、使用 Python 脚本计算高级控制如果你需要自定义分段读取、跳过头部等操作# calc_md5.pyimporthashlibimportsysdefget_md5(file_path):hash_md5hashlib.md5()withopen(file_path,rb)asf:forchunkiniter(lambda:f.read(4096),b):hash_md5.update(chunk)returnhash_md5.hexdigest()if__name____main__:iflen(sys.argv)!2:print(Usage: python calc_md5.py file.yuv)exit(1)print(get_md5(sys.argv[1]))运行方式python calc_md5.py traffic.yuv✅ 四、结合find命令递归处理所有 YUV 文件find/path/to/videos -name*.yuv-exec md5sum{}\;输出所有子目录下的 YUV 文件 MD5。✅ 五、为什么使用 MD5 计算 YUV 文件应用场景说明 编码一致性验证判断两个编码器输出是否完全一致 自动化测试在 CI 中通过 MD5 对比预期结果 数据完整性检查验证 YUV 文件传输后是否损坏⏱️ 快速比对大文件比逐字节比较更快⚠️ 注意MD5 是基于整个文件的字节流计算的因此即使两个 YUV 视频视觉相同但如果分辨率、填充、字节顺序不同MD5 也会不同。✅ 六、注意事项项目说明❗ YUV 是裸数据不包含元信息宽高、帧率MD5 只反映字节流差异 大文件性能即使是 1GB 的 YUV 文件md5sum也能快速完成 区分大小写Linux 文件系统通常区分大小写请确保路径正确 避免中断如果文件正在被写入可能导致 MD5 错误✅ 总结推荐命令一览目的命令查看单个文件 MD5md5sum video.yuv仅输出哈希值md5sum video.yuv | awk {print $1}批量处理md5sum *.yuv保存校验和md5sum *.yuv checksums.md5校验已存文件md5sum -c checksums.md5脚本中调用使用 Python 或 Shell 函数封装 提示你还可以将此命令集成到.sh脚本中实现一键批量校验多个实验输出的 YUV 文件。