안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요!
안드로이드 2.1 v
이클립스 - 갈릴레오v
JDK - 6 update 12
제가 잘못알고있는 부분이 있다면 알려주세요~ ^ㅡ^
안드로이드 동영상 플레이어 어플을 개발하려고 합니다.
API Demo의 Media 에서 local 동영상 파일 재생과, 스트리밍 동영상 재생 예제가 있던데,
이 소스코드를 보면 안드로이드폰 자체 동영상 재생기를 할때 안드로이드 SDK MediaPlayer 클래스를 이용하였습니다.
스트리밍 동영상까진 어려울 것 같고...
우선 저희는 local에 저장된 동영상파일을 재생시키는 플레이어를 개발하려고 합니다.
기본 재생,일시정지,빨리감기,되감기,볼륨조절 등의 기능을 구현할 것이고
추가로 암호화 기능을 넣을것입니다.
동영상이 디코딩 될 때 영상의 YUV 를 RGB로 변환하는 중간 과정에서
YUV 가 저장된 내부 메모리의 위치를 알아내서 암호화 알고리즘을 적용할 것인데요,
조사를 해봐도 잘 모르겠는 부분이 있습니다
FFMPEG 라이브러리를 이용해서 동영상 플레이어를 개발하면 다양한 파일형식을 재생할 수 있겠지만
아직 안드로이드 SDK 만 이용해서 개발해봤고 라이브러리를 사용해 보지 않아서 많은 어려움이 있을거라 생각합니다.
그래서 안드로이드에서 기본적으로 제공하는 파일형식인 h.263과 h.264 그리고 mpeg 을 재생할 수 있는 플레이어를 만들고 싶습니다.
이 세가지 파일형식만 재생할 수 있는 플레이어를 만드려면 안드로이드 SDK만으로 개발할 수 있을까요?
음.. 하드웨어까지 내려가서 어떤 작업들을 해주어야 하는 건가요?
디코딩 결과 YUV 를 알아내려면.. SDK에 어떤 클래스를 사용해야 할까요?
Media Player 클래스는 동영상을 start , stop 등의 함수만 있는거 같고..
디코딩의 YUV 에서의 RGB 변환 함수는 없는 것 같아요~ 이런건 내부적인 .. NDK를 이용해야 하는 건가요..?
-------------------------------
공지사항 읽었습니다 ^^
예를 들면 OpenCore에 추가 코덱을 달수는 있으나 그 방법이 "다운로드"가 아닌 "직접 포팅"이 되어야 한다는거죠...
디코딩으로 YUV를 잡는다던가 이런과정은 NDK를 써도 아마 안될겁니다.
저도 플젝땜시 시도를 많이 해봤는데 결국 실패....
ffmpeg 같은걸 쓰는게 유일한 해결책이겠으나 문제는 퍼포먼스 이슈가 발목잡더군요..