簡體   English   中英

從視頻中提取幀的最快方法

[英]Fastest way to extract frame from video

有人測試過從視頻中提取幀的最快方法是什么?

-Aforge

-Emgu CV(OpenCV)

-AviFile

-ffmpeg

以及使用哪種格式和視頻編解碼器?

假設我需要在不到10毫秒的時間內捕獲FullHD視頻文件(1920 x 1080)的隨機幀...可能嗎?

我嘗試使用Aforge和Avifile庫來實現。 提取第1,2,3,4,5,...幀就可以了

但是,如果您想要這樣的1,2,200,40000隨機幀,...有時需要500毫秒。 (在指針找到流中的位置之前)。

任何建議,將不勝感激。

訪問隨機幀的關鍵因素是所使用的編解碼器,其時間壓縮,尋找I幀的能力,是否可以尋找最接近的I幀而不是精確地關注您的時間戳。 由於時間壓縮,您可能需要[通常對您內部透明地進行,但這顯然增加了處理開銷]尋找最近的關鍵幀,然后它們從那里逐幀前進到請求的位置。

AForge,EmguCV,OpenCV只是直接與文件一起使用的API之上的包裝,因此它們不可能是最快的(它們是基礎訪問方法+額外的開銷)。 FFmpeg和Windows API(AVIFile,DirectShow,Media Foundation)對於給定的格式/編解碼器可能會更好或更壞,具體取決於實現的質量。

暫無
暫無

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

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