2013-02-25 68 views
8

顯然有一種方法可以做到這一點,因爲如此多的應用程序已經在使用它--NetCamViewer和iCamviewer來命名一個。如何在iOS中使用IP Camera/CCTV顯示RTSP

我已經搜索和搜索,但我沒有找到任何有價值的東西,提示如何做到這一點。我希望有人會給我一個線索。

我試圖連接到支持RTSP協議的視頻安全攝像頭(Y-CAM),並從我的iPhone/iPad應用程序中顯示視頻。相機具有IP地址,我可以通過網絡瀏覽器和Mac上運行的Quicktime查看視頻。問題在於RSTP在iOS上不受支持,所以即使嘗試在iPad上使用Safari連接也不起作用。

我讀過一些正在嘗試使用Live5555,但我還沒有看到一篇文章描述它是否已成功完成以及如何完成。

另一種方法是在服務器上捕獲RTSP流,將其轉換爲HTTP Live流,然後連接到iOS的HTTP Live流。不幸的是,這聽起來並不容易。

我寧願像我見過的其他應用程序那樣直接進入相機。如果必須的話,RTSP Live就會回落。

任何提示,非常感謝。謝謝!

回答

11

這是錯誤的:)或沒有必要的(另一種方法是捕捉RTSP然後將它連接到iOS的HTTP Live流,遺憾的是,這聽起來並不容易)

您應該使用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的

0

你真的需要在發佈前先搜索棧溢出,這個問題已經被問了很多次。有住555種類的作品和我們中的一些已經得到它的工作..

還有其他球員也一樣,包括我們http://www.streammore.tv/

+0

你好,米歇爾,我們如何使用http://www.streammore.tv/...是否有任何SDK爲此... – vulvaji 2013-02-27 05:13:33

+0

是的,有聯繫信息是在你引用的網站上,加上鍊接我們的開源github存儲庫。 – 2013-03-01 14:31:14

0

一般有兩種技術來顯示在iOS上的Safari RTSP視頻:

  • RTSP/HLS(H.264 + AAC)
  • RTSP /網頁套接字(H.264 + AAC ==> MPEG + G.711或H.264 +?)

對於HLS可以考慮Wowza服務器。 對於iOS Safari中的Websocket播放,您可以使用WCS4 server

websocket播放的主要思想是將HTML5直接渲染爲HTML頁面Canvas元素和音頻上下文。在MPEG回放的情況下,視頻解碼將在iOS Safari端使用普通JavaScript完成。

另一種選擇 - 安裝帶有getUserMedia支持的WebRTC插件並通過WebRTC播放此流。無論如何,在這種情況下,您將需要服務器端RTSP-WebRTC轉碼器。