透明视频边缘一圈黑,怎样核对 Alpha 的解释方式
透明边缘发黑,先用已知Alpha值的细线和渐变夹具分别叠到白底与深色底,再核对素材采用直通Alpha还是预乘Alpha、播放器按哪种方式合成。格式支持只能证明能读文件,不能证明边缘解释正确。
判断前提与适用边界
直通Alpha保存未乘透明度的颜色;预乘Alpha已把颜色乘以Alpha。合成时若重复相乘,半透明边缘容易变暗;把预乘数据当直通使用也会出错。边缘还可能已经混入旧背景颜色,因此修正合成方式后仍需检查源像素。普通黑色视频不能自动恢复被压掉的Alpha信息。
本轮只完成本地生成、元数据与计算夹具验证,没有接入目标播放器、GPU输出链或现场音响。媒体生成固定为FFmpeg 8.0.1,表格及图案由Python 3.12.4生成;原始输入在附件中,不含第三方版权影片。
按同一条件执行
-
下载原创RGBA PNG与像素表,确认透明处不是填黑背景;该夹具没有客户图像或第三方角色。
-
把同一夹具导入目标合成器,分别用白底、深灰底,关闭缩放再抓取同位置像素与全图。
-
按软件手册确认输入解释;一次只切换直通或预乘,记录软件版本、渲染后端、输出格式与屏幕分辨率。
-
再测放大缩小及视频编码后的版本,区分滤波、色度采样和Alpha解释;只有静态图通过不能宣布透明视频全链路通过。
原始输入与判断示例
下面是合成示例,非现场实测。现场表中的空白表示未采集,不能当作零、正常或通过。
| 合成输入 | 直通Alpha正确合成到白底 | 错误重复相乘 |
|---|---|---|
| 红色255、Alpha128 | 约255,127,127 | 红分量进一步变暗 |
| Alpha0透明像素 | 完全采用背景 | 不能以隐藏RGB判可见颜色 |
附件的RGBA像素与白底、深灰底参考PNG由Python按公式计算,另用FFmpeg生成qtrle/argb编码的真实透明MOV,已完成本地软件解码。参考图只代表八位sRGB数值空间的简化合成,不是线性光工作流的参考认证;MOV是否被目标软件支持仍待实测。记录夹具保留预乘解释字段,便于复现同一边缘问题。


两图是公式生成参考;用它们核对边缘,不代表目标播放器截图。
下载夹具并形成交付记录
下载专项输入与预期JSON和空白记录CSV。JSON保留原始输入、预期、记录字段及未测范围;CSV用于逐轮填写,原始日志、截图或仪表文件用稳定文件名关联。本主题还提供pixel.csv、reference-dark.png、reference-white.png、straight-alpha-qtrle-execution.json、straight-alpha-qtrle-ffprobe.json、straight-alpha-qtrle.mov、straight-alpha.png。
本表保留 asset_hash, alpha_representation, background_rgb, scale 等字段;先按上表核对合成输入,再将目标环境数据另存一份。未采集的字段留空,失败记录与原始文件一并保留,避免下一轮无法复现。
误判与失败路径
不要把“显示黑色背景”直接解释为不支持Alpha:独立播放器可能没有底层图;不要把所有MOV都认作透明,也不要把透明PNG通过误判为某种视频编解码器通过。若源边缘被黑底污染,另存抠像修正版本并保留原件。
基础背景见透明视频 / Alpha 通道播放实现,相关流程汇总在多媒体播放专题。需要在SoftPlayer上执行这项测试时,按受测版本文档填写配置与支持情况。
一级来源与核验范围
FFmpeg filters:fps、scale、tonemap、overlay、pan 各节,核对日期2026-10-23。本文协议与合成样例为独立设计;来源中的机制说明不代表附件已完成现场验收。
相关阅读
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。