2013-06-27 71 views
6

我需要開發一個應用程序,它能夠接收RTSP流。 我試圖在整個一天的互聯網上找到解決方案/教程,但沒有任何成功。 我讀了很多關於使用FFMPEG或Live555(更多FFMPEG,我也讀過使用最新版本的FFMPEG時沒有必要使用Live555),但無論我看到它的形式,我都可以理解,當我發現問題時stackoverflow答案是非常短的,我無法弄清楚他們試圖解釋。 所以現在我需要問自己。 我用「自制」,下載並安裝FFMPEG,現在當我看着我的目錄的/ usr /本地/ 我可以看到這一點,已安裝的文件都包含在「地窖」的子文件夾 Cellar dir使用Xcode 4.6.1在iOS 6上進行RTSP流式傳輸

我也嘗試過看看這些項目:RTSPPlay by Mooncatventureskxmovie by kolyvan

我沒有真正弄清楚如何使用這些項目,文檔是無限期和「黑暗」的。 那麼,當我試圖編譯這些項目的kxmovie failes錯誤,就像「缺少avformat.h」, error missing avformat.h 我添加了從usr/local/cellar/ffmpeg/1.2.1/lib的dylib到項目但似乎這不是正確的方法。 幾乎與RTSPPlay xcodeprj相同的問題,它給出了一個「Entitlements.plist」丟失的錯誤,完全刪除了該文件的鏈接後,我得到了99+ Apple Mach-O鏈接器錯誤,老實說我無法理解爲什麼。

我也想嘗試Live555,但我無法看穿所有這些晦澀難懂的文件,我再也無法監督文檔以及如何爲iphoneos構建庫(我讀它是接收RTSP流的最簡單方法但是它與其他項目一樣是一堆混亂的文件)

也許如果有人嘗試過使用這些項目或開發應用程序,他自己可以幫助我用他/她的SourceCode,或者如果有人通過FFMPEG的所有內容/ Homebrew製作了dir的他/她可能可以解釋我如何使用它,這可能會幫助我和所有其他尋求解決方案的絕望開發人員。

只是稍作編輯:我試圖接收RTSP H.264解碼的視頻流。

在此先感謝Maurice Arikoglu。 (如果你需要任何種類的源碼,鏈接,截圖等等。請讓我知道)

+0

可能不檢查這些論壇就像我應該在rtspplay我們的小演示,你不需要entitlement.plist,則需要在老年人的Xcode版本也刪除arm7s拱和編譯爲iPhone發佈此意願不適用於模擬器,僅適用於iPhone。同時我們也通過Facebook應用開發組 –

+0

支持,我們也有一些教程,這裏www.streammore.tv –

回答

2

對於任何人誰正在尋找工作RTSP Player媒體庫看看Durfu's Mooncat Fork我在網上找到的,它是在iOS 8上工作得非常好。包含示例代碼,如果您在執行過程中遇到困難,我可以幫助您。

1

我已經研究很多,你提到的那些項目,並經歷了那些好..

您可以使用由於ffmpeg支持rtsp協議,因此ffm​​peg庫生成rtsp流媒體客戶端......但是,在我的測試中發現了一個重要問題,即在使用UDP傳輸層進行流媒體播放時,ffmpeg的rtsp協議有一些重要問題...即使使用最新版本(2.01),許多RTP數據包在流式傳輸過程中丟失,因此圖像有時會變得非常糟糕...如果使用TCP或http傳輸層,那麼它可以很好地工作...

對於live555項目,當使用UDP和TCP傳輸流式傳輸時,此庫可以很好地工作。但ffmpeg功能強大/具有比live555更多的功能。

如果你決定使用ffmpeg的話,基本上,你應該遵循下面的步驟,

  1. 建立連接 - avformat_open_input
  2. 查找音頻/視頻編解碼器 - avcodec_find_decoder
  3. 開放的音頻/視頻編解碼器 - 從文件/網絡流avcodec_open2
  4. 讀取編碼的分組在環 - av_read_frame A. 一個。解碼音頻數據包 - avcodec_decode_audio4 b。用audiounit/audioqueue框架填充音頻緩衝區 B. a。解碼視頻數據包 - avcodec_decode_video2 b。轉換YUV圖片爲rgb圖片 - sws_scale或opengles着色器

好運...

+0

可能你可能跟你解釋更深? 如果你可以通過一步一步的指南解釋我這將是很棒的謝謝! – Maurice