簡體   English   中英

AVAssetWriter中AVAssetWriterInputPixelBufferAdaptor的重要性

[英]Importance of AVAssetWriterInputPixelBufferAdaptor in AVAssetWriter

我正在嘗試使用AVAssetWriter輸出從攝像機捕獲的視頻。

我正在跟蹤一些不使用AVAssetWriterInputPixelBufferAdaptor (使用AVAssetWriterInputPixelBufferAdaptor 錄制視頻 ),而其他一些示例則使用( AVCaptureSession僅獲得視頻緩沖區 )。

基於Apple參考資料,我已經將AVAssetWriterInputPixelBufferAdaptor (或CVPixelBuffer, CVPixelBufferPool )的用途總體上解釋為一種在內存中緩沖傳入像素的有效方法。 實際上,在使用AVAssetWriter編寫視頻輸出時使用此功能有多重要? 我似乎可以在不使用適配器的情況下正常工作,但是我想進一步了解使用AVAssetWriterInputPixelBufferAdaptor的好處/意圖。

多年來,我一直在使用沒有PixelBufferAdaptor的視頻錄制,沒有任何問題。 我基本上使用以下代碼:

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer  fromConnection:(AVCaptureConnection *)connection{
     if (videoWriterInput.readyForMoreMediaData) {
         [videoWriterInput appendSampleBuffer:sampleBuffer];
     }
}

我的看法是,由於CMSampleBufferRef包含時序信息,因此可以直接寫入。 而如果您具有CVPixelBuffer,則必須通過適配器添加時序信息。 因此,如果您在寫入之前進行了一些圖像處理,則最終將得到一個CVPixelBuffer並必須使用適配器。 如果處理需要時間,則適配器可能還會為CVPixelBuffer添加一些緩沖功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM