2017-08-14 17 views
1

我正在使用ffmpeg的C API進行一些視頻處理。我的目標是提取給定幀數的屏幕截圖。我已經理解ffmpeg具有av_seek_frame函數來尋找給定的時間戳(以視頻流的適當基本單位表示)。我假設我必須轉到給定幀的最近I幀(使用AVSEEK_FLAG_BACKWARD標誌)並向前讀取,直到滿足所需的幀。爲此,我需要爲av_seek_frame函數提供查找時間戳。我的主要問題是,給定一個幀號,我如何找到相關的演示時間戳尋求?如何查找FFMPEG解碼給定幀號的演示時間戳?

回答

0

只是給你一個想法,根據我的經驗pkt.pts每幀增加pkt.duration次,並且如果幀頻恆定,它是不變的。

檢查pkt.durationpkt.pts每幀增加。如果你確認增加是不變的。通過除以或乘以duration,休息很容易計算點數/幀數。

希望有所幫助。

相關問題