這只是我的猜測。如果有肯定的答案,我儘量不發表。但是,現在仍然沒有答案。所以我寫這個只是爲了分享我的看法。但是,我很抱歉,這不是積極的。
如果您只想從iOS設備傳輸視頻,很容易。只需發送視頻文件本身。所以我假設你想要的是直播視頻流。廣播我目前正在錄製的內容。
幾個星期前我曾考慮過這個問題,但是我無法成功。問題不在於媒體分割。 MPEG2 TS僅僅是一個容器,分割只是分割視頻,它可以很容易地實現(?),具有精確的規格。
真正的問題是視頻編碼。 iOS不提供來自相機輸入的壓縮直播流。 (也許呢?)壓縮流只能存儲到磁盤。應該有一種內部獲取壓縮視頻流的方法。因爲沒有它,FaceTime是不可能的。但它不提供給第三方。
可以連續存儲短視頻並上傳到服務器。但是啓動/完成視頻會話需要很長時間。所以我放棄了這種方法。
的另一種方式,iOS的提供無壓縮視頻流,這樣你就可以通過壓縮原始視頻流自己做到這一點。與ffmpeg
或這樣的事情。不過,Apple的視頻編碼利用硬件功能來提高性能(這可以在較小的尺寸下提高視頻質量)並節省能源。 ffmpeg
只能在軟件中完成所有的事情。當然,您可以自己製作硬件加速編碼器,也可以從某個供應商處購買。
市面上有一些直播視頻流功能的應用程序。我沒有用過它們。但也許是其中之一。
- 轉印原始幀。 (無壓縮或快速但弱壓縮)
- 基於ffmpeg編碼器。
- 獨立的硬件加速編碼器實現。
第一個需要太高的帶寬,並且也消耗重能量。
第二個肯定慢,消耗重能量。但它可能就夠了。
第三個需要太高的開發成本的小規模應用程序。但如果你有足夠的預算,這是最好的。我不知道市場上存在針對iOS的預先實施的庫。
我希望蘋果公司發佈這種壓縮視頻流。用Apple的硬件加速編碼器進行壓縮。但是,除非蘋果決定放棄保護設備之間的高質量實時視頻流功能,否則這種情況不會發生,因爲它們的殺手功能... FaceTime。
然而,Apple有可能在某個時候發佈這個API。而且我不確定是否搜索了所有的API。我可能無法檢查重要的東西。
更新
我發現類AVAssetWriter
可視頻數據寫入到與壓縮文件。這可能是製作這種應用的關鍵。
那裏有一個後回答你的問題與AVAssetWriter: http://stackoverflow.com/questions/3741323/how-do-i-export-uiimage-array-as-a-movie/3742212#3742212 – Sam 2013-10-18 09:14:42