Acceder

Ver la Versión Completa : Video Stream RTP


dmartinezgo
17/09/13, 18:26:06
Hola,

Estoy emitiendo a traves del vlc instalado en un pc un stream de video y me gustaría visualizarlo en mi movil android con una aplicación. Estoy utilizando el mediacontroller pero me sale el mensaje de "lo siento, no se puede reproducir este video".

¿Sabeis como puedo reproducir un streaming de video tipo rtp?

Gracias

PD. Con la aplicacion vlc para android poniendo esta misma ruta veo el stream de video en el movil


Codigo:

try {
String VideoURL = "rtp://192.168.1.4:9999";
// Start the MediaController
MediaController mediacontroller = new MediaController(
MainActivity.this);
mediacontroller.setAnchorView(videoview);
// Get the URL from String VideoURL
Uri video = Uri.parse(VideoURL);
videoview.setMediaController(mediacontroller);
videoview.setVideoURI(video);

} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}

videoview.requestFocus();
videoview.setOnPreparedListener(new OnPreparedListener() {
// Close the progress bar and play the video
public void onPrepared(MediaPlayer mp) {
pDialog.dismiss();
videoview.start();
}
});

kriogeN
17/09/13, 18:49:44
Aquí tienes los formatos que soporta Android:

http://developer.android.com/guide/appendix/media-formats.html

Si el formato que usas para codificar el streaming de video no es ninguno de esos formatos no puedes reproducirlo usando VideoView (o MediaPlayer en general).

Con el VLC si te funciona porque el VLC tiene su propio decodificador en tiempo real.

Buscando un poco he encontrado esto:

https://github.com/appunite/AndroidFFmpeg

Es una librería de FFmpeg para Android (el que usan la mayoría de reproductores de vídeo de todas las plataformas) y además un programa de ejemplo en el que la usa. Con eso creo que podrás hacer tu aplicación.

Por lo poco que he visto la librería no viene precompilada, y al ser un port de una librería escrita en C++ necesitarás el NDK para poder compilarla. Y parece que sólo viene preparada para funcionar en ARM, por lo tanto en dispositivos basados en x86 no te funcionará (aunque estos son muy muy muy pocos)

dmartinezgo
17/09/13, 18:52:14
Muchas gracias kriogeN por tu rapida respuesta.

Voy a mirar primero si es por el tema de los formatos y sino me tocara pegarme con el ffmpeg.

Muchas gracias de nuevo:-)