2014-05-09 3 views
1

Android 4.2.2에 비디오 녹화 시스템을 구축하려고합니다. OMX을 사용하는 인코딩 부분을 완료했습니다. 이제 Muxer 부분에 대해 작업하고 있습니다. FFMpeg을 사용하면 비디오의 코드 스트림이 약간 다를 수 있으므로 원래 시스템의 Muxer 도구와 똑같은 기능을 사용하고 싶습니다. 그래서 StagefrightRecorder의 Muxer 부분을 추출하고 .so 파일로 컴파일 한 다음 내 응용 프로그램에서 JNI을 통해 호출하려고합니다. 하지만 StagefrightRecorder에는 많은 것들이 있습니다. 혼란 스럽습니다.StagefrightRecorder에서 Video Muxer 부분을 추출하는 방법은 무엇입니까?

이 방법으로 작동 할 수 있습니까? MPEG4Writer와 관련된 코드를 추출 할 수 있습니까? 누구든지 나에게 어떤 지시도 줄 수 있니? 감사합니다.

답변

1

프레임 워크 컨텍스트 내에서 컴파일하는 경우 관련 헤더 파일을 포함시키고 직접 MPEG4Writer 개체를 만들면됩니다. 이것에 대한 아주 좋은 예는 this file에서 볼 수있는 것처럼 명령 행 유틸리티 recordVideo입니다.

별도의 응용 프로그램을 작성하려면 libstagefright.so과 연결하고 관련 헤더 파일과 경로를 포함해야합니다.

참고 : 당신이 표준 MPEG4Writer 작업을하고자하는 경우, 그것은 인코더가 MediaSource으로 모델링해야 할 것 MPEG4Writer의 소스 즉 소스입니다. 작성자는 metadata 및 실제 비트 스트림을 read 방법으로 가져 오므로 OMXCodec 또는 ACodec과 같은 표준 내장 개체를 인코더로 사용하는 것이 좋습니다.

+0

감사합니다. 나는 이것을 별개의 응용 프로그램으로하고 싶다. 첫 번째 방법을 사용하려면 장치의 전체 시스템을 컴파일해야합니다. 다른 질문이 있습니다. NDK를 통해 .so 파일을 호출 할 때 해당 .h 파일이 있어야합니다. libstagefright.so에 .h 파일이 있습니까? –

+1

@BrendonTsai ..'libstagefright.so'는 상호 의존적 인 헤더 파일을 가진 많은 모듈을 포함합니다. http://androidxref.com/4.4.2_r2/xref/frameworks/av/include/media/stagefright/ 및 http://androidxref.com/4.4.2_r2/xref/frameworks/av/에서 파일을 포함하는 것이 좋습니다. media/libstagefright/include/모든 의존성을 만족시켜야합니다. – Ganesh