2010-02-07 8 views
1

J'essaie de diffuser de la vidéo avec IP statique: http://38.117.88.148/GemTVLink via iPhone. Pouvez-vous me montrer quelques informations sur la façon dont je pourrais mettre en œuvre cela? Je vois une application de flux vidéo Apple, mais il semble qu'il ne peut montrer que .mp4 films? Ai-je raison? Je veux que mon application charge l'adresse HTTP et joue le film, c'est tout. Ce lien fonctionne sur le lecteur multimédia.Diffuser de la vidéo à partir du serveur. {iPhone SDK}

Répondre

2

lecteur iOS vidéo natif (AVPlayer, MPMoviePlayerViewController ...) peut diffuser à partir du serveur http au format m3u8.

J'ai regardé le lien, que vous avez mentionné (GemTVLink), c'est un flux mms, iOS ne peut pas diffuser depuis microsoft streaming servers (mms), si vous voulez faire cela, vous devez utiliser la bibliothèque ffmpeg, comme cette bibliothèque peut connecter n'importe quel serveur de streaming (support rtsp, mms, tcp, udp, rtmp ...) puis dessiner des images à l'écran .. (pour le dessin, vous pouvez utiliser opengles ou uiimage fonctionne également)

Tout d'abord, utilisez avformat_open_input pour vous connecter à votre adresse IP, puis utilisez avcodec_find_decoder & avcodec_open2 pour trouver les codecs et les ouvrir (vous devez les appeler pour les audio & vidéo)

ensuite, dans une boucle while lire les paquets du serveur en utilisant la méthode av_read_frame Quand vous obtenez frame, si c'est audio puis envoyé à AudioUnit ou AudioQueue, si c'est vidéo, puis le convertir de yuv en format rgb en utilisant la méthode sws_scale et dessiner l'image à l'écran.

C'est tout.

regard sur cette enveloppe aussi (http://www.videostreamsdk.com), il est écrit sur la bibliothèque ffmpeg et prend en charge iOS

Questions connexes