web-dev-qa-db-ja.com

ビデオをapng / pngに変換しますか?

Ffmpegでこれを実行しようとしましたが、失敗しました(アニメーションGIFの作成にも失敗しました)。ビデオをアニメーションPNGに変換するための簡単に使用できる無料のプログラム(コマンドラインは問題ありません)はありますか?

ビデオをフレームごとにPNGファイルにダンプして、モンスターサイズのPNGを作成しない限り、私はそれが好きです。 (ffmpegがすべてのフレームをダンプしないようにするオプションは見当たりませんでした)

alt text

ウィキから http://en.wikipedia.org/wiki/APNG

6
user3109

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または何でも)。


画像の繰り返しループをWebに配置するための他のオプションは、loop 属性を持つHTML5ビデオタグです。 (多くの領域がすべて同じ色のコンピュータグラフィックスではなく)高解像度と実写に最適です。ただし、アニメーションGIFの代わりに、あちこちで使用しないでください。 Webブラウザーは、ページ上の多数の小さなビデオ用に最適化されていません。

can高圧縮および/または低フレームレートのビデオを作成して、実写の場合はわずか数百kiB、単純な場合はわずか数kiBで高品質の短いループを取得します。 VP9やx264などの最新の高品質エンコーダーを使用しています。 (または、おそらく数年以内に、x265は、解像度のvery低ビットレート、つまりピクセルあたりのビット数が非常に低い場合に最適です。)

4
Peter Cordes

この種のことは、以前(gifで) imagemagick を使用して行われました。 APNGは公式のファイル形式ではありません-PNGグループはこの拡張子をサポートしていません。これを機能させたとしても、長引く問題が発生する可能性があります。 pngを使用せざるを得ない理由がない限り、おそらくアニメーションGIFを検討する必要があります。

ビデオ処理 のページをチェックアウトしてください。 アニメーションの基本 および 最適化 もご覧ください。

Linuxではaviをapngに直接変換できるようですが、Windowsでは失敗します。 Windowsでの回避策は、ムービーを一連の静止画に変換することです。

convert test.avi frame%04d.png

ffmpegを使用する場合、これは5秒ごとにフレームを抽出します。

ffmpeg -i test.avi -y -ss 5 -an -r 1/5 frame%03d.png

次に、 apng edit firefox plugin を使用してアニメーションを作成します。

4
DaveParillo