2009-02-28 11 views
5

En mi programa, se obtiene el video MP4, y quiero que emita un MP3 (sin ningún material del lado del servidor). Dado que Android (y mi aplicación) necesita ejecutarse en muchas configuraciones de hardware diferentes , esto significa que probablemente no pueda usar FFMPEG. Sé que esto puede requerir mucha batería y poder de procesamiento, especialmente para un teléfono móvil, pero necesito esta opción para mis usuarios. No puedo encontrar ninguna biblioteca nativa para Java que no use FFMPEG.Android Strip Audio del video

Respuesta

2

veo pequeño problema con FFMPEG, ya apparently it runs on 11 arquitecturas soportadas por Debian. Solo la arquitectura no compatible es aparentemente m68k, otras son versiones antiguas en puertos a kernel de FreeBSD o núcleo de Hurd. Y por lo que sé de Android, el hecho de que está basado en ARM no va a cambiar pronto.

Por supuesto, podría haber algunos problemas con los envoltorios de Java en torno al código nativo. ¿Ese es el problema? No soy un programador de Android ni de Java, pero estoy seguro de que puede detectar la plataforma y cargar dinámicamente el contenedor nativo apropiado.

1

No lo he usado, pero descargué y estoy mirando la API para IBM Toolkit for MPEG-4. Sin embargo, parece un poco liviano en las características de acceso a los datos. La implementación es pura java, sin embargo. Parece que han ofuscado sus tarros de códec.

4

MPEG_4 Parte 14 (extensión de archivo .mp4) es un formato de contenedor. En otras palabras, esto especifica cómo se pueden empaquetar múltiples flujos de medios juntos. Procesar formatos de contenedor es mucho menos costoso desde el punto de vista computacional que, por ejemplo, comprimir o descomprimir video. Me sorprendería si resultara demasiado computacionalmente costoso leer un archivo .mp4 y extraer una secuencia de audio en un procesador ARM de un teléfono celular.

No he visto ninguna biblioteca de Java inmediatamente adecuada tampoco. Probablemente no sería muy difícil construir tu propia biblioteca. Analizar los formatos de contenedor es mucho más simple que descomprimir el video. Y usted tiene la implementación de libavformat en ffmpeg como referencia. Los estándares MPEG4 Parte 14 se pueden encontrar aquí:

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

y aquí:

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

Cuestiones relacionadas