安卓短視頻APP開發視頻錄製功能的解決方案分享

2018年短視頻的熱度可謂是一片火熱,2019短視頻的熱度並未褪去,反而是隻增不減,短視頻APP開發也成了投資者的方向,為了不錯過短視頻的紅海,開發短視頻APP是宜快不宜遲。

安卓短視頻APP開發視頻錄製功能的解決方案分享

目前開發短視頻主要是要開發安卓端和iOS端,今天小編主要介紹一下安卓端的視頻錄製的解決方案。眾所周知,短視頻app開發業務中“視頻錄製”以及 “視頻編輯”是兩個核心功能。

其中視頻錄製又包括:視頻採集、實時美顏、自定義碼率、攝像頭切換、變焦、對焦、曝光度調節以及濾鏡等功能。視頻編輯則包括:視頻裁剪、視頻拼接、混音、視頻動畫效果、動態貼圖等功能。

視頻錄製的大致實現流程是先由Camera、AudioRecord進行最原始的相機畫面以及聲音的採集,然後將採集的數據進行濾鏡、降噪等前處理,處理完成後由MediaCodec進行硬件編碼,最後採用MediaMuxer生成最終的MP4文件。


安卓短視頻APP開發視頻錄製功能的解決方案分享

雖然這幾年智能手機的性能大大增強,很多旗艦手機基本都是8核的CPU了,但要操作如此大量的圖片數據並進行浮點運算對CPU的消耗還是很大的。CPU暫用率高就會引起手機發燙,手機發燙就會導致Camera採集掉幀,還會引起CPU降頻,CPU一旦降頻那APP所暫用的CPU比例就更高了,進而引發手機電量消耗過快。

而對於視頻編輯功能,目前Android端沒有很好的系統API即硬件處理方式,主要還是利用ffmpeg進行相應的疊加、裁剪混音等後期處理。可以優化的一個點是,先將原始的MP4視頻進行解碼,然後將解碼後的YUV數據映射到GPU的紋理上進行亮度、飽和度等參數的調節,然後將調好的參數配置為ffmpeg進行編輯處理。

這個方案的優勢是全程採用了GPU以及硬件編碼,基本上不涉及CPU上的操作,所以在可實現在高幀率(30fps)、高分辨率(720P)以及高碼率的情況下CPU暫用率也非常低,即使在性能較差的手機上也能很好的運行。在音視頻開發中,通常情況下對音視頻的處理,主要是對視頻的YUV、H264音頻的PCM、AAC這類數據格式進行操作,這類操作都有相關成熟的RFC技術,實現起來比較容易,通常情況下在PC等設備上也可以這麼處理。

這個方案是目前比較適用的解決方案,短時片APP開發是一個大項目,不僅僅是要解決錄製問題,還有更多需要解決的事項,特別是還有第三方服務,這裡小編建議如果感興趣的投資者,開發短視頻儘量還是優先找專業的團隊來完成,可以解決很多後顧之憂。



分享到:


相關文章: