web-dev-qa-db-fra.com

Lecteur de flux RTMP/RTSP en direct sans utiliser WebView (serveur WOWZA) sous Android

Je développe une application Android dans laquelle je souhaite publier ainsi que 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 terminé la première tâche en utilisant javac et ffmpeg . Je suis coincé dans la deuxième tâche. J'ai beaucoup cherché à diffuser la vidéo du serveur, mais je n'ai pas réussi. Je ne veux pas utiliser WebView et y lire la vidéo. Je veux d'un lecteur RTMP. Cette tâche a été complétée sous iOS ... Je souhaite la même chose pour Android. Quel est un lien pour remplir ma tâche?

P.S .:

J'utilise le serveur wowza et le flux RTMP. Je souhaite diffuser une vidéo RTMP (.flv) ... Si aucune solution n'est disponible, je souhaite basculer vers RTSP. Pour cela, vous devez également disposer d'un lien fonctionnel.

Maintenant, je suis passé sur RTSP player [avec le serveur wowza] car je n'ai pas trouvé de lecteur RTMP sans WebView. Comment résoudre ce problème?

44
SweetWisher ツ

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

Téléchargez Vitamio Bundle à partir de ici .

Et une démo de ici .

Un tutoriel de ici .

22
Zeeshan Saiyed

J'utilise Adobe AIR pour lire RTMP et c'est génial. J'ai trouvé la réponse ici ; 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);
    }
}
3
Anas

Si vous n'avez pas d'autre option, vous pouvez utiliser spydroid-ipcamera , qui est un projet open source. C'est une alternative à vos exigences. Je l'ai vérifié et il fournit des vidéos en direct.

1
Hardik Joshi
0
Mina Gabriel

Vous voudrez peut-être essayer d’utiliser Adobe AIR qui permet de lire trivialement rtmp et de déporter 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

0
Bgpl

J'ai utilisé libVLC dans l'une de mes applications et cela fonctionne bien. https://github.com/mrmaffen/vlc-Android-sdk

0
Abhishek Akhani