2011년 12월 22일 목요일

안드로이드 NDK 설치, X264 , FFMPEG 라이브러리 안드로이드 용으로 빌드하기

출처 : http://iamlow.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%EC%9A%A9-X264-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EB%B9%8C%EB%93%9C

0. 환경
  - OS: Ubuntu 10.04
  - FFmpeg 0.8.2

1. NDK 다운로드
  - 사이트: http://developer.android.com/sdk/ndk/index.html 에서 다운로드
  - 다운로드
    $ wget http://dl.google.com/android/ndk/android-ndk-r6-linux-x86.tar.bz2

2. NDK 설치
    $ tar xvfj android-ndk-r6-linux-x86.tar.bz2
    $ cd android/android-ndk-r6/build/tools
    $ ./make-standalone-toolchain.sh  --ndk-dir=/home/iamlow/android/android-ndk-r6 
 Auto-config: --toolchain=arm-linux-androideabi-4.4.3
 Copying prebuilt binaries...
 Copying sysroot headers and libraries...
 Copying libstdc++ headers and libraries...
 Creating package file: /tmp/ndk-iamlow/arm-linux-androideabi-4.4.3.tar.bz2
    $ tar xvfj arm-linux-androideabi-4.4.3.tar.bz2
    * 특이사항: 쉘 스크립트를 가지고 툴체인 패키지를 만들어 준다. 그러면 이것을 빌드시 사용하면 된다.

3. 환경변수
  - $ vi /etc/profile 에 경로 추가
     export PATH=/opt/android-toolchain/bin:$PATH


4. x264 다운로드
  - 사이트: http://www.videolan.org/developers/x264.html
  - 다운로드
    $ git clone git://git.videolan.org/x264.git
    (우분투에서 git 없으면 apt-get install git 하면 될듯..)

5. x264 빌드
  - 다운받은 디렉토리로 이동하고 아래 명령 실행.
   $ ./configure --host=arm-linux --cross-prefix=arm-linux-androideabi- --enable-shared --enable-static --prefix=/opt/android-8-toolchain/sysroot/usr
   $ make
   $ make install
   (--prefix 는 안드로이드 툴체인이 있는 곳으로 설정해야하며, 하지 않을 경우 make install 시 /usr/local/include 와 /usr/local/lib에 header와 library가 위치해서 ffmpeg 빌드시에 libx264 header와 library를 찾지 못함)
   
6. 테스트는 안해봤지만 빌드는 잘됨.



7. FFMPEG 다운로드
  - 사이트: http://www.ffmpeg.org/
  - 다운로드: wget http://www.ffmpeg.org/releases/ffmpeg-0.8.2.tar.bz2
    (git 또는 svn을 이용해서도 다운로드 가능)
8. FFMPEG 빌드
  - 압축을 풀고 압축 푼 디렉토리로 이동
  - $./configure --enable-shared --enable-libx264 --cross-prefix=arm-linux-androideabi- --enable-cross-compile --target-os=linux --arch=arm --enable-gpl --prefix=/opt/android-8-toolchain/sysroot/usr
    (--prefix를 안드로이드 툴체인이 있는 곳으로 설정)
  (참고) 반드시 필요한 모듈만 선택하여 빌드
./configure --prefix=../ffmpeg_build \
        --enable-gpl \
        --enable-shared \
        --disable-doc \
        --disable-ffmpeg \
        --disable-ffplay \
        --disable-ffprobe \
        --disable-ffserver \
        --disable-avdevice \
        --disable-debug \
        --disable-network \
        --disable-protocols \
        --disable-devices \
        --disable-encoders \
        --disable-decoders \
        --disable-muxers \
        --disable-demuxers \
        --disable-parsers \
        --disable-bsfs \
        --disable-filters \
        --enable-encoder=h264 \
        --enable-libx264 \
        --extra-cflags=-U__STRICT_ANSI__ \
        --target-os=linux \
        --extra-cflags="-fno-short-enums" \
        --extra-ldflags="-mandroid -lm" \
        --enable-cross-compile  \
        --cross-prefix=arm-linux-androideabi- \
        --arch=arm
   $ make & make install

이상!! 아직 테스트는 못함..ㅋㅋ

댓글 없음:

댓글 쓰기