안드로이드 영상 처리 예제

모든 것은 어도비 프리미어 프로와 유사한 비디오 처리를 허용하는 iOS와 Android 모두를 위한 모바일 응용 프로그램을 개발하려는 욕구에서 시작되었습니다. 응용 프로그램의 목적은 미리 정의 된 템플릿을 기반으로 다른 비디오 및 이미지의 비디오 구성을 만드는 것입니다. MyBlender 응용 프로그램은 ThemeMaker라는 복잡한 기본 게시 플랫폼의 배달 차량입니다. 이 웹 기반 크리에이티브 도구, 엔드 투 엔드 콘텐츠 및 사용자 관리 시스템을 사용하면 기술적이지 않은 그래픽 아티스트가 사전 코딩 지식없이 단 몇 시간 만에 멋진 테마를 만들 수 있습니다. 일반적으로 맞춤 크리에이티브 트리트먼트는 프로그래밍하는 데 몇 달이 소요됩니다. 가장 중요한 기능 중 하나는 테마가 앱 스토어에서 업데이트할 필요 없이 장치에 설치된 MyBlender 앱에 게시될 수 있다는 사실입니다. 이 기능을 사용하면 특정 이벤트 기반 및 계절 테마를 적시에 게시할 수 있습니다. MyBlender의 기능과 독특한 판매 제안에 대한 자세한 내용은 여기에서 찾을 수 있습니다. 이것은 비디오를 처리하기위한 안드로이드 API에 내장되어 있습니다. 그러나 광범위한 API를 대상으로 지정하려는 경우 몇 가지 심각한 제한이 있습니다. 가장 유용한 부분은 MediaMuxer 클래스이지만 이 클래스를 사용하려면 최소한 API 수준 18이 필요합니다.

(현재 최소 API 수준 16을 사용하는 것이 좋습니다.) 따라서이 API를 사용하기로 결정하면 현재 작동하는 장치의 상당한 비율을 잃게됩니다. 사용법은 MediaPlayer API와 유사하지만 앱의 Surface를 사용하여 수정할 수 있으며 openGL ES API를 통해 콘텐츠를 수정할 수 있습니다. 나는 우리가 안드로이드에 어떤 네이티브 지원을 찾고 시작, 나는 몇 가지 유망한 API를 건너 왔다. Wanari는 iOS, Android, Backend 및 Frontend 엔지니어등 모든 종류의 소프트웨어 개발자로 가득찬 맞춤형 소프트웨어 개발 회사입니다. 우리는 새로운 기술을 사랑하고 희망을 공유하여 당신을 도울 수 있습니다. 더 많은 콘텐츠를 위해 우리를 따르라! 이 라이브러리는 PC용 비디오 처리 라이브러리와 동일한 API 끝점을 노출하려고 시도합니다. 처리 비디오 라이브러리의 스케치는 Android용으로 작동합니다. 내가 아는 한,이 라이브러리는 비디오 처리에 가장 자주 사용됩니다. 기사의 톤이 있다, 포럼 스레드 및 이것에 대 한 SO 게시물 그리고 대부분의 개발자가 그것을 사용 하는 이유. 그것은 비디오 처리 작업의 거의 모든 종류를 돌볼 수 있으며 거의 모든 플랫폼에서 컴파일 할 수 있습니다. 그리고 여기에 고통스러운 부분이 온다 : 당신은 당신의 프로젝트에 맞게 컴파일해야합니다.

그것은 모듈 형 라이브러리, 그것은 확장 하거나 축소 될 수 있습니다., 귀하의 요구에 따라. 라이브러리의 사용은 컴파일의 출력에 따라 달라집니다. 한편으로는 표준 유닉스 실행 가능한 셸 프로그램을 만들 수 있습니다. 그런 다음 장치 메모리에서 로드하고 Java 프로세스로 실행할 수 있습니다. 이 경우 프로세스에 필요한 모든 명령줄 인수를 전달해야 합니다. 반면에 공유 라이브러리로 컴파일할 수 있습니다. 그런 다음 자바 JNI와 안드로이드 NDK를 사용하여 래퍼 클래스에서 사용할 수 있습니다. 이 경우 명령줄 인수를 생성할 필요가 없습니다. 그러나 모든 입력 및 출력 데이터를 처리하려면 C 또는 C ++에서 래퍼 클래스에 대한 코드를 작성해야합니다. 이 파일을 Android 앱의 프로세스 내에서 실행할 수 있는지 확인하려면 원시 폴더에서 FFmpeg 실행 파일을 앱의 빈 디렉토리에 복사하여 파일의 권한을 변경합니다. 비디오 처리는 스냅 챗과 인스 타 그램과 같은 인기있는 소셜 미디어 애플 리케이션에서 사용된다.

이러한 앱의 대부분은 필터, 텍스트 및 이미지 오버레이와 같은 비디오에 적용할 수 있는 특수 효과가 있습니다. 일부는 자르기, 트리밍 비디오와 함께 비디오를 병합할 수 있습니다. 일부 Android 프로젝트는 높거나 낮은 수준의 미디어 처리가 필요할 수 있습니다. 이 문서에서는 FFmpeg, MP4Parser, 모바일용 인텔 미디어 등과 같은 몇 가지 유용한 라이브러리를 정리합니다. 모든 라이브러리에는 장단점이 있습니다. 초기 대상 API-s, 장치 및 사양에 따라 사용할 장치를 신중하게 고려해야 합니다. 나는 너무 많은 세부 사항으로 가지 않을 것이다, 기사의 주요 목적은 주어진 문제에 가장 적합한 lib를 결정하는 데 도움이됩니다.