video - 使用 ffmpeg/ffprobe 检测视频中 alpha channel 的好方法

标签 video ffmpeg alpha ffprobe transcoding

在我的 Django 应用程序中,上传的视频文件使用 ffmpeg 转码为某种特定格式。
我现在需要一种方法来可靠地检测上传的视频是否具有 alpha channel 。我通常使用 ffprobe 来获取视频元数据。你能指出我正确的方向吗?

最佳答案

您可以使用 ffprobe 分两步执行此操作。
#1

ffprobe -v 0 -select_streams v:0 -show_entries stream=pix_fmt -of compact=p=0:nk=1 "$FILE"
这将打印视频流的像素格式。所有带有 alpha 分量的像素格式都有 a以他们的名义,但不是所有带有 a 的格式有阿尔法。所以,跑..
#2
ffprobe -v 0 -show_entries pixel_format=name:flags=alpha -of compact=p=0  | grep "$PIX_FMT|" | grep -oP "(?<=alpha=)\d"
其中 $PIX_FMT 是在步骤 1 中打印的读数。结果将是 10 .

关于video - 使用 ffmpeg/ffprobe 检测视频中 alpha channel 的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69029439/

相关文章:

flash - 播放 Flash 视频时检测 TCP 连接是否关闭

ruby-on-rails - ffmpeg rails 错误无法解析来自 FFProbe 的输出

Android:点击按钮时设置 alpha。最好只有 xml

python - PyGame:将透明度应用于具有 alpha 的图像?

javascript - html5 视频不支持所有浏览器

facebook - 上传视频时(或之后),如何设置其隐私?

android - 当我的应用程序最小化时,在 android 中使用 Youtube API 播放音乐视频中的音频

javascript - 以mp4格式录制HTML5 canvas动画

video - 添加帧计数叠加,而不更改编解码器属性

winapi - 如何在 C++ WINAPI 中在窗口内绘制图标?