簡體   English   中英

將視頻分割成幀的最快方法

[英]fastest way to split video into frames java

我見過許多類似的問題,比如我的,但我有一個區別,我需要在java而不是c / c ++中這樣做,我需要它在Android設備上工作。

我找到了使用“MediaMetadataRetriever”的方法。

但是我需要花費太長的時間來分隔幀(約1秒到幀),我需要讀取600幀,所以只需要10分鍾就可以在沒有圖像處理的情況下讀取圖像。

我想知道是否有另一種方法可以從視頻中分割幀,或者操縱MediaMetadataRetriever並使其快速工作。

非常感謝!

聽起來你想要使用MediaCodec解碼器。 有一些例子在這里

特別是,如果查看DecodeEditEncodeTest代碼, checkVideoFile()函數會將先前創建的流解碼為外部紋理,然后使用OpenGL ES對其進行處理。 (要從.mp4文件執行此操作,您需要通過MediaExtractor訪問它。)

MediaMetadataRetriever#getFrameAtTime()實際上是用於提取縮略圖,並不特別適合提取大量的幀。

更新:現在有使用MediaExtractorMediaCodec和GLES(API 16+)提取視頻幀的示例代碼

暫無
暫無

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

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