簡體   English   中英

使用Xcode 4.6.1在iOS 6上進行RTSP流式傳輸

[英]RTSP Streaming on iOS 6 with Xcode 4.6.1

我需要開發一個能夠接收RTSP流的應用程序。 我試着在互聯網上找到解決方案/教程一整天,但沒有任何成功。 我閱讀了很多關於使用FFMPEG或Live555的內容(更多FFMPEG,我也讀到使用最新版本的FFMPEG時不需要Live555),但是當我在stackoverflow上發現問題時,我無處可見它以我能理解的形式描述答案非常簡短,我無法弄清楚他們試圖解釋什么。 所以現在我需要問問自己。 我使用“Homebrew”下載並安裝FFMPEG,現在當我查看我的目錄/ usr / local /我可以看到這個,安裝的文件包含在“Cellar”的子文件夾中 酒窖目錄

我還試着看看這些項目: Mooncatventures的RTSPPlaykolyvan的kxmovie

我並沒有真正弄清楚如何使用這些項目,文檔無限期且“模糊”。 好吧,當我嘗試編譯這些項目時,kxmovie會出現錯誤,例如“缺少avformat.h”, 錯誤avformat.h 我將usr / local / cellar / ffmpeg / 1.2.1 / lib中的dylib添加到項目中,但似乎這不是正確的方法。 與RTSPPlay xcodeprj幾乎相同的問題,它給出了“Entitlements.plist”丟失的錯誤,在完全刪除了該文件的鏈接之后我得到了99+ Apple Mach-O鏈接器錯誤,老實說我無法理解為什么。

我也想嘗試Live555,但是我無法看清所有這些模糊和混亂的文件,我再也無法監督文檔以及如何為iphoneos構建庫(我讀它是接收RTSP Stream的最簡單方法,但它是與其他項目相同的一堆令人困惑的文件)

也許如果有人嘗試使用這些項目或開發應用程序本身可以幫助我使用他/她的SourceCode,或者如果有人看到FFMPEG / Homebrew的所有內容制作了dir,他/她可以解釋我如何使用它,那可能幫助我和正在尋找解決方案的所有其他絕望的開發人員。

只需稍加編輯:我正在嘗試接收RTSP H.264解碼視頻流。

在此先感謝Maurice Arikoglu。 (如果您需要任何類型的SourceCode,Links,ScreenShots等,請告訴我)

對於正在尋找有效的RTSP播放器庫的人來說,看看我在網上發現的Durfu的Mooncat Fork ,它在iOS 8上運行得非常好。包含一個示例代碼,如果你對實現有困難我可以幫助你。

我已經檢查過你提到過的很多項目,並且對這些項目有很好的經驗。

你可以使用ffmpeg庫來創建一個rtsp流客戶端,因為ffmpeg支持rtsp協議...但是我在測試中看到一個重要的問題,當使用UDP傳輸層進行流傳輸時,ffmpeg的rtsp協議有一些重要的問題。 ..即使使用最新版本(2.01),許多RTP數據包在流式傳輸過程中也會丟失,因此圖像有時會出現故障...如果您使用TCP或http傳輸層,那么它運行良好...

對於live555項目,當流式傳輸rtsp流時,這個庫適用於UDP和TCP傳輸。但是ffmpeg功能非常強大/具有許多功能而不是live555。

如果您決定使用ffmpeg,那么基本上,您應該按照以下步驟,

  1. 建立連接 - avformat_open_input
  2. 找到音頻/視頻編解碼器 - avcodec_find_decoder
  3. 打開音頻/視頻編解碼器 - avcodec_open2
  4. 在循環中讀取來自文件/網絡流的編碼數據包 - av_read_frame A. a。 解碼音頻數據包 - avcodec_decode_audio4 b。 使用audiounit / audioqueue框架填充音頻緩沖區B. a。 解碼視頻數據包 - avcodec_decode_video2 b。 將yuv圖片轉換為rgb圖片 - sws_scale或opengles着色器

祝好運...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM