我正在开发一个视频处理脚本,它必须使用 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/