레이블이 FFmpeg인 게시물을 표시합니다. 모든 게시물 표시
레이블이 FFmpeg인 게시물을 표시합니다. 모든 게시물 표시

2012년 6월 11일 월요일

NDK addr2line 사용방법

FFmpeg프로젝트 중에 계속해서 build fingerprint 라는 알수없는 로그가 발생하면서
실행중인 앱이 죽어 버리는 증상이 발생하고 있다.

뭔가 알아 볼수 없는 주소값인건 알겠는데 어찌 읽어야 하나 방법을 찾다가 발견했다.

아래와 같이 로그가 발생 했다면

06-11 13:27:17.275: I/DEBUG(1435): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-11 13:27:17.275: I/DEBUG(1435): Build fingerprint: 'generic/broadcom_cmp/cmp/:2.2/FRF91/132:jp/release'
06-11 13:27:17.275: I/DEBUG(1435): pid: 9504, tid: 9504  >>> net.jbong.FFmpegBasic <<<
06-11 13:27:17.275: I/DEBUG(1435): signal 11 (SIGSEGV), fault addr 00000008
06-11 13:27:17.275: I/DEBUG(1435):  r0 00000000  r1 bef68370  r2 00000000  r3 00000001
06-11 13:27:17.275: I/DEBUG(1435):  r4 00000000  r5 bef68370  r6 00000c60  r7 81a50e20
06-11 13:27:17.275: I/DEBUG(1435):  r8 00000680  r9 4410eac8  10 4410eab4  fp 452090f4
06-11 13:27:17.275: I/DEBUG(1435):  ip 00000003  sp bef68370  lr 810b6624  pc 810b65dc  cpsr 60000010
06-11 13:27:17.425: I/DEBUG(1435):          #00  pc 000b65dc  /data/data/net.jbong.FFmpegBasic/lib/libbasicplayer.so
이하 생략


arm-linux-androideabi-addr2line.exe -f -e libbasicplayer.so 000b65dc
위와 같이 실행하면
다음과 같은 결과를 출력한다.

av_interleave_packet
D:\workspace2\FFmpegBasic/jni/ffmpeg/libavformat/utils.c:3239

위처럼 실행할때 so파일은 libs폴더가 아니고 obj/local/armeabi 아래 있는 파일을 사용해야 한다.

이제 어디가 문제인지 찾았으니 수정을 해야겠다.

2012년 5월 2일 수요일

ffmpeg에 libx264추가 하기


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

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를 찾지 못함)
  
테스트는 안해봤지만 빌드는 잘됨.

2012년 3월 24일 토요일

Android NDK + ffmpeg

시간내서 정리하여 올려야할 자료중에 하나 NDK 그리고 ffmpeg...

Android NDK와 ffmpeg은 각각 사이트에서 받고...

아래 내용은 Windows + cygwin 에서 ndk 셋팅하고 ffmpeg빌드해서 테스트 하는데 까지 과정을 시간되는대로 조금씩 올릴 예정이다.
(정리를 좀 해놔야 나중에 써먹던 버리던 ㅠㅠ)

0. Cygwin 설치할때 development등 몇몇 옵션에 필요 한것들 추가해서 설치 되도록 한다.

1. ndk 압축 해제후에 다음 명령어 실행하여 toolchain 설치 할것
$ /cygdrive/c/android-ndk-r5b/build/tools/make-standalone-toolchain.sh --platform=android-8 --install-dir=/cygdrive/c/my-android-toolchain
경로는 약간씩 바뀔거고... 명령어 실행했는데 에러나면서 안되는 경우는 대부분 뒤쪽에 옵션 문제이다.
에러 메시지 잘 보고 옵션 변경 해 가면서 설치 할것.

2024년 여섯번째 도서 리뷰 [무엇이 1등 팀을 만드는가]

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 올해의 마지막 서평이다. 무엇이 1등 팀을 만드는가.... 시작하기에 앞서 제목이 과하지 않은가 하는 생각이 든다. 1등 팀이라....예전 어느 개그 프로에서 ...