Arriver IP Cam flux vidéo sur Android (MJEPG)

Je suis actuellement en train de faire un AndAR projet en groupe de 3. Je suis la personne qui est en charge de la vidéo en streaming sur le téléphone Android.
J'ai eu nous-mêmes un D-Link DCS-920 caméra IP et j'ai trouvé qu'il utilise le codec MJPEG pour le flux vidéo en direct et le serveur web utilise Jview pour afficher le flux vidéo en direct. Autant que je sache, MJPG n'est pas un type de fichier pris en charge pour le système d'exploitation Android donc je l'ai est venu avec une idée, au lieu d'utiliser ImageView, j'utilise WebView pour diffuser de la vidéo.
J'ai mis en place un concept très simple et ça marche!!! Mais le problème est, la fréquence de rafraîchissement est terrible.
J'ai la vidéo de l'image (par exemple: http://192.168.1.10/image.jpg) pour afficher sur la WebView et de mettre en œuvre une Minuterie pour contrôler le taux de rafraîchissement (supposée être à 30fps, ce qui est d'actualisation de chaque 33ms), mais il ne peut aller jusqu'à 500 ms d'intervalle, tout intervalle inférieur je remarque qu'il ne sera pas tout lisse,parfois, l'image ne se charge pas et la connexion est instable (ex: chute). Cela pourrait-il être, je suis rafraîchissante à un rythme plus rapide qu'il peut recevoir?
Mais plus sur le serveur web Jview il n'a pas de problème! a été d'essayer de trouver le code source de la jview mais je n'ai aucun espoir.
De toute façon, voici le code que j'ai écrit

package org.example.test;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
public class Webview extends Activity {
public WebView webView;
public Timer autoUpdate;
public String url;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);    
webView = (WebView) findViewById(R.id.webview);
webView.getSettings();
final EditText urlText = (EditText) findViewById(R.id.urlText);
//Buttons//////////////////------------
final Button connectB = (Button)findViewById(R.id.connectButton);
connectB.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//Actions goes here
url = urlText.getText().toString();
webView.loadUrl(url);
timerSetup();
}
});
final Button exitB = (Button)findViewById(R.id.exitButton);
exitB.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//Actions goes here
finish();
}
});
}
//refresh timer//////////////-----------------
public void timerSetup(){
autoUpdate = new Timer();
autoUpdate.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
//Actions goes here
webView.loadUrl(url);
}
});
}
}, 0, 500);//refresh rate time interval (ms)
}
}

Est-il de toute façon je peux obtenir le flux vidéo en par au moins 15fps/ont un taux de rafraîchissement plus rapide?
Il y a aucune une telle chose comme MJPEG/visionneuse de code source que je peux utiliser pour afficher ces images?

voici la capture d'écran de l'application
http://s945.photobucket.com/albums/ad295/kevinybh/?action=view&current=video.jpg
(pas assez de points pour poster des photos) 🙁

J'ai juste besoin de faire le flux vidéo autour de 15-30 images par seconde. toutes les suggestions/aide serait grandement apprécié 🙂 Merci!

Il est très probable qu'il va prendre plus de temps que 33ms pour charger l'image sur le réseau. Pouvez-vous juste essayer et recharger l'image à chaque fois que la précédente a fini de charger?
comment dois-je faire? je veux vérifier si c'est la fin du chargement de l'image et de la recharge à droite juste après la fin du chargement

OriginalL'auteur Kevin | 2010-12-20