看板 MacDev 關於我們 聯絡資訊
※ 引述《ryanliang (暑假閒閒的大學生~~)》之銘言: : ※ 引述《zonble (zonble)》之銘言: : : QTMovie 有兩個 method : : - (NSImage *)frameImageAtTime:(QTTime)time : : - (void *)frameImageAtTime:(QTTime)time withAttributes:(NSDictionary *)attributes error:(NSError **)errorPtr : : 這兩個 method 可以讓你在取得了一段 QuickTime movie 後 : : 根據時間把 NSImage 或其他的 Image 物件抽出來,不知道 : : 這是不是你想要的? : Z大的意思是, : 我先錄影片,錄完後在用QTMovie中的方法, : 擷取某特定時間點的Frame, : 是這意思嗎? : 跟我原本的流程好像有點不大相同, : 我是想在我按下錄影鍵後的每一張圖(Frame)都存在一個地方, : 也就是說我不打算輸出成影片檔, : 我要的是圖檔, : 不過如果Z大說的方法如果可以找得出"每一張"圖(Frame)的話, : 那倒也不是不可行, : 感謝Z大!! QTCaptureVideoPreviewOutput 有一個 delegate method - (void)captureOutput:(QTCaptureOutput *)captureOutput didOutputVideoFrame:(CVImageBufferRef)videoFrame withSampleBuffer:(QTSampleBuffer *)sampleBuffer fromConnection:(QTCaptureConnection *)connection 可以擷取 frame QTCaptureDecompressedVideoOutput 也有一個 delegate method - (void)captureOutput:(QTCaptureOutput *)captureOutput didOutputVideoFrame:(CVImageBufferRef)videoFrame withSampleBuffer:(QTSampleBuffer *)sampleBuffer fromConnection:(QTCaptureConnection *)connection 可以擷取 frame 應該就是你要找的功能了吧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.111.97
ryanliang:感謝m大!! 這個方法我都有找到 但是不知怎麼去使用它 10/03 19:32
ryanliang:能夠更舉體解說看看嗎? 感謝~~ 10/03 19:33
mactaris:你應該看過 StillMotion 這個官方的範例了吧? 10/04 04:44
mactaris:問題在於你要每個 frame 都存起來 10/04 04:45
mactaris:這兩個 delegate method 會把每一個 frame 都 pass 給你 10/04 04:47
mactaris:所以得確定下一個frame進來之前來得及把這個frame存檔 10/04 04:49
mactaris:或者把frame丟給別人(thread?)去存檔... 10/04 04:51
ryanliang:沒錯!!會來不及存檔 而且程式會當掉 thread我沒有寫過 10/04 12:05
ryanliang:我不知道該怎麼將它分開 我是想按addFrame時可以將Frame 10/04 12:07
ryanliang:存起來 現在看來用迴圈寫會當掉 thread我沒研究過 M大有 10/04 12:08
ryanliang:甚麼好建議嗎? 10/04 12:08