1

生の rgb32 形式の画像を、寛大な (BSD や Apache などの) ライセンスを持つライブラリ (Java、C、C++ で記述) を使用して PNG に変換する必要があります。

この呼び出しでFFmpegを使用して画像を変換できます:

ffmpeg.exe -vframes 1 -vcodec rawvideo -f rawvideo -pix_fmt rgb32 -s 20x40 -i infile -f image2 -vcodec png out.png

ここで、20x40 は幅×高さです。

しかし、悲しいことに、FFmpeg はそのライセンスのために避ける必要があります。

libpng がその仕事をすることができると人々が推測しているのを見てきましたが、私が libpng サイトで見たドキュメントを考えると、私は懐疑的です。おそらくあなたは例を挙げます。

rawvideo と rgb32 の値が FFmpeg にとって何を意味するのかわからないので、この質問をしました。

EDIT 1:幅x高さを表示するようにffmpeg呼び出しを編集しました。

4

1 に答える 1

1

ffmpeg をプロプライエタリなアプリケーションにリンクできないと確信していますか? http://ffmpeg.org/legal.htmlによると、ほとんどの ffmpeg は GNU LGPL の下で利用できます。これにより、「ライセンス コンプライアンス チェックリスト」に従い、GPL を使用しない限り、プロプライエタリ プログラムとリンクできます。 -のみの機能。

動的にリンクしたくない場合は、寛大なApache ライセンスの下でリリースされているImageMagickを見てください。ImageMagick は生の RGB 画像からの読み取りをサポートしているようです (フォーマットのリストを参照してください)。C で書かれており、Java バインディングがあります

于 2011-08-30T19:38:58.717 に答える