gpt4 book ai didi

command-line - 将图像序列转换为具有透明度的视频

转载 作者:行者123 更新时间:2023-11-28 21:38:33 24 4
gpt4 key购买 nike

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为 on-topic对于堆栈溢出。


去年关闭。















锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或交互。








我有一个看起来应该是一个非常简单的问题,但事实证明它比我预期的要困难得多。这是问题:

我有一个相当大的图像序列,由编号的帧组成(从 Maya 输出,值得一提)。这些图像目前是 Targa (.tga) 格式,但如果这很重要,我可以将它们转换为 PNG 或其他任意格式。重要的是,他们有一个 Alpha channel 。

我想做的是以编程方式将它们变成视频剪辑。格式并不重要,但它必须是无损的并且具有 Alpha channel 。 Quicktime 容器中的未压缩视频可能是理想的。

我最初的想法是 ffmpeg,但是在浪费了一天的大部分时间之后,它似乎根本不支持 alpha channel 。要么我遗漏了一些东西,要么底层的 libavcodec 没有做到这一点。

那么,这里的正确方法是什么?像 ffmpeg 这样的命令行工具会很好,但是任何在 Windows 上运行并且可以从脚本调用的解决方案都可以。

注意:在您的视频中包含 alpha channel 实际上并不少见,如果您想将它合成到另一个视频剪辑或静止图像之上,它非常有用。据我所知,未压缩的视频、Quicktime Animation 编解码器和 Sorenson Video 3 编解码器都支持透明,而且我听说 H.264 也支持。我们真正谈论的是 32 位色深,它得到了相当广泛的支持; Quicktime .mov 文件和 Windowss .avi 文件都可以处理它,而且可能更多。

Quicktime Pro 非常乐意将图像序列转换为 32 位 .mov 文件。点击导出,将颜色深度更改为“Millions of Colors+”,选择动画编解码器,将质量提高到 100,就可以了 - 无损压缩视频,带有 alpha channel ,它几乎可以在编解码器后的任何地方播放自 1.0 版以来一直是 Quicktime 的一部分。问题是,Quicktime Pro 没有任何类型的命令行界面(至少在 Windows 上)。 ffmpeg 支持使用 Quicktime Animation 编解码器(它称为 qtrle)进行编码,但它仅支持 24 位的位深度。

问题在于找不到支持 Alpha channel 的视频格式。 Quicktime Animation 将是理想的,但即使是未压缩的视频也应该可以工作。问题是找到一个支持它的工具。

最佳答案

是的,ffmpeg 确实支持视频文件中的 alpha channel 。并非 ffmpeg 中的所有编解码器似乎都支持 alpha。 .MOV 文件中的 Motion PNG 是 alpha 的一种很好的组合。

要将带有 alpha 的图像编码/导入到带有 alpha 的视频中,请尝试:ffmpeg -i %d.png -vcodec png z.mov
Quicktime 将播放它。

要将带有 alpha 的视频解码/导出为带有 alpha 的图像,请尝试:ffmpeg -i z.mov -f image2 export2\%d.png
请注意,我将它们导出到名为“export2”的目录中。请务必将 %d 部分留在其中。这些命令将按原样在 Windows 系统上运行。 Linux/Mac 用户可能需要像往常一样添加引号并将一些\换成/。

关于command-line - 将图像序列转换为具有透明度的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/644684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com