在我的 Django 应用中,上传的视频文件会使用 ffmpeg 转码为特定格式。现在我需要一种可靠的方法来检测上传视频是否具有 alpha 通道。通常,我使用 ffprobe 获取视频元数据。你能告诉我正确的方向吗?
ffprobe -v 0 -select_streams v:0 -show_entries stream=pix_fmt -of compact=p=0:nk=1 "$FILE"
a
,但并非所有带有a
的格式都具有alpha通道。因此,请运行...ffprobe -v 0 -show_entries pixel_format=name:flags=alpha -of compact=p=0 | grep "$PIX_FMT|" | grep -oP "(?<=alpha=)\d"
$PIX_FMT是在第一步中打印的读出值。结果将是1
或0
。
这是我的做法。关闭横幅广告,将 -loglevel
设置为仅显示错误信息,并将结果传输到 grep 命令中以搜索 "pix_fmt"
:
ffprobe -hide_banner -loglevel error -show_entries \
stream "input.png" | grep "pix_fmt"
返回pix_fmt=rgba
对于缺少 alpha 透明通道的 JPEG 或其他文件,预期输出为:pix_fmt=yuvj444p