hash - 一次调用处理视频文件中的多个流

标签 hash ffmpeg

我正在开发一个视频处理脚本,它必须使用 ffmpeg 处理大型视频文件(100 - 500 GB)。
视频文件包含 9 个流:

1 个视频流和 8 个音频流。

现在我喜欢计算每个流的 sha256 哈希值。这适用于单个流,如下所示:

ffmpeg -i /my/video/file -map 0:v -f hash -hash sha256 -

这应该从流 0(视频)生成 sha256 哈希。

我可以为所有流循环该命令,这将导致读取和处理该文件 9 次。

有没有办法一次读取该文件并并行处理所有 9 个比特流?
我喜欢避免一次又一次地从磁盘读取该文件。

最佳答案

使用最新的* git 版本的 ffmpeg,运行

ffmpeg -i in -map 0 -f streamhash -hash sha256 -

这将为表单的每个流打印一个哈希,
0,v,SHA256=84dd5b99e1b5fa8877e3365d1a24056ae37c7b3e17a7ab314ec33dbd5034687d
1,a,SHA256=c2ac1a155d451405dbedb0a999e801676e45fb2d17c8025da7c035cc1e8fff92

*( > 2019 年 9 月 20 日 )

关于hash - 一次调用处理视频文件中的多个流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59396486/

相关文章:

xcode - 如何在 Mac 上同时安装 ffmpeg 和应用程序?

opencv - 使用 javacv 和 ffmpeg 或备用库创建 1080p 视频

android - [android]使用mediacodec和ffmpeg生成.ts文件,但是生成的ts文件没有图片覆盖

c# - BCrypt 是一种在 C# 中使用的好哈希算法吗?我在哪里可以找到它?

c++ - 什么数据结构通常用于hold to hash table for a hashmap

security - 密码哈希 - 如何升级?

php - 带有 PHP 的 FFmpeg 导致内部服务器错误

python - ffmpeg 视频在 'Invalid buffer size, packet size < expected frame_size' 错误(vsync 屏幕撕裂故障)后垂直滑动?

java - 为什么默认的 Object.toString() 返回 hashCode 的十六进制表示?

python - Python 中的顺序不变哈希