【问题标题】:FFMPEG Split RGBA image sequence to rgb.mp4 and alpha.mp4FFMPEG 将 RGBA 图像序列拆分为 rgb.mp4 和 alpha.mp4
【发布时间】:2020-07-20 14:13:47
【问题描述】:

我想在一个命令中将输入拆分为两个输出:rgb.mp4alpha.mp4。尝试的命令:

ffmpeg -f image2 -framerate 25 -start_number 0 -i "D:\wfh\seq\Rays_%%5d.png" -c:v libx264 -pix_fmt yuv420p -profile:v main -level 5.1  "rgb.mp4" "alpha.mp4"

使用 alpha 提取只会产生灰度输出(如果没记错的话),但我希望一次性输出 RGB 和灰度。

【问题讨论】:

  • 我的意思是,如果我们输入 -vf alpha extract,我们只会得到灰度输出......(如果没有错的话)。我的意思是说,我希望一次性或在一个命令中同时输出 RGB 和灰度。当我运行命令时,它会同时生成 RGB.mp4 和 grayscale.mp4。这清楚吗?

标签: video ffmpeg rgb alpha


【解决方案1】:

使用alphaextract 过滤器:

ffmpeg -i input_%5d.png -filter_complex "[0]alphaextract[alpha]" -map 0 -c:v libx264rgb -crf 0 rgb.mp4 -map "[alpha]" -c:v libx264rgb -crf 0 alpha.mp4

【讨论】:

  • 太棒了!谢谢! -pix_fmt yuv420p 和 format=yuv420p 意思一样吗?
  • 有两个问题。输入和输出 rgb 颜色不匹配。 -------------------------------------------------- -------------- 输入是纯红色(r=255,g=0,b=0)。输出为 (r=255,g=24,b=0) (绿色不为零)如何解决这个问题?转换后 RGB 和 alpha 位置不匹配。(已修复)---------------------------------------- -------------------------------------------------------- 为此我们必须使用format=420p 也适用于 alpha -filter_complex "[0]format=yuv420p[rgb];[0]alphaextract,format=yuv420p[a]"。
  • 我只是在后效中导入输入(png 序列)和输出(转换的 mp4 文件)并用滴管检查。输入颜色值为 (r=255,g=0,b=0),转换后的 mp4 颜色值为 (r=255,g=24,b=0)。示例链接 ------------------ drive.google.com/drive/folders/…
  • 也使用 libx264rgb 产生这个结果drive.google.com/file/d/12D48j8NA-uNDKvMMADhS19_Vw0IJtGFd/…
  • 如果我删除 format=yuv420p 并使用 libx264rgb 它会在初始化复杂过滤器时出错。 -filter_complex "[0][rgb];[0]alphaextract[a]", 这是正确的吗?如何将输入分配给 rgb.[0]copy[rgb]??
猜你喜欢
  • 2020-07-11
  • 1970-01-01
  • 1970-01-01
  • 2021-12-17
  • 2015-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-09
相关资源
最近更新 更多