[經驗] opencv 不同的視頻輸出以及文件過大的解決方法
目錄
發(fā)現(xiàn)
分析
解決
總結
發(fā)現(xiàn)
目前的一個項目需要使用OpenCV 錄制視頻,并且將錄制的視頻上傳到我方服務器上,所以,視頻的大小直接影響視頻分析的時時性,針對這個情況,需要在不同的壓縮格式下進行測試,在測試的時候發(fā)現(xiàn),錄制1080p的視頻,大多分布在300M左右,還有更夸張的1.5G,如下圖所示
如果錄制12個小時以上,文件會過大,這種方式是不可以接受的
分析
現(xiàn)在,得知以下因素是直接影響輸出文件大小的
錄制時長
使用格式
FPS
分辨率
在做了大量的實驗之后,決定使用MP42的格式,至少目前這個格式是可以接受的
解決
那輸出后的文件是否可以在進一步的壓縮呢?當然是可以的,這里就要推出神器 ffmpeg ,參考文檔 http://wiki.webmproject.org/ffmpeg ,總之ffmpeg 是格式轉化和壓縮的工具,使用命令行進行轉化,這次的目標格式打算轉成webm的格式
ffmpeg -i MP42_1535613331.avi -threads 4 -vcodec libvpx-vp9 -cpu-used -8 -crf 10 -qmax 60 -deadline realtime out_3_high.webm
源文件500多M,轉出的文件大概10M不到,整體上看來效果也不會太差
大家可以看到參數(shù)里面的,cpu-used 相關的,在轉化時長大約5分鐘的視頻,也需要花費大概2.5分鐘的時間,而此時cpu基本要占用一半,損耗的資源狀態(tài)是不可以接受的,最后和團隊協(xié)商,采用720p的格式
總結
本次主要研究了不同格式下視頻輸出的大小,并引入了一個新的工具ffmpeg的使用,相關的代碼可以參考我的gist
https://gist.github.com/BruceDone/78635b62a550c56a954d2c7c9ac51f32
OpenCV 視頻
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。