44 votes

Lecteur de flux en direct RTMP/RTSP sans utiliser de webview (serveur WOWZA) sur Android

Je développe une application Android dans laquelle je veux publier et diffuser une vidéo...

Ce que je veux, c'est :

  1. Mon application enregistre une vidéo et cette vidéo est envoyée au serveur.

  2. La vidéo enregistrée sera diffusée en direct sur un autre appareil Android au même moment .

J'ai réalisé la première tâche en utilisant javac et ffmpeg . Je suis bloqué dans la deuxième tâche. J'ai beaucoup cherché à diffuser la vidéo à partir du serveur, mais je n'ai pas réussi. I ne pas utiliser de WebView et y lire la vidéo. I vous voulez un lecteur RTMP . Cette tâche a été réalisée dans iOS... Je veux la même chose pour Android. Quel est le lien pour accomplir ma tâche ?

P.S. :

J'utilise serveur wowza et le flux RTMP. Je voudrais faire du streaming vidéo RTMP (.flv)... Si aucune solution n'est disponible, je voudrais passer à RTSP et pour cela aussi, j'ai besoin d'un lien fonctionnel à suivre...

Maintenant, je suis passé à Lecteur RTSP [avec serveur wowza]. car je n'ai pas trouvé de lecteur RTMP sans webview. Comment puis-je résoudre ce problème ?

22voto

Zeeshan Saiyed Points 209

Vous pouvez facilement le faire via Vitamio Lib. Vitamio peut lire les formats HD 720p/1080p, mp4, mkv, m4v, mov, flv, avi, rmvb, rm, ts, tp et de nombreux autres formats vidéo sur Android et iOS. Presque tous les protocoles de streaming populaires sont pris en charge par Vitamio, notamment HLS (m3u8), MMS, RTSP, RTMP et HTTP.

Télécharger Vitamio Bundle à partir de aquí .

Et une démo de aquí .

3voto

Anas Points 398

J'utilise Adobe AIR pour jouer au RTMP et c'est génial. J'ai trouvé la réponse aquí ; voir le code :

function init_RTMP():void
{
    streamID  = "RT_2";
    videoURL = "rtmp://fms5.visionip.tv/live/RT_2";

    vid = new Video();

    nc = new NetConnection();
    nc.addEventListener(NetStatusEvent.NET_STATUS, onConnectionStatus);
    nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
    nc.connect(videoURL);
}

private function onConnectionStatus(e:NetStatusEvent):void
{
    if (e.info.code == "NetConnection.Connect.Success")
    {
        trace("Creating NetStream");
        netStreamObj = new NetStream(nc);

        metaListener = new Object();
        metaListener.onMetaData = received_Meta;
        netStreamObj.client = metaListener;

        netStreamObj.play(streamID);
        vid.attachNetStream(netStreamObj);
        addChild(vid);
    }
}

1voto

Prince Points 5761

Si vous n'avez pas d'autres options, vous pouvez utiliser spydroid-ipcamera qui est un projet open source. C'est une alternative pour vos besoins. Je l'ai vérifié et il fournit un treaming vidéo en direct.

0voto

Bgpl Points 11

Vous pouvez essayer d'utiliser Adobe AIR, qui peut lire rtmp de manière triviale, et afficher l'application AIR sur Android.

Déploiement de l'application AIR sur Android : http://help.adobe.com/en_US/air/build/WSfffb011ac560372f-5d0f4f25128cc9cd0cb-8000.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X