gpt4 book ai didi

amazon-s3 - 如何从媒体文件中判断它是视频还是音频?

转载 作者:行者123 更新时间:2023-12-04 22:46:53 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Using ffprobe to check if file is audio or video only

(5 个回答)


去年关闭。




我有一些文件 - 音频和视频文件 - 存储在 aws s3 存储桶中,它可以有不同的容器和东西,我想将它们发送到 aws mediaConvert(MC)。我的问题是我需要知道文件是音频文件还是视频文件,因为我需要相应地配置 MC。服务器上的主应用程序是基于 php 的,但这些信息可能不是那么有趣。
我有 ffmpeg,并且我已经使用 ffprobe 来获取文件持续时间,但是我无法从返回的数据中判断它是视频文件还是纯音频文件。和in an another question有人说也许我可以通过使用 ffmpeg 获取此信息,但据我所知,这需要我将文件从 s3 下载到服务器。
还有一个 s3 函数,我可以使用它来获取特定对象的 header ,其中包含文件的 mime 类型,但是这有时会返回为视频文件的音频/mpeg,然后错误地配置 MC。
我还可以检查来自 MC 的第一个作业创建的错误消息,然后它会告诉我问题,我可以使用正确的配置重新发送文件,但随后作业被标记为失败并出现错误,这感觉不到做的权利。
所以我的问题是; 如果仅是视频或音频,从媒体文件中判断的最佳方法是什么? ffmpeg 或 ffprobe 有可能可以远程完成,但我对这些工具的了解不够深入,所以我不完全确定它只能以我描述的方式工作。

最佳答案

你可以使用

ffprobe -v quiet -print_format json -show_format -show_streams sample.mp4
上面的命令输出输入文件的(这里: sample.mp4)参数以及音频和视频流的详细信息。您可以看到示例输出 here .
你感兴趣的是 .streams[].codec_type确定输入文件是否仅包含音频、仅视频或两个流。您可以使用 jq就此而言,例如:
ffprobe -v quiet -print_format json -show_format -show_streams sample.mp4 | jq .streams[].codec_type
"video"
"audio"
或以任何其他方式解析输出 JSON。

关于amazon-s3 - 如何从媒体文件中判断它是视频还是音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66366003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com