Android短視訊開發業務中視訊編解碼的相關知識閱讀

q3557873521發表於2018-12-24

隨著網際網路對人們生活習慣的改變,Android短視訊開發業務不斷升溫。移動端各個媒體平臺成為流量市場中增長的主力,各式各樣的短視訊應用迅速搶佔人們的手機螢幕。而在Android端想要實現錄製功能,就需要儲備相關的知識,以實現720P、30幀為例選擇一個正確的實現方案,避免CPU的消耗太大造成手機發燙的現象。比如今天想跟大家分享的關於視訊的編解碼的相關知識。

軟體編碼和硬體編碼定義

1.軟體編碼即採用CPU對相機所採集的原始資料進行編碼,然後跟音訊一起合併成為MP4格式的檔案。這一方案的優點是,

2.硬體編碼即採用手機提供的硬編介面,利用其中的硬體晶片直接進行編碼的合成。

區別

1.     軟體編碼相對來說技術比較成熟,實現起來快而且相容性也好。缺點就是,軟體編碼的CPU佔用率高,像一些效能比較差的手機可能就無法達到我們所說的720p,30幀。而且還會同時引用大量的第三方庫,導致包體過大。

2.     而硬體編碼的速度非常快且效率極高,CPU的佔用率低,簡單點講就是即使我們長時間的保持高清錄製,手機也不會發燙。缺點是,由於某些智慧手機的機型問題,需要處理相容性方面的問題,同時Android端上的硬體編碼和Surface以及openGL的關係相對也比較密切。對於這一方的知識,還需要多查閱多摸索才行。

軟體解碼和硬體解碼

1.硬體解碼就是通過硬體進行視訊的解碼工作,其中硬體解碼是由GPU來進行的,使用GPU解碼能夠降低CPU的工作負荷從而降低功耗。

2.軟體解碼則是通過軟體本身佔用的CPU進行解碼,所以會增加CPU工作負荷造成功耗上升。

區別

1.硬體解碼播放出來的視訊更加流暢,而且能夠延長移動裝置終端播放視訊的時間。而軟體解碼由於會加大CPU工作負荷,導致佔用了過多的移動CPU資源,如果手機的CPU能力不足,那麼軟體也會受到一定影響。 

2.硬體解碼所需要的解碼視訊格式容易受到GPU的影響,導致無法播放全部視訊,畫質也不夠清晰。而軟體解碼能解碼所有的視訊格式檔案,且畫質更加清晰。

綜合以上內容我們可以看出,在Android短視訊開發業務中,硬體編解碼方式比較合適。因為短視訊的本地錄製並不像直播,對頻寬、實時性和互動性等方面要求嚴格,比如編碼需要進行動態調節編碼器中位元速率幀率的情況,所以本地錄製可以將編碼器的位元速率設定的比較高一些,也不需要進行動態的調節來改變視訊解析度。


相關文章