web-dev-qa-db-ja.com

アルファチャネルをサポートするロスレスビデオコーデック

アルファチャネルを含む場合と含まない場合がある一連のPNG画像ファイルがあるとします(アルファチャネルを持っているものが実際にそれを利用していると仮定します)。 PNGファイル自体には独自の可逆圧縮がありますが、通常、x264などの可逆ビデオコーデックを使用すると、はるかに小さいファイルサイズを取得できます。例えば:

ffmpeg -framerate 60 -i out%04d.png -c:v libx264rgb -qp 0 out.mp4

元のPNGファイルを個別に保存するよりも大幅にファイルを節約できました(1.92GBのビデオファイルと4.51GBの個別)。ただし、これがアルファチャネルをサポートしているとは思わないため、このコーデックを常に使用できるとは限りません。理想的には、両方のシナリオ(アルファとアルファなし)で機能する1つのコーデックを見つけることができます。

アルファチャネルをサポートしながら同様のスペース節約を実現する、私が使用できる代替のロスレスコーデックを知っていますか?もしそうなら、それが完全にロスレスではない場合、私は近くを見て喜んでいます-ロスレスの選択肢もあります。

2
jippyjoe4

ffv1:FFmpegビデオコーデック#1

このフォーマットは、アーカイブコミュニティの標準になりつつあります。ロスレスで、RGBとバリアント+​​アルファをサポートします。

ffmpeg -h encoder=ffv1
[...]
Supported pixel formats: yuv420p yuva420p yuva422p yuv444p yuva444p yuv440p yuv422p yuv411p yuv410p bgr0 *bgra* yuv420p16le yuv422p16le yuv444p16le yuv444p9le yuv422p9le yuv420p9le yuv420p10le yuv422p10le yuv444p10le yuv420p12le yuv422p12le yuv444p12le yuva444p16le yuva422p16le yuva420p16le yuva444p10le yuva422p10le yuva420p10le yuva444p9le yuva422p9le yuva420p9le gray16le gray gbrp9le gbrp10le gbrp12le gbrp14le gbrap10le gbrap12le ya8 gray10le gray12le gbrp16le rgb48le gbrap16le rgba64le gray9le yuv420p14le yuv422p14le yuv444p14le yuv440p10le yuv440p12le

基本的なコマンド例:

ffmpeg -framerate 60 -i out%04d.png -c:v ffv1 out.mkv

ピクセルフォーマットを手動で選択する必要はありません。最も適切なフォーマットを自動的に選択する必要があります。

詳細については、 FFmpeg Wiki:FFv1 を参照してください。

qtrle:QuickTime Animation(RLE)ビデオ

FFv1よりもシンプルで古いですが、編集ソフトウェアでサポートされている場合があります。ロスレスでRGB +アルファをサポート:

ffmpeg -h encoder=qtrle
[...]
Supported pixel formats: rgb24 rgb555be *argb* gray

基本的なコマンド例:

ffmpeg -framerate 60 -i out%04d.png -c:v qtrle out.mov

その他

  • utvideo
  • huffyuv
  • ffvhuff
2
llogan