2009-02-28 8 views
5

내 프로그램에서, 그것은 MP4 비디오를 가져오고, MP3를 출력하고 싶습니다 (서버 측 물건없이). 안드로이드 (그리고 내 애플 리케이션)는 다양한 하드웨어 구성에서 실행해야하기 때문에 , 아마 FFMPEG를 사용할 수 없다는 것을 의미합니다. 휴대 전화의 경우 배터리 및 처리 전력이 많이 소모 될 수는 있지만 사용자에게는이 옵션이 필요하다는 것을 알고 있습니다. FFMPEG를 사용하지 않는 자바 용 네이티브 라이브러리를 찾을 수 없습니다.안드로이드 스트립 오디오 비디오에서

답변

2

내가 FFMPEG에 약간의 문제를 참조 apparently it runs on 11 아키텍처 데비안에서 지원하기 때문이다. 지원되지 않는 아키텍처는 분명히 m68k이고, 다른 아키텍처는 FreeBSD 커널 또는 허드 커널 포트의 구버전입니다. 그리고 내가 안드로이드에 대해 알고 있듯이, ARM을 기반으로한다는 사실은 곧 바뀔 것입니다.

물론 원시 코드와 관련된 Java 래퍼에 문제가있을 수 있습니다. 그게 문제 야? Android 나 Java 프로그래머가 아니지만 플랫폼을 감지하고 적절한 네이티브 래퍼를 동적으로로드 할 수 있습니다.

1

아직 사용하지 않았지만 다운로드하여 IBM Toolkit for MPEG-4에 대한 API를보고 있습니다. 그러나 데이터 액세스 기능에 대해 약간의 빛이 보입니다. 하지만 구현은 순수한 자바이다. 코덱 병을 난독 화 한 것 같습니다.

4

MPEG_4 Part 14 (.mp4 파일 확장자)는 컨테이너 형식입니다. 다시 말해, 이는 여러 미디어 스트림을 함께 패키징 할 수있는 방법을 지정합니다. 처리 컨테이너 형식은 - 예를 들어 - 비디오 압축 또는 압축 해제보다 훨씬 덜 계산적으로 비쌉니다. .mp4 파일을 읽고 휴대 전화 ARM 프로세서에서 오디오 스트림을 추출하는 데 너무 많은 계산 비용이 든다면 놀랄 것입니다.

즉시 적합한 자바 라이브러리를 보지 못했습니다. 아마도 자신 만의 라이브러리를 만드는 것은 그리 어렵지 않을 것입니다. 컨테이너 형식을 구문 분석하는 것은 비디오의 압축을 푸는 것보다 훨씬 간단합니다. 그리고 ffmpeg에서 libavformat 구현을 참조로 사용합니다. MPEG4 파트 14 표준은 여기에서 찾을 수 있습니다 : 여기

http://webstore.iec.ch/preview/info_isoiec14496-14%7Bed1.0%7Den.pdf

과 :

http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html