簡體   English   中英

CMSampleBuffer的示例呈現時間代表什么?

[英]What does a CMSampleBuffer's sample presentation time represent?

我們的應用程序正在使用AVFoundation來捕獲視頻,使用其樣本緩沖區顯示,操作和導出視頻。 我試圖了解CMSampleBufferGetPresentationTimeStamp(_:) CMTime實際代表什么。

例如,開始視頻捕獲時,第一個樣本的演示時間為93小時5分鍾。 我不明白這個價值從何而來。 使用第一個樣本的演示時間來啟動AVAssetWriter會話會在視頻播放開始之前創建93個小時的黑框。

它基於馬赫時間,這意味着上次重新啟動的滴答數。 您可以使用以下代碼創建此類CMTime:

  mach_timebase_info_data_t timeInfo;
  mach_timebase_info(&timeInfo);
  CMTime time = CMTimeMake(mach_absolute_time() * timeInfo.numer / timeInfo.denom, 1000000000);

或使用它來將其轉換為秒數。
double seconds = CACurrentMediaTime();

暫無
暫無

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

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