2012-10-03 29 views

回答

1

AVCapture_ _ _這些方法都適用於相機類型的東西,其中磁盤上的電影文件肯定不是。

我懷疑你是什麼真的尋找就像"AVPlayerItemVideoOutput" class,它與iOS 6.0一起。

While it has a delegate protocol,我還沒有使用這個新的對象或協議,我不知道代理方法,如「outputSequenceWasFlushed」實際上是否會有用於您的目的。關於AVPlayerItemVideoOutput類的一件事是,它就像你可以在這些項目的像素緩衝區中獲得的那樣(即,對於電影,它將是幀)。

+0

AVPlayerItemVideoOutput僅在某個CMTime處爲我們提供像素緩衝區。 我希望對於每一幀它通過或觸發一個方法,它返回該幀的像素數據。有點完全像captureOutputSampleBuffer。 你能否提供我任何工作代碼樣本,這可能會幫助我更好地理解? – umirza47

+0

我還沒有使用這個新類,當我檢查Apple的示例代碼歸檔時,我沒有看到任何明顯的東西。 [我確實在StackOverflow上看到了一個潛在的有用的相關問題](http://stackoverflow.com/questions/10232072/cant-have-avassetimagegenerator-give-me-all-the-frames-of-a-movie),它演示如何獲取電影文件的每一幀。也許這可能會幫助你? –

0

您可能需要對這些一看: https://ar.qualcomm.at/support_file/download/iOS/videoplayback%20sample%20app/vuforia-videoplayback-ios-1-0-2.zip

像你想它,它實現了某些東西。它依賴於一個AVAssetReader你可以使用AVAssetReaderOutput - > copyNextSampleBuffer方法。

你可以設置每幀計時器打出基於視頻資產的幀速率,在計時器您可以檢索上述CMSampleBufferRef通過copyNextSampleBuffer檢索,也這是從iOS4.x