2010-02-07 114 views
1

我試圖通過iPhone流式傳輸具有靜態IP的視頻:http://38.117.88.148/GemTVLink 。你能告訴我一些關於如何實現這一點的信息嗎?我看到一個蘋果視頻流應用程序,但它似乎只能顯示.mp4電影?我對嗎? 我想讓我的應用程序加載HTTP地址並播放電影,就是這樣。 此鏈接適用於媒體播放器。從服務器流視頻。 {iPhone SDK}

回答

2

iOS原生視頻播放器(AVPlayer,MPMoviePlayerViewController ...)開始可以從HTTP服務器M3U8格式流。

我看了一下你提到的鏈接(GemTVLink),它是一個mms流,iOS不能從微軟流媒體服務器(mms)流式傳輸,如果你想這樣做,你應該使用ffmpeg庫,因爲這個庫可以連接任何流媒體服務器(支持rtsp,mms,tcp,udp,rtmp ...),然後將圖片畫到屏幕上(對於繪圖,您可以使用opengles或uiimage也可以)

首先, avformat_open_input連接到你的IP地址,然後使用avcodec_find_decoder & avcodec_open2找到編解碼器,並打開它們(你應該叫他們爲音頻視頻&)

然後,在while循環通過當你幀,如果是音頻使用av_read_frame方法從服務器讀取數據包然後將其發送到AudioUnit或AudioQueue,如果是視頻,然後將其從YUV轉換使用sws_scale方法RGB格式,並繪製圖片到屏幕上。

就是這樣。

看這包裝也(http://www.videostreamsdk.com),它是寫上的ffmpeg庫,並支持iOS的