Autore Topic: Lettura flusso rtsp con mplayer e videoview  (Letto 624 volte)

Offline loribl85

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GT-I8190
  • Sistema operativo:
    android 4.1.2
Lettura flusso rtsp con mplayer e videoview
« il: 21 Gennaio 2015, 09:20:29 CET »
0
Buongiorno, ho implementato un server che mi manda un flusso video tramite rtsp con questo url rtsp://mio_ip:9554/webcam utilizzando h264 come compressione e live555 per implementare il protocollo.

Lato client ho creato questo programmino

Codice (Java): [Seleziona]
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.view.Menu;
import android.widget.MediaController;
import android.widget.VideoView;

public class MainActivity extends Activity {
VideoView myVideoView;
ProgressDialog progDailog;
AudioManager audio;
MediaController mediaController;
String unStringUrl="rtsp://192.168.1.100:9554/webCam";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    myVideoView = (VideoView)findViewById(R.id.videoplayer);        
    progDailog = ProgressDialog.show(MainActivity.this, null, "caricamento video...", true);        
    audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

    mediaController = new MediaController(this);
    myVideoView.setMediaController(mediaController);
    myVideoView.setVideoURI(Uri.parse(unStringUrl));
    myVideoView.requestFocus();

    myVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        public void onPrepared(MediaPlayer arg0) {

                 
            if(progDailog != null) {
                progDailog.dismiss();
            }

            arg0.start();
        }
    });

    myVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        public void onCompletion(MediaPlayer mp) {
           mp.stop();
        }
    });

    myVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
        public boolean onError(MediaPlayer mp, int what, int extra) {
            if(progDailog != null) {
                progDailog.dismiss();
            }

            return false;
        }
    });
}



}

Quando eseguo l'applicazione il video rimane scuro per un secondo poi mi arriva il video velocemente come per recuperare il ritardo, poi funziona per altri 2-3 secondi in live normalmente e poi il video si blocca tipo fermo immagine.
Il server è stato testato con vlc in android e con RTSP Player un applicazione che ho trovato in google play e il tutto funziona a meraviglia.
Ringrazio in anticipo se qualcuno può aiutarmi.

Offline ale89e1

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus
  • Sistema operativo:
    Windows 10
Re:Lettura flusso rtsp con mplayer e videoview
« Risposta #1 il: 01 Luglio 2016, 14:58:40 CEST »
0
Ciao  :-), ho letto il tuo post e mi ritrovo lo stesso problema. Per caso sei riuscito a risolverlo?? Se si mi potresti dire come hai fatto?? per favore

Sono tre giorni che ci sono dietro e non riesco a venirne a capo :'(