2012-01-19 208 views
2

我想看看是否有可能從iPhone的攝像頭錄製視頻並將其寫入文件。然後我希望視頻在一段時間後開始在屏幕上播放。這一切都需要不斷髮生。例如,我希望屏幕上的視頻始終比相機正在記錄的時間晚20秒。從iPhone攝像頭播放實時視頻流20秒延遲

一些背景: 我有一位朋友是一名教練,並希望他的球員能夠看到他們的最後一場比賽。這可以通過從iPad上傳輸到電視的信息源來實現,它始終比記錄的時間晚20秒。這需要不斷運行直到練習結束。 (我會通過有線或AirPlay將iPad連接到Apple TV)。視頻永遠不需要保存,應該在播放後丟棄。

AVFoundation提供的API甚至可能嗎? iPhone會讓你寫入一個文件並同時讀取一個文件來完成這個任務嗎?任何其他更好的方法來完成這一點?

謝謝你的時間。

回答

0

而不是寫入文件,如何將幀保存在足夠容納X秒視頻的循環緩衝區中?

我會開始這樣做的方式是看AVCaptureVideoDataOutput及其委託方法(您可以從中獲取幀數據)中提供的內容。

+0

我只是擔心內存管理。你認爲我能夠在RAM中保存那麼多幀嗎?另外,你如何將這些幀作爲普通視頻從緩衝區中播放出來?感謝您的快速響應! –

+0

您可能可以做一些事情來幫助縮小需要緩衝的內存量,如減少幀或分辨率的大小。至於從緩衝區中播放這些幀,您可以將該循環緩衝區的最後X秒寫入一個文件(然後可以通過AVAsset的'assetWithURL:'打開),或者您可以從緩衝區創建一些內容直接通過'AVAssetReader'。我不是100%肯定的,從來沒有做過你想要做的事情。 :-) –