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

隨着互聯網對人們生活習慣的改變,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短視頻開發業務中,硬件編解碼方式比較合適。因爲短視頻的本地錄製並不像直播,對帶寬、實時性和互動性等方面要求嚴格,比如編碼需要進行動態調節編碼器中碼率幀率的情況,所以本地錄製可以將編碼器的碼率設置的比較高一些,也不需要進行動態的調節來改變視頻分辨率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章