java - Android如何快速獲取視頻每秒縮略圖
問(wèn)題描述
最近項(xiàng)目想要像新版微信那樣只能分享10s以內(nèi)的視頻,需要對(duì)超過(guò)10s的視頻進(jìn)行裁剪和獲取視頻每秒的縮略圖,裁剪壓縮功能都已經(jīng)實(shí)現(xiàn),主要是獲取視頻每秒的縮略圖功能,利用ffmpeg獲取比較慢,需要等待很長(zhǎng)時(shí)間,無(wú)法像微信那樣進(jìn)入視頻編輯頁(yè)面就可以直接瀏覽視頻每秒的縮略圖
利用ffmpeg獲取視頻每秒縮略圖(每秒輸出一個(gè)圖像)
ffmpeg -i input.flv -vf fps=1 out%d.png
獲取的時(shí)間較長(zhǎng),反編譯微信發(fā)現(xiàn)微信里面也是利用ffmpeg,是否有更快速的命令獲取?
也嘗試過(guò)使用MediaMetadataRetriever.getFrameAtTime獲取,獲取時(shí)間更加漫長(zhǎng)
大佬求教!!!
問(wèn)題解答
回答1:ffmpeg支持同時(shí)輸出多種格式,可以一邊錄像一邊輸出截圖,比如 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方面創(chuàng)建的文件,把從攝像機(jī)獲取的視頻數(shù)據(jù)寫(xiě)進(jìn)這個(gè)文件讓ffmpeg讀取。-f rawvideo -pix_fmt nv21 -s 640x480 -r 15都是配置視頻的參數(shù)。
相關(guān)文章:
1. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?2. docker-compose中volumes的問(wèn)題3. docker不顯示端口映射呢?4. golang - 用IDE看docker源碼時(shí)的小問(wèn)題5. 在windows下安裝docker Toolbox 啟動(dòng)Docker Quickstart Terminal 失敗!6. docker容器呢SSH為什么連不通呢?7. javascript - 最近用echarts做統(tǒng)計(jì)圖時(shí)遇到兩個(gè)問(wèn)題!!8. mac里的docker如何命令行開(kāi)啟呢?9. javascript - 連續(xù)點(diǎn)擊觸發(fā)mouseleave事件10. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””

網(wǎng)公網(wǎng)安備