将视频转换为 apng/png?

6 video png images conversion

我试图用 ffmpeg 做到这一点,但失败了(我也没有制作动画 GIF)。是否有一个简单易用的免费程序(命令行可以)将视频转换为动画 PNG?

只要它不将视频逐帧转储到 PNG 文件中并创建一个怪物大小的 PNG,那么我应该喜欢它。(我没有看到让 ffmpeg 不转储每一帧的选项)

替代文字

来自维基http://en.wikipedia.org/wiki/APNG

Pet*_*des 5

mng 从未获得太多支持,但APNG 显然现在得到了一些支持(FF/Chrome/Safari);超过WebP (Chrome/Opera)。请务必检查浏览器对该格式的支持,以查看它是否与您的用例兼容。(请注意,APNG 会像非动画 PNG 一样回退到显示第一帧。)

FFmpeg 可以解码和编码动画 png,以及动画 gif 和 webp。(据我所知,没有其他 FFmpeg 输出格式支持容器中的循环标志,甚至 nut、mkv 或 ogg 也不支持。)旧版本的 FFmpeg 仅支持 apng 作为输出格式(编码但不解码)。


webp是当前试图获得关注的支持动画的图像格式。在谷歌的支持下,这是一个很好的机会。它可以做有损和无损,甚至是无损透明的有损图像。它基于 VPx 视频编解码器 IIRC 的帧内。

ffmpeg 可以制作 webp 动画,但是连 ffplay 都不能播放。vwebp(在 webp 包中)可以。

ffmpeg -framerate 15 -i b93-'%d.png' -loop 128 containerloop.webp. (或-i foo.mp4或其他)。


在网络上放置重复循环图像的另一个选项是带有循环属性HTML5 视频标签。非常适合更高分辨率和实景拍摄(而不是具有许多相同颜色区域的计算机图形)。但是,不要到处使用它而不是动画 gif。Web 浏览器并未针对页面上的大量小视频进行优化。

可以使用现代高质量编码器(如 VP9 或 x264)制作高度压缩和/或低帧率的视频,以在几百 kiB 的实时动作中获得高质量的短循环,或者对于更简单的内容只需几 kiB。(或者可能在几年后,x265,在分辨率非常低的比特率下非常棒,即每像素非常低的比特数。)

  • 我从另一个问题的答案中复制了该命令行。`-loop 0` 永远重复,所以这将是更典型的用法。 (2认同)