我需要将原始的,rgb32格式的图像转换为带有库(以优先级顺序编写,Java,C,C ++)的PNG,并具有许可(例如BSD或Apache)许可。
我可以使用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意味着什么,所以我问this question。
编辑1:编辑了ffmpeg调用以显示宽度x高度。
答案 0 :(得分:1)
您确定无法将ffmpeg链接到专有应用程序吗?根据{{3}},大多数ffmpeg都可以在GNU LGPL下使用,它允许您链接专有程序,只要您遵循“许可证合规性检查表”并且不使用仅限GPL的功能。
如果您不想动态链接,请查看在许可的Apache许可下发布的http://ffmpeg.org/legal.html。 ImageMagick似乎支持从原始RGB图像中读取(请参阅ImageMagick。)它是用C和its list of formats编写的。