Necesito decodificación H.264 acelerada por hardware para un proyecto de investigación, para probar un protocolo autodefinido.¿Cómo usar la descodificación de video acelerada por hardware en Android?
Como tengo la búsqueda en la web, he encontrado algunas maneras de realizar decodificación de video acelerada por hardware en Android.
- Uso ffmpeg libstagefright (overview of libstagefright) o utilizar libstagefright en el sistema operativo directamente, como here.
- Utilice OpenMax en una plataforma de hardware específica. como here about samsung device y here about Qualcomm Snapdragon series
- Algunas personas mencionaron PVplayer,
Algunas personas "say" libstagefright es la única manera de Qualcomm, mientras que los chicos han hecho el éxito obviamente.
Actualmente no estoy seguro de qué manera podría funcionar. Estoy un poco confundido ahora. Si todo pudiera funcionar, ciertamente preferiría un método independiente del hardware.
Como he probado algunos reproductores de video de su aceleración de H/W con Galaxy Tab 7.7 (3.2 & Enxyos), VLC, Mobo, Rock, vplayer, rock y mobo funcionan bien, VLC no funciona, vplayer parece tener un error de renderizado que cuesta su rendimiento.
De todos modos, hice una 'operación' en Rockplayer y eliminé todas sus .so libs en data \ data \ com.redirecting \ rockplayer, y las fallas de decodificación de software mientras la decodificación hw funciona bien! Me pregunto cómo lo hicieron. Me parece que la aceleración de hw podría ser independiente de las plataformas de hardware.
¿Alguien puede solucionar este problema? ¿O proporciona alguna referencia con información adicional o mejores detalles?
Estoy algo confundido! ¿Desea acceso directo (sin API multimedia de Android) al decodificador acelerado H/W para decodificar sus flujos de bits? Porque todos los SOCs de teléfonos modernos decodifican H.264 usando H/w Acceleration. –
@ OakBytes, quiero implementar la decodificación acelerada en H/W, sin embargo está hecho. Ahora solo sé cómo decodificar la transmisión con la decodificación del software ffmpeg. La aceleración de H/W se refiere al nivel de rendimiento a 1080P @ 30 fps, mientras que la decodificación de software es mucho más débil. He evitado referirme a la decodificación de software como el uso de CPU porque el módulo de aceleración H/W también es parte de la CPU. ¿Qué quiere decir con todos los teléfonos modernos que ya utilizan aceleración H/W? –
Cuando Gallery Media Player se usa para reproducir clips H.264, todos los teléfonos Android recientes usan el decodificador H.264 H/W acelerado. Supongo que piensas usar el decodificador H.264 para decodificar el flujo de bits crudo H.264 y obtener una salida decodificada, en lugar de reproducir un archivo que contenga video H.264 y algo de audio. –