Comment afficher RTSP de la Caméra IP/VIDÉOSURVEILLANCE dans iOS
Il y a évidemment une façon de le faire, car si de nombreuses applications sont déjà à le faire - NetCamViewer et iCamviewer pour ne citer qu'un.
J'ai cherché mais je ne trouve rien de valeur qui donne une indication quant à la façon dont cela est fait. Je suis d'atteindre espérant que quelqu'un puisse me donner un indice.
Je suis en train d'essayer de vous connecter à une vidéo de caméra de sécurité (Y-CAM), qui prend en charge le protocole RTSP, et l'affichage de la vidéo à partir de mon application iPhone/iPad. L'appareil photo dispose d'une adresse IP, et je peux visualiser la vidéo à partir d'un navigateur web et de Quicktime fonctionne sur mon Mac. Le problème est que RSTP n'est pas pris en charge sur iOS, de sorte que même en essayant de se connecter à l'aide de Safari sur iPad ne fonctionne pas.
J'ai lu que certains tentent d'utiliser Live5555, mais je n'ai pas vu un article qui décrit si il a été fait avec succès et comment.
Une alternative est de capturer le flux RTSP sur un serveur, de les convertir en un HTTP Live stream et puis connectez-vous à l'adresse HTTP en Direct et en streaming à partir d'iOS. Malheureusement, cela n'a pas été tout aussi simple qu'il y paraît.
Je préfère aller directement à la caméra comme d'autres applications que j'ai vu faire. le RTSP, Vivre, c'est une chute en arrière si je dois le faire.
Tous les indicateurs sont grandement appréciés. Merci!
OriginalL'auteur vulvaji | 2013-02-25
Vous devez vous connecter pour publier un commentaire.
C'est faux 🙂 ou pas nécessaire (Une alternative est de capturer le flux RTSP sur un serveur, de les convertir en un HTTP Live stream et puis connectez-vous à l'adresse HTTP en Direct et en streaming à partir d'iOS. Malheureusement, cela n'a pas été tout aussi simple qu'il y paraît.)
Vous devez utiliser la bibliothèque ffmpeg, comme cette bibliothèque pouvez connecter n'importe quel serveur de streaming (soutien rtsp, mms, tcp, udp ,le protocole rtmp ...) et ensuite de dessiner à l'écran.. (pour le dessin, vous pouvez utiliser opengles ou uiimage marche aussi)
Tout d'abord, l'utilisation avformat_open_input pour vous connecter à votre adresse ip
ensuite, utilisez avcodec_find_decoder & avcodec_open2 de trouver les codecs et de les ouvrir (vous devriez les appeler pour audio & vidéo)
Puis, dans une boucle while lire les paquets de serveur à l'aide de av_read_frame méthode
Lorsque vous obtenez l'image, si c'est de l'audio, puis envoyé à AudioUnit ou AudioQueue,
si c'est de la vidéo, puis le convertir en yuv vers rgb en utilisant sws_scale méthode et dessiner l'image à l'écran.
C'est tout.
regarder ce wrapper aussi (http://www.videostreamsdk.com), il est écrit sur la bibliothèque ffmpeg et prend en charge iOS
OriginalL'auteur Tarum
Vous avez vraiment besoin de recherche de dépassement de la pile avant de poster , cette question a été posée de nombreuses fois. Oui vivre 555 sorte de travaux et certains d'entre nous ont eu à le faire fonctionner..
Il y a d'autres joueurs aussi, y compris le nôtre, http://www.streammore.tv/
oui, il est , des informations de contact sur le site que vous avez cité, ainsi que les liens vers notre open source github.
OriginalL'auteur Michelle Cannon
Vous pouvez trouver un open source FFMepg Décodeur pour iOS (et quelques échantillons) sur GitHub : https://github.com/mooncatventures-group
Exemple d'utilisation de cette bibliothèque : http://sol3.typepad.com/exotic_particles/
OriginalL'auteur Spawnrider
Il y a deux technologie d'affichage RTSP de la vidéo sur iOS Safari:
Pour HLS, vous pouvez envisager serveur Wowza.
Pour Websocket de la lecture dans iOS Safari, vous pouvez utiliser WCS4 serveur.
Idée principale de websocket la lecture est directe HTML5, le rendu de la page HTML élément Canvas et du contexte sonore. Dans le cas de MPEG la lecture de décodage vidéo sera fait sur iOS Safari côté en utilisant un JavaScript.
Une autre option - installer un WebRTC plugin avec getUserMedia de soutien et de jouer à ce flux via WebRTC. De toute façon, vous aurez besoin d'un côté serveur RTSP-WebRTC transcoder dans un tel cas.
OriginalL'auteur ankitr