Hash 通过一次调用处理视频文件中的多个流

Hash 通过一次调用处理视频文件中的多个流,hash,ffmpeg,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个比特流? 我希望避免反复从磁盘读取该文件

我正在编写一个视频处理脚本,它必须使用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日)

谢谢,这正是我在等待/寻找的。我怀念替代付费产品中的这一功能!