文章詳情頁
java - Android如何快速獲取視頻每秒縮略圖
瀏覽:137日期:2023-12-26 09:09:04
問題描述
最近項目想要像新版微信那樣只能分享10s以內的視頻,需要對超過10s的視頻進行裁剪和獲取視頻每秒的縮略圖,裁剪壓縮功能都已經實現,主要是獲取視頻每秒的縮略圖功能,利用ffmpeg獲取比較慢,需要等待很長時間,無法像微信那樣進入視頻編輯頁面就可以直接瀏覽視頻每秒的縮略圖
利用ffmpeg獲取視頻每秒縮略圖(每秒輸出一個圖像)
ffmpeg -i input.flv -vf fps=1 out%d.png
獲取的時間較長,反編譯微信發現微信里面也是利用ffmpeg,是否有更快速的命令獲取?
也嘗試過使用MediaMetadataRetriever.getFrameAtTime獲取,獲取時間更加漫長
大佬求教!!!
問題解答
回答1:ffmpeg支持同時輸出多種格式,可以一邊錄像一邊輸出截圖,比如 ffmpeg -i /path/to/stream/file -f rawvideo -pix_fmt nv21 -s 640x480 -r 15 video.mp4 -vf fps=1 out%d.png,其中 /path/to/stream/file 是Java方面創建的文件,把從攝像機獲取的視頻數據寫進這個文件讓ffmpeg讀取。-f rawvideo -pix_fmt nv21 -s 640x480 -r 15都是配置視頻的參數。
標簽:
java
相關文章:
1. angular.js - 輸入郵箱地址之后, 如何使其自動在末尾添加分號?2. javascript - 后臺管理系統左側折疊導航欄數據較多,怎么樣直接通過搜索去定位到具體某一個菜單項位置,并展開當前菜單3. 如何解決docker宿主機無法訪問容器中的服務?4. javascript - Web微信聊天輸入框解決方案5. javascript - 如何使用nodejs 將.html 文件轉化成canvas6. python - Scrapy存在內存泄漏的問題。7. 如何用筆記本上的apache做微信開發的服務器8. CSS3 畫如下圖形9. angular.js - $stateChangeSuccess事件在狀態跳轉的時候不執行?10. android - rxjava merge 返回Object對象數據如何緩存
排行榜
