/*
視頻的三要素:碼率、幀率、分辨率 https://sanwen8.cn/p/101uMot.html
蘋果封裝好的視頻壓縮技術(shù)屬于:硬編碼,效率高、實(shí)現(xiàn)簡單,但是用戶不能自定義壓縮,只有幾種壓縮方案
采用蘋果的壓縮技術(shù)壓縮出來的視頻是無法達(dá)到:即小又清晰的效果
要想做到類似微信、秒拍那樣的壓縮效果,暫時(shí)只 知道兩種方法:
1、采用蘋果壓縮+后臺(tái)壓縮
特點(diǎn):實(shí)現(xiàn)簡單、節(jié)約開發(fā)時(shí)間、消耗網(wǎng)絡(luò)資源(用戶提交“半壓縮”的視頻到后臺(tái),需要時(shí)間)
可行性:由于ffmpeg是開源的,后臺(tái)很容易找到ffmpeg壓縮的demo,實(shí)現(xiàn)簡單。iOS端很難找到ffmpeg視頻壓縮的demo,實(shí)現(xiàn)困難
2、采用ffmpeg軟編碼,自定義視頻的三要素實(shí)現(xiàn)壓縮
特點(diǎn):實(shí)現(xiàn)復(fù)雜、壓縮時(shí)間長、壓縮的視頻質(zhì)量高、可自定義、不需要后臺(tái)二次壓縮、工程包過大
可行性:除iOS端其他都很好找到ffmpeg的壓縮demo,所有在開發(fā)周期充足的情況下可采用這種方案
FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序。采用LGPL或GPL許可證。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進(jìn)的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質(zhì)量,libavcodec里很多code都是從頭開發(fā)的
補(bǔ)充:
一、軟編碼和硬編碼如何區(qū)分
軟編碼:使用CPU進(jìn)行編碼
硬編碼:使用非CPU進(jìn)行編碼,如顯卡GPU、專用的DSP、FPGA、ASIC芯片等
二、軟編碼和硬編碼比較
軟編碼:實(shí)現(xiàn)直接、簡單,參數(shù)調(diào)整方便,升級(jí)易,但CPU負(fù)載重,性能較硬編碼低,低碼率下質(zhì)量通常比硬編碼要好一點(diǎn)。
硬編碼:性能高,低碼率下通常質(zhì)量低于硬編碼器,但部分產(chǎn)品在GPU硬件平臺(tái)移植了優(yōu)秀的軟編碼算法(如X264)的,質(zhì)量基本等同于軟編碼。
*/