video - 使用 ffmpeg/ffprobe 检测视频中 alpha 通道的好方法
问题描述
在我的 Django 应用程序中,上传的视频文件使用 ffmpeg 转码为某种特定格式。
我现在需要一种方法来可靠地检测上传的视频是否具有 alpha 通道。我通常使用 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
具有 alpha 的格式。所以,跑..
#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 中打印的读数。结果将是1
或0
。
推荐阅读
- c# - 无法从剪贴板中检索图像
- vue.js - 如何将 VueComponent 传递给 $vuetify.goTo() 方法?
- ios - 适当的更改不会影响 tableview 部分标题背景
- java - 如何在pdf文件中捕获表格
- automated-tests - 如何在机器人框架自动测试中使用对 POST 请求的响应
- apache-nifi - 如何在apache nifi中拆分输入json数组
- excel - 将备用单元格行剪切/复制/粘贴到下一列并在之后删除空行
- json - json 加载为 Angular 订阅后,如何将 json 转换为 JSONP?
- xamarin - 如何在 xamarin 表单中创建带有或不带有 Web 视图的富文本框?
- python - 如何修复 - 没有这样的表:main.auth_user__old