4

我開始研究HTTP實時流式傳輸協議,感覺非常有趣。瀏覽Apple提供的完整文檔。使用iPhone作爲mediastreamsegmenter的輸入 - HTTP實時流式傳輸

我試過機器視覺點播和直播節目,以及使用VLC播放器下面的開發者論壇的一個提到的步驟的流媒體服務器,我能夠成功地流呢。

現在我想讓我的iPhone成爲流媒體的來源,並且希望使用其他iPhone來查看該內容。

如上所述,mediastreamsegmenter是通過UDP網絡連接或從sdtin接收MPEG-2傳輸流的工具。

有人可以把一些光如何開始使用我的iPhone作爲流媒體服務器,並且能夠將內容流傳輸。據我所知,我認爲必須有一個客戶端(iPhone)應用程序將內容發送到服務器,然後將服務器轉換成MPEG-2傳輸流並將其發送到媒體流分類器。我希望剩下的部分與我爲VLC播放器進行流式傳輸相同。

如果有人能幫我解決這個問題,那該多好。

+0

那裏有一個後回答你的問題與AVAssetWriter: http://stackoverflow.com/questions/3741323/how-do-i-export-uiimage-array-as-a-movie/3742212#3742212 – Sam 2013-10-18 09:14:42

回答

2

這只是我的猜測。如果有肯定的答案,我儘量不發表。但是,現在仍然沒有答案。所以我寫這個只是爲了分享我的看法。但是,我很抱歉,這不是積極的。

如果您只想從iOS設備傳輸視頻,很容易。只需發送視頻文件本身。所以我假設你想要的是直播視頻流。廣播我目前正在錄製的內容。

幾個星期前我曾考慮過這個問題,但是我無法成功。問題不在於媒體分割。 MPEG2 TS僅僅是一個容器,分割只是分割視頻,它可以很容易地實現(?),具有精確的規格。

真正的問題是視頻編碼。 iOS不提供來自相機輸入的壓縮直播流。 (也許呢?)壓縮流只能存儲到磁盤。應該有一種內部獲取壓縮視頻流的方法。因爲沒有它,FaceTime是不可能的。但它不提供給第三方。

可以連續存儲短視頻並上傳到服務器。但是啓動/完成視頻會話需要很長時間。所以我放棄了這種方法。

的另一種方式,iOS的提供無壓縮視頻流,這樣你就可以通過壓縮原始視頻流自己做到這一點。與ffmpeg或這樣的事情。不過,Apple的視頻編碼利用硬件功能來提高性能(這可以在較小的尺寸下提高視頻質量)並節省能源。 ffmpeg只能在軟件中完成所有的事情。當然,您可以自己製作硬件加速編碼器,也可以從某個供應商處購買。

市面上有一些直播視頻流功能的應用程序。我沒有用過它們。但也許是其中之一。

  • 轉印原始幀。 (無壓縮或快速但弱壓縮)
  • 基於ffmpeg編碼器。
  • 獨立的硬件加速編碼器實現。

第一個需要太高的帶寬,並且也消耗重能量。

第二個肯定慢,消耗重能量。但它可能就夠了。

第三個需要太高的開發成本的小規模應用程序。但如果你有足夠的預算,這是最好的。我不知道市場上存在針對iOS的預先實施的庫。

我希望蘋果公司發佈這種壓縮視頻流。用Apple的硬件加速編碼器進行壓縮。但是,除非蘋果決定放棄保護設備之間的高質量實時視頻流功能,否則這種情況不會發生,因爲它們的殺手功能... FaceTime。

然而,Apple有可能在某個時候發佈這個API。而且我不確定是否搜索了所有的API。我可能無法檢查重要的東西。


更新

我發現類AVAssetWriter可視頻數據寫入到與壓縮文件。這可能是製作這種應用的關鍵。