web-dev-qa-db-fra.com

Flux RTMP sur iOS

Je dois créer une application iOS qui lit un flux vidéo en direct depuis une caméra. Je sais que l'iPhone ne prend en charge que le flux Live HTTP, mais malheureusement, il est livré avec un délai d'environ 6 à 10 secondes, ce qui est loin de mes besoins - j'ai besoin d'une vue en temps réel. Le flux MJPEG n’est pas non plus une option, car il génère un trafic énorme. Il ne reste donc qu'un flux RTMP, mais iOS ne peut pas le lire en mode natif: ((J'ai entendu parler de rtmpdump pour iPhone, mais je n'ai pas réussi à le faire fonctionner. Quelqu'un a-t-il déjà réussi à lire des vidéos RTMP sur iOS? Des suggestions sur la faites-le sont grandement appréciés!

15
cpprulez

Je suis sûr que mediastreamse augmenter peut être configuré pour des latences légèrement inférieures (peut-être aussi basses que 3 secondes).

Toute autre solution nécessiterait un codec vidéo, de transport et de démultiplication avancé, capable de gérer le protocole RTP sur HTTP, ainsi que l’efficacité de la compression au moins égale à la vidéo MPEG-2. Ces choses sont difficiles à trouver gratuitement (je ne connais que celles grevées de GPL).

Et même ceux-ci auraient des latences d'au moins 1 seconde pour autant que je sache.

3
Steven Kramer

La chose la plus proche est la bibliothèque RTMP de l’iPhone à l’adresse: http://www.aftek.com/afteklab/aftek-iphone-RTMP-library.shtml Mais ne supporte pas encore la publication vidéo.

3
ehud

J'ai utilisé avec succès rtmpdump pour le streaming sur iOS. Vous devez implémenter le décodage du message audio/vidéo car le code ne le fournit pas. En outre, AMF3 n’est pas entièrement mis en œuvre, vous devrez donc peut-être également vous en charger. Pour la plupart, il ne s'agit que du fichier rtmp.c. Les méthodes handleInvoke et handleCtrl sont où se trouve l'action, avec la méthode qui gère le paquet (oubliée).

0
ron garay