2011-04-11 9 views
17

Quiero decodificar las tramas de video (visuales) dentro de un archivo Blackberry RIMM. Hasta ahora tengo un parser, y algunos contenedores correspondientes documentation de RIM.Descodificación del formato de archivo de transmisión RIMM

El códec de video es H264 y está configurado explícitamente en el dispositivo usando una de las propiedades de video.encodings. Sin embargo, FFMPEG no puede decodificar los marcos y esto me está volviendo loco.

Edit 1: Parece que los problemas son la falta de SPS y PPS en los cuadros, y hasta ahora, insertarlos artificialmente ha resultado ser infructuoso (toda imagen gris). Blackberry 9700 envía

0x00 0x00 0x ?? 0x? 0xTipo

donde Tipo está de acuerdo con la tabla 7-1 en la especificación H264 (cuadros I y P). Creemos que el 0x? 0x? representan el tamaño del marco, sin embargo, el tamaño no siempre se corresponde con el tamaño encontrado por el analizador (el analizador parece estar funcionando correctamente).

Tengo un códec decodificador de Windows de blackberry, llamado mc_demux_mp2_ds.ax, y puedo reproducir algunos archivos MPEG-4 capturados de la misma manera, pero es un binario para Windows. Y los archivos H264 no se reproducirán de ninguna manera. Soy consciente de attempts anterior. La url de captura para javax.microedition.media.Manager es

encoding=video-3gpp_width=176_height=144_video_codec=H264_audio_codec=AAC 

y le escribo a un flujo de salida. Algunos archivos de ejemplo here.

Editar 2: Resulta que aproximadamente 3-4 de los 12-15 modos de captura de video disponibles fallan rotundamente y se niegan a dar salida a los datos, incluso en las aplicaciones de prueba más sencillas. Por lo tanto, cualquier solución de trabajo debería implementar MPEG-4, H264 y H263 tanto en AMR como en AAC, para obtener alternativas alternativas cuando falla un códec y/o resolución. Reinicia, cuelga y lo que no ensucia la implementación de video de Blackberry y varía de firmware a firmware; succión total.

+0

ffmpeg se utiliza a través de código, no a través de línea de comandos – ThomasRS

+0

Cómo estaba usando ffmpeg? podemos ver tu comando? –

Respuesta

1

¿Usted intentó con ffmpeg2theora, tengo un muy mal tiempo con ffmpeg antes de encontrar ffmpeg2theora !!, no hay problemas de audio, de vídeo sin problema Justo escritura:.

vídeo ffmpeg2theora [MOV, AVI, MP4 , VOB, etc] -> conseguir un video.ogv

viene compilado para muchas plataformas (se olvide de construir y compilar como ffmpeg), Im usarlo en OSX y Linux de 64 bits 64 bits

http://v2v.cc/~j/ffmpeg2theora/

0

Sé que esto no entra en el meollo de cómo RIMM usa H.264, pero puede apuntar en la dirección correcta.

Hace un par de semanas, convertí con éxito un archivo de video Blackberry usando el Handbrake open-source application (me estaba ejecutando en Windows).

Es posible que desee profundizar en el código del freno de mano, o el código de una de las bibliotecas que utilizan, para ver cómo se manejan estos archivos RIMM.

Subversion: svn co svn://svn.handbrake.fr/HandBrake/trunk handbrake-svn

GitHub: https://github.com/HandBrake/HandBrake

Cuestiones relacionadas