Instagram技術上做到拍攝/選取視頻+濾鏡生成視頻全程無等待原因以及時間對算法的制約

國內的主流段視頻軟件如快手、秒拍、美拍在編輯視頻的時間效率上都遠不如Ins做的好,很奇怪Ins是全程GPU加速麼
一般技術選型都是GPUImage或者ffmpeg進行封裝
前者直接操作OpenGL ES,效率高但是沒有編碼解碼功能
後者效果很多,但是h.264編碼解碼在移動設備上太慢了

有什麼可以做實時編解碼的技術支撐這個需求麼?  時間對數據的實時處理有至關重要的阻礙要素,時間越快越好,效率越高越好,效率至上,沒的說。


如果你是指攝像頭採集並H.264編碼的話,推薦個人開源項目GitHub - begeekmyfriend/yasea: RTMP streaming client for Android圖像處理見gpuimage分支,完全可以做到實時。另外,有的shader計算量比較大,所以採集分辨率我一概設置了640x480
視頻剪輯的部分就要靠你自己了。

GPUImage是基於IOS的
FFMPEG有基於CPU也有基於GPU加速的
實時濾鏡其實有時候也犧牲了幀率(比如30幀,在預覽時候可能掉到20幀甚至更低),只是最合成過程中你看不出來而已(合成時候一般不丟幀,但也意味着合成時間可能大於1:1)。
另外就是能不能實時,一方面看CPU或GPU性能,第二方面看分辨率大小(大部分手機編輯視頻的分辨率都不高),第三方面看濾鏡類型,有些濾鏡很耗費計算量,做不到實時。


發佈了126 篇原創文章 · 獲贊 61 · 訪問量 46萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章