2011-07-12 27 views
14

我正在嘗試在我正在開發的應用程序中創建類似於功能的流式視頻DVR。我有一個HTTP實時流,我已經成功地在iPad上播放。我希望用戶能夠按下「錄製」按鈕,並開始錄製當前正在播放的視頻。這個視頻文件將可以從應用程序或相機膠捲訪問。目前,我正在使用MPMoviePlayerController對象播放視頻流。我沒有看到任何從Apple文檔中的對象訪問數據的方法。以下是關於如何解決這個問題的一些想法。在觀看時記錄HTTP直播視頻文件?

1)以某種方式從MPMoviePlayerController訪問視頻數據,並將其寫入文件。或者使用其他類型的播放器對象,這將允許我播放視頻並訪問當前播放的數據。

2)實現某種屏幕捕捉錄製,獲取iPad屏幕的視頻捕捉。這將允許我以某種方式在「截圖」中記錄視頻。

3)找到它們存儲在MPMoviePlayerController中的HTTP Live Streaming視頻段。據推測他們需要存儲在iPad上的某個地方進行播放。有沒有辦法訪問這些文件?

4)流式傳輸文件時,通過http手動下載流視頻片段。這看起來似乎並不理想,因爲流必須下載兩次。

5)這可以工作。定期將視頻片段下載到iPhone。在iPhone上設置本地HTTP服務器並將視頻服務器傳送到MPMoviePlayerController。這樣可以將視頻片段標記爲錄製並組裝成視頻。

6)我確實有流媒體服務器的控制權。我可以編寫一些服務器端代碼在服務器端錄製視頻,然後將視頻發送到iPad。我寧願不要這樣做。

有沒有人做過這些事情?理想情況下,iPhone可以以某種方式訪問​​視頻數據並輕鬆記錄。如果我不需要,我寧願不進入選項4,5或6(以上)。

在此先感謝。

+0

你有什麼問題嗎? –

+0

@David你完成了這個功能嗎?如果可以,請您發佈一些相關的代碼或者指出我們的方向正確嗎? –

回答

2
在設備上

DVR是有點不鼓勵,由於空間有限等因素影響電池壽命和處理能力,清理過程用戶停止DVR等後

如果你想實現DVR在iOS設備(或使用HLS的其他設備)上播放,我建議您保留視頻服務器端。實時流已經被捕獲並且被分段的服務器端,所有你需要做的就是保持段長一點,而不是刪除它們。通過使用EXT-X-PLAYLIST-TYPEEXT-X-MEDIA-SEQUENCE標籤,您可以向玩家建議他打開一個具有DVR(較早)視頻的實時流。

或者,您可以使用開箱即用的服務器,例如Wowza。 Here's an article on how to achieve this with Wowza