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 意味着什么,所以我问了这个问题

编辑 1:编辑 ffmpeg 调用以显示宽度 x 高度。

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 回答