音視頻開發(fā)基礎(chǔ),MediaPlayer+SurfaceView暑劝,exoplayer骆莹,videoview,ijkplayer

視頻編碼的主要作用是將視頻像素?cái)?shù)據(jù)(RGB担猛,YUV等)壓縮成為視頻碼流幕垦,從而降低視頻的數(shù)據(jù)量。如果視頻不經(jīng)過壓縮編碼的話傅联,體積通常是非常大的先改,一部電影可能就要上百G的空間。視頻編碼是視音頻技術(shù)中最重要的技術(shù)之一蒸走。視頻碼流的數(shù)據(jù)量占了視音頻總數(shù)據(jù)量的絕大部分仇奶。高效率的視頻編碼在同等的碼率下,可以獲得更高的視頻質(zhì)量比驻。

基礎(chǔ)知識(shí)詳見:

https://blog.csdn.net/leixiaohua1020/article/details/18893769

視頻播放的幾種方式:

MediaPlayer+SurfaceView或者textureview

surfaceView和textureView區(qū)別:

應(yīng)用程序的視頻或者opengl內(nèi)容往往是顯示在一個(gè)特別的UI控件中:SurfaceView该溯。SurfaceView的工作方式是創(chuàng)建一個(gè)置于應(yīng)用窗口之后的新窗口。這種 方式的效率非常高别惦,因?yàn)镾urfaceView窗口刷新的時(shí)候不需要重繪應(yīng)用程序的窗口(android普通窗口的視圖繪制機(jī)制是一層一層的狈茉,任何一個(gè)子元素或者 是局部的刷新都會(huì)導(dǎo)致整個(gè)視圖結(jié)構(gòu)全部重繪一次,因此效率非常低下掸掸,不過滿足普通應(yīng)用界面的需求還是綽綽有余)氯庆,但是SurfaceView也有一些非常 不便的限制。

因?yàn)镾urfaceView的內(nèi)容不在應(yīng)用窗口上,所以不能使用變換(平移点晴、縮放、旋轉(zhuǎn)等)悯周。也難以放在ListView或者ScrollView中粒督,不能使用UI控件的一些特性比如View.setAlpha()。

為了解決這個(gè)問題 Android 4.0中引入了TextureView禽翼。

TextureView與SurfaceView相比屠橄,TextureView并沒有創(chuàng)建一個(gè)單獨(dú)的Surface用來繪制,這使得它可以像一般的View一樣執(zhí)行一些變換操作闰挡,設(shè)置透明度等锐墙。另外,Textureview必須在硬件加速開啟的窗口中长酗。

https://github.com/linsea/UniversalVideoView

videView

原生封裝的MediaPlayer+SurfaceView溪北,不支持自定義控制ui,同上面的方式一樣夺脾,只支持3gp之拨,mp4.

ijkplayer

很多大廠用的這個(gè),支持拓展so庫支持各種視頻格式咧叭,各種編碼蚀乔。

https://github.com/jiajunhui/PlayerBase

https://github.com/Bilibili/ijkplayer

ExoPlayer

是構(gòu)建在Android低水平媒體API之上的一個(gè)應(yīng)用層媒體播放器。和Android內(nèi)置的媒體播放器相比菲茬,ExoPlayer有許多優(yōu)點(diǎn)吉挣。ExoPlayer支持內(nèi)置的媒體播放器支持的所有格式外加自適應(yīng)格式DASH和SmoothStreaming。ExoPlayer可以被高度定制和擴(kuò)展以適應(yīng)不同的使用場(chǎng)景婉弹。
ExoPlayer庫的核心是ExoPlayer接口睬魂。ExoPlayer公開了傳統(tǒng)的高水平媒體播放器的功能,例如媒體緩沖马胧,播放汉买,暫停和快進(jìn)功能。ExoPlayer實(shí)現(xiàn)旨在對(duì)正在播放的媒體類型佩脊,存儲(chǔ)方式和位置以及渲染方式做出一些假設(shè)(因此幾乎沒有限制)蛙粘。ExoPlayer沒有直接實(shí)現(xiàn)媒體文件的加載和渲染,而是把這些工作委托給了在創(chuàng)建播放器或者播放器準(zhǔn)備好播放的時(shí)候注入的組件

https://github.com/google/ExoPlayer

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末威彰,一起剝皮案震驚了整個(gè)濱河市出牧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌歇盼,老刑警劉巖舔痕,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡伯复,警方通過查閱死者的電腦和手機(jī)慨代,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來啸如,“玉大人侍匙,你說我怎么就攤上這事《vǎ” “怎么了想暗?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長帘不。 經(jīng)常有香客問我说莫,道長,這世上最難降的妖魔是什么寞焙? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任储狭,我火速辦了婚禮,結(jié)果婚禮上捣郊,老公的妹妹穿的比我還像新娘晶密。我一直安慰自己,他們只是感情好模她,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布稻艰。 她就那樣靜靜地躺著,像睡著了一般侈净。 火紅的嫁衣襯著肌膚如雪尊勿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天畜侦,我揣著相機(jī)與錄音元扔,去河邊找鬼。 笑死旋膳,一個(gè)胖子當(dāng)著我的面吹牛澎语,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播验懊,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼擅羞,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了义图?” 一聲冷哼從身側(cè)響起减俏,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碱工,沒想到半個(gè)月后娃承,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奏夫,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年历筝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了酗昼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡梳猪,死狀恐怖仔雷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情舔示,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布电抚,位于F島的核電站惕稻,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蝙叛。R本人自食惡果不足惜俺祠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望借帘。 院中可真熱鬧蜘渣,春花似錦、人聲如沸肺然。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽际起。三九已至拾碌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間街望,已是汗流浹背校翔。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留灾前,地道東北人防症。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像哎甲,于是被迫代替她去往敵國和親蔫敲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355