2011-08-30 2 views
1

원시 rgb32 형식의 이미지를 허용되는 (예 : Java, C, C++) 라이브러리가있는 PNG로 변환해야합니다. 예 : BSD 또는 Apache) 라이센스.허용 라이선스가있는 오픈 소스 라이브러리를 사용하여 원본 이미지로 변환

ffmpeg.exe -vframes 1 -vcodec rawvideo -f rawvideo -pix_fmt RGB32 -s 20X40 -i INFILE -f 이미지 2 -vcodec PNG 아웃 : 나는이 전화로는 FFmpeg를 사용하여 이미지를 변환 할 수있어

.png

여기서 20x40은 높이에 따른 너비입니다.

하지만 슬프게도 라이센스 때문에 FFmpeg를 피할 필요가 있습니다.

저는 사람들이 libpng이 그 일을 할 수 있다고 생각했지만, libpng 사이트에서 본 문서를 보면 회의적입니다. 아마 당신은 예를 들어 줄 것입니다.

rawvideo 및 rgb32 값이 FFmpeg에 어떤 의미인지 모르겠으므로 this question에게 질문했습니다.

EDIT 1 : 너비 x 높이를 표시하도록 ffmpeg 호출을 편집했습니다.

+1

입력에서 원시 이미지 데이터를 추출 할 수 있다면 libpng로이 작업을 수행하는 것이 매우 간단합니다. –

답변

1

ffmpeg를 독점 응용 프로그램에 연결할 수 없습니까? http://ffmpeg.org/legal.html에 따르면 대부분의 ffmpeg는 GNU LGPL에서 사용할 수 있습니다.이 소프트웨어를 사용하면 "라이센스 준수 확인 목록"을 따르고 GPL 전용 기능을 사용하지 않는 한 독점 프로그램과 연결할 수 있습니다.

동적 링크를 사용하지 않으려면 허용되는 Apache 라이선스로 배포 된 ImageMagick을 확인하십시오. ImageMagick은 원시 RGB 이미지 (its list of formats 참조)에서 읽는 것을 지원합니다. C 및 has Java bindings으로 작성되었습니다.

+0

동적으로 라이브러리를 링크하는 것을 피하고 정적으로 컴파일하는 것을 선호합니다. (어제 질문했을 때 동적 연결을 허용했습니다.) 죄송합니다. 기계식 달팽이! – Brian

+0

ImageMagick이 작동합니까? (편집 된 답변을 참조하십시오.) –

+0

그건 내 생각 이었지만, 슬프게도 ImageMagick은 그것을 이해할 수 없었습니다. – Brian

관련 문제