여기저기 참조를 하다 보니 좀 뒤죽 박죽 이지만
컴파일 과정 등 말씀 드리겠습니다.
1. /.config.sh 실행시
우선 저 같은 경우는 ndk에 포함 되어 있는 toolchain 빌드시 r4버전으로 하였습니다
r5c버전은 cygwin에서도 ubuntu에서도 빌드가 안되더군요 리눅스 버전을 받아도 윈도우 버전을 받아도
그리고 r5c 변경사항 문서를 보니 cygwin에서 /cygdrive/c/xx 경로를 인식 하지 못한다는 말이 있더군요
cygwin 을 사용하지 않고 VMBOX에 ubuntu를 설치해서 하였습니다.
cygwin에서는 어떤 이유인지 모르겠지만 빌드가 안되더군요
arm-eabi-4.4.0 로 빌드 하였습니다.
2. config.h 수정
#define restrict restrict -> #define restrict 변경
(ffmpeg빌드 관련 참조 사이트를 보고)
3. ndk-build
ndk-build시에 명령어는 프로젝트 루트 디렉토리에서 ndk-build명령어를 실행 하였구요
cygwin 과 vmbox ubuntu 둘다 빌드 해봤습니다(환경이 달라 로드 하지 못하나 해서 r4버전으로도 해보고 r5c버전으로도)
빌드시 에러가 나는 부분이
크게 두부분이 있었습니다.(처음부터 한다면 여러군대가 나겠지만 이미 어느정도 수정되어있는 소스 android.mk등)
(1) cmdutils.c (opt_timelimit함수)
#if HAVE_SETRLIMIT
int lim = parse_number_or_die(opt, arg, OPT_INT64, 0, INT_MAX);
struct rlimit rl = { lim, lim + 1 };
if (setrlimit(RLIMIT_CPU, &rl))
perror("setrlimit");
#else
fprintf(stderr, "Warning: -%s not implemented on this OS\n", opt);
#endif
위와 같은 부분이 있는데 별 필요 없어 보여서 굵게 표시해둔 부분을 #if 0로 변경 하였습니다.
(해당define을 따라가서 0으로도 바꺼서도 빌드해보았네요)
2. libjniaudio.so libjnivideo.so
제가 가지고 있는 FFMpeg소스에는 추가적으로 libmediaplayer 를 사용하는 부분이 있는데
이부분을 빌드 하기 위해서 libjniaudio.so libjnivideo.so 이게 필요 한데 없다고 에러가 뜨더군요
이전에 빌드 되어 있던 so파일인지 libs에 있길래 필요한 해당경로에 복사를 해서 빌드를 마쳤습니다.
libmediaplayer가 꼭필요 한가 의미가 들어 Make파일에 해당부분을 빌드 하지 않게 수정하고
libjniaudio.so libjnivideo.so 이또한 빌드시 필요 없게 만들어 오로지 libffmpeg_jni.so만 로드는 될까해서
변경을 해도 로드실패가 나더군요
일단 이런 과정입니다.
재가 가지고 있는 소스가 잘못 되어 있나 해서
https://github.com/havlenapetr/FFMpeg 해당 사이트의 source를 가지고 와서
처음부터 에러나는 부분을 잡고 (제가 가지고 있던 소스에 비해 에러가 더 나더군요 )
빌드성공후 폰에 넣어 봤으나 동일하게 so파일을 로드 하지 못하더군요
기재를 해보았으나 하도 삽질을 많이해서 정리를 말로 표현하기도 쉽지 않네요
일단 빌드는 했는데 확실히 어느부분에서 잘못된건지 빠진부분이 있는지 계속 해보고는 있습니다
혹시 이부분은 어떻게 하였나 궁금 하신 부분이 있거나
재가 가지고 있는 원본소스 와 수정한 소스 필요 하시면 말씀 부탁드립니다.
길게 잘 적어주셨네요... ^^
"제가 가지고 있는 ffmpeg 소스"라는 것이 무얼 말씀하시는지요? ^^
저는 ffmpeg 공식 사이트의 최신 소스를 받아 컴파일 해서 씁니다만...
일단 처음 말씀드렸던 대로 솔직히 이 부분은 직접 보기 전에는 실질적인 도움이 되기 힘들 것 같습니다.
(최소한 제 실력에서는...)
제가 성공한 소스를 한 번 공유해 드리든지 하지요~
안 그래도 안펍에 FFmpeg 컴파일 성공기 또는 강좌를 하나 올려볼까 싶었는데
조만간 올려봐야겠습니다.
제가 하도 몇 달 동안 미친듯이 삽질을 해서 한이 맺힌터라 남일 같지 않네요... ㅠㅡㅠ
메일 주소 보내주시면 소스 공유해드리지요~




저도 비슷한 삽질을 거쳐서 어플을 만들고 있습니다.
무한 삽질 백번 공감합니다.
FFMpeg를 안드로이드에서 쓰려면 컴파일 하는 것 부터 시작해서 모든 과정이 무한 삽질이죠... -_-a
주신 정보가 많지 않아 제가 아는 한도내에서 도움 드릴 수 있는 부분이 없습니다.
컴파일 옵션부터 소스의 어떤 부분을 수정하셨는지, 어떻게 컴파일 하셨는지 등등...
좀더 자세히 정보를 공개하시면 저나 또는 다른 분들이 도움 드릴 수 있을지도 모르겠네요~
컴파일 과정부터 시작해서 다들 제각각이니 직접 눈으로 보지 않는 이상
게시판을 통해서 구체적인 도움을 드리기도 쉽지 않으리라 봅니다.
힘내시고~ 포기하지 마시고 계속 삽을 뜨시면 언젠가 성과가 있을겁니다 ^-^