国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

音視頻中的基本概念

這篇具有很好參考價值的文章主要介紹了音視頻中的基本概念。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

文件格式

操作系統(tǒng)中的文件名都有后綴,即擴展名,例如1.doc,2.jpg,3.avi等。設(shè)置擴展名的目的是讓系統(tǒng)中的應(yīng)用程序來識別并關(guān)聯(lián)這些文件,讓相應(yīng)的文件由相應(yīng)的應(yīng)用程序打開。常見的文件格式如1.avi,2.mpg,3.mp4這些都叫做視頻的文件格式,可由電腦上安裝的視頻播放器關(guān)聯(lián)和打開(播放)。

封裝格式

封裝格式(Format),也稱多媒體容器(Multimedia Container),是將已編碼壓縮好的視頻軌道、音頻軌道和元數(shù)據(jù)(視頻基本信息如標(biāo)題、字幕等)按照一定的格式規(guī)范,打包放到一個文件中,形成特定文件格式的視頻文件。

封裝格式主要分為兩大類:面向存儲的和面向流媒體的。

  • 面向存儲的,常見的有AVI、ASF(WMA/WMV)、MP4、MKV、RMVB(RM/RA)等;
  • 面向流媒體的,常見的有FLV、TS(需要配合流媒體網(wǎng)絡(luò)傳輸協(xié)議,如HLS、RTMP等),MP4也支持流媒體方式(配合HTTP等)。

下面以流媒體傳輸協(xié)議的視角重點介紹面向流媒體的封裝格式:

  • MP4:經(jīng)典的視頻封裝格式,移動端(iOS、Android)、PC Web多終端都能良好支持。但MP4的視頻文件頭太大,結(jié)構(gòu)復(fù)雜;如果視頻較長(如數(shù)小時),則其文件頭會過大,影響視頻加載速度,故更適合短視頻場景。

MP4由一個個的box(以前叫atom)組成,所有的Metadata(媒體描述元數(shù)據(jù)),包括定義媒體的排列和時間信息的數(shù)據(jù)都包含在這樣的一些結(jié)構(gòu)box中。Metadata 對媒體數(shù)據(jù)(比如視頻幀)引用說明,而媒體數(shù)據(jù)在這些引用文件中的排列關(guān)系全部在第一個主文件中的metadata描述,這樣就會導(dǎo)致視頻時長越大文件頭就會越大、加載越慢。

  • HLS(HTTP Live Streaming):蘋果公司推出的基于HTTP的流媒體網(wǎng)絡(luò)傳輸協(xié)議,視頻的默認(rèn)封裝格式是TS,除了多個TS分片文件,還定義了用來控制播放的m3u8索引文件(文本文件),可以規(guī)避普通MP4長時間緩沖頭部數(shù)據(jù)的問題,比較適合點播場景。移動端(iOS、Android)支持較好,但PC端IE存在兼容性問題依賴播放器的二次開發(fā)(建議使用阿里云Web播放器)。
  • FLV:Adobe公司推出的標(biāo)準(zhǔn),在PC端有Flash的強力支持,但在移動終端只有App實現(xiàn)播放器才能支持(建議使用阿里云播放器),大部分手機端瀏覽器(特別是蘋果的移動設(shè)備)均不支持。
  • DASH(Dynamic Adaptive Streaming over HTTP):使用fragmented MP4(fMP4)格式,將MP4視頻分割為多個分片,每個分片可以存在不同的編碼形式(如分辨率、碼率等);播放器端可自由選擇需要播放的視頻分片,實現(xiàn)自適應(yīng)多碼率、不同畫質(zhì)內(nèi)容的無縫切換,提供更好的播放體驗。其中MPD文件類似HLS的m3u8文件,國外視頻網(wǎng)站如YouTube、Netflix等較多使用DASH。
  • HLS+fMP4(HTTP Live Streaming with fragmented MP4):此處單列,但本質(zhì)上還是HLS協(xié)議。蘋果公司于WWDC 2016宣布新的HLS標(biāo)準(zhǔn)支持文件封裝格式為fragmented MP4,使用方法與TS分片類似,意味著一次轉(zhuǎn)碼可同時打包成DASH和HLS。

HLS(包括HLS+fMP4)和DASH是最常用的自適應(yīng)流媒體傳輸技術(shù)(Adaptive Video Streaming),推薦使用。

編碼方式

視頻編碼方式(Codec)是指能夠?qū)?shù)字視頻進行壓縮或解壓縮(視頻解碼)的程序或者設(shè)備。通常這種壓縮屬于有損數(shù)據(jù)壓縮。也可以指通過特定的壓縮技術(shù),將某個視頻格式轉(zhuǎn)換成另一種視頻格式。常見的編碼方式有:

  1. H.26X系列:由ITU(國際電信聯(lián)盟)主導(dǎo),包括H.261、H.262、H.263、H.264、H.265。
    • H.261:主要在老的視頻會議和視頻電話產(chǎn)品中使用。
    • H.263:主要用在視頻會議、視頻電話和網(wǎng)絡(luò)視頻上。
    • H.264:H.264/MPEG-4第十部分,或稱AVC(Advanced Video Coding,高級視頻編碼),是一種視頻壓縮標(biāo)準(zhǔn),一種被廣泛使用的高精度視頻的錄制、壓縮和發(fā)布格式。
    • H.265:高效率視頻編碼(High Efficiency Video Coding,簡稱HEVC)是一種視頻壓縮標(biāo)準(zhǔn),H.264/MPEG-4 AVC的繼任者。HEVC不僅提升圖像質(zhì)量,同時也能達(dá)到H.264/MPEG-4 AVC兩倍的壓縮率(等同于同樣畫面質(zhì)量下碼率減少50%),可支持4K分辨率甚至超高畫質(zhì)電視,最高分辨率可達(dá)8192×4320(8K分辨率),這是目前發(fā)展的趨勢。
  1. MPEG系列:由ISO(國際標(biāo)準(zhǔn)組織機構(gòu))下屬的MPEG(運動圖象專家組)主導(dǎo),視頻編碼方面主要有:
    • MPEG-1第二部分:主要使用在VCD上,有些在線視頻也使用這種格式,該編解碼器的質(zhì)量大致上和原有的VHS錄像帶相當(dāng)。
    • MPEG-2第二部分:等同于H.262,使用在DVD、SVCD和大多數(shù)數(shù)字視頻廣播系統(tǒng)和有線分布系統(tǒng)(Cable Distribution Systems)中。
    • MPEG-4第二部分:可以使用在網(wǎng)絡(luò)傳輸、廣播和媒體存儲上,比起MPEG-2和第一版的H.263,它的壓縮性能有所提高。
    • MPEG-4第十部分:技術(shù)上和ITU-TH.264是相同的標(biāo)準(zhǔn),二者合作,誕生了H.264/AVC標(biāo)準(zhǔn),ITU-T將其命名為H.264,而ISO/IEC稱它為MPEG-4高級視頻編碼(Advanced Video Coding,AVC)。
  1. AVS(Audio Video coding Standard):我國自主知識產(chǎn)權(quán)的信源編碼標(biāo)準(zhǔn),是《信息技術(shù)先進音視頻編碼》系列標(biāo)準(zhǔn)的簡稱,目前已完成兩代AVS標(biāo)準(zhǔn)的制定。
    • 第一代AVS標(biāo)準(zhǔn)包括國家標(biāo)準(zhǔn)《信息技術(shù)先進音視頻編碼第2部分:視頻》(簡稱AVS1)和《信息技術(shù)先進音視頻編碼第16部分:廣播電視視頻》(簡稱AVS+)。AVS+的壓縮效率與國際同類標(biāo)準(zhǔn)H.264/AVC最高檔次(High Profile)相當(dāng)。
    • 第二代AVS標(biāo)準(zhǔn),簡稱AVS2,首要應(yīng)用目標(biāo)是超高清晰度視頻,支持超高分辨率(4K以上)、高動態(tài)范圍視頻的高效壓縮。AVS2的壓縮效率比上一代標(biāo)準(zhǔn)AVS+和H.264/AVC提高了一倍,超過國際同類型標(biāo)準(zhǔn)HEVC/H.265。
  1. 其他系列,如,VP8、VP9(Google 主導(dǎo)),RealVideo(RealNetworks推出)等編碼方式,在互聯(lián)網(wǎng)視頻使用較少,此處不再介紹。

選擇編碼方式要充分考慮播放終端(如移動端APP、Web瀏覽器等)的兼容性,盡量使用最常見和廣泛支持的。阿里云視頻點播支持視頻編碼格式:H.264/AVC(默認(rèn))、 H.265/HEVC,音頻編碼格式:MP3(默認(rèn))、AAC、VORBIS、FLAC。

轉(zhuǎn)碼

視頻轉(zhuǎn)碼(Video Transcoding)是指將已經(jīng)壓縮編碼的視頻碼流轉(zhuǎn)換成另一個視頻碼流,以適應(yīng)不同的網(wǎng)絡(luò)帶寬、不同的終端處理能力和不同的用戶需求。轉(zhuǎn)碼本質(zhì)上是一個先解碼、再編碼的過程,因此轉(zhuǎn)換前后的碼流可能遵循相同的視頻編碼標(biāo)準(zhǔn),也可能不遵循相同的視頻編碼標(biāo)準(zhǔn)。

轉(zhuǎn)封裝

轉(zhuǎn)封裝指的是將視頻或音頻的封裝格式進行轉(zhuǎn)換,如將AVI的視頻轉(zhuǎn)換為MP4,其間并不會進行音視頻的編碼和解碼工作,而是直接將視頻和音頻壓縮碼流從一種封裝格式文件中獲取出來然后打包成另一種封裝格式的文件。相比轉(zhuǎn)碼,轉(zhuǎn)封裝有兩大特點:

  • 處理速度極快。音視頻編解碼過程十分復(fù)雜,占據(jù)了轉(zhuǎn)碼的絕大部分時間。轉(zhuǎn)封裝不需要進行編碼和解碼,節(jié)約了大量的處理時間。
  • 音視頻質(zhì)量無損。沒有解碼(解壓縮)和編碼(壓縮)過程,所以不會有音視頻的壓縮損傷。

轉(zhuǎn)封裝后的文件與原始文件的分辨率、碼率等幾乎一致,故播放時也稱其為“原畫”。

碼率、碼流

碼率(Bitrate)是指視頻文件在單位時間內(nèi)使用的數(shù)據(jù)流量,也叫碼流或碼流率,是視頻編碼中畫面質(zhì)量控制最重要的部分。量度單位為“比特每秒”(bit/s或bps),常使用Kbps(每秒多少千個比特)或Mbps。一般來說同樣分辨率下,視頻文件的碼率越大,壓縮比就越小,畫面質(zhì)量就越高。碼率越大,說明單位時間內(nèi)取樣率越大,數(shù)據(jù)流精度就越高,處理出來的文件就越接近原始文件,圖像質(zhì)量越好,畫質(zhì)越清晰,要求播放設(shè)備的解碼能力也越高。

當(dāng)然,碼率越大,文件體積也越大,其計算公式是文件體積=時間×碼率/8。例如,網(wǎng)絡(luò)上常見的一部60分鐘的碼率為1Mbps的720P的視頻文件,其體積就大概為3600秒×1Mb/8=450MB。

分辨率

分辨率(Resolution)用來描述視頻對細(xì)節(jié)的分辨能力,通常表示為每一個方向上的像素數(shù)量,比如1280x720等。分辨率決定了視頻畫面細(xì)節(jié)的精細(xì)程度。通常情況下,視頻的分辨率越高,所包含的像素就越多,畫面就越清晰。

分辨率是決定碼率的主要因素,不同的分辨率要采用不同的碼率??傮w而言,視頻的分辨率越高,所要求的碼率也越大,但并不總是如此,不同分辨率都有合理的碼率選擇范圍。所謂“合理的范圍”指的是,如果低于這個范圍,視頻畫面質(zhì)量會很差;如果高于這個范圍,畫面提升有限甚至幾乎無提升,且浪費網(wǎng)絡(luò)流量和存儲空間。

幀率

幀率(Frame Rate)是單位時間內(nèi)視頻顯示幀數(shù)的量度單位,也就是每秒鐘刷新的圖片的幀數(shù),量度單位為“每秒顯示幀數(shù)”(Frame Per Second,F(xiàn)PS)或“赫茲”。

高的幀率可以得到更流暢、更逼真的畫面效果。一般來說25~30fps就可接受,提升至60fps則可以明顯提升交互感和逼真感,但一般來說超過75fps就不容易察覺到有明顯的流暢度提升了。如果幀率超過屏幕刷新率只會浪費圖形處理的能力,因為顯示設(shè)備不能以這么快的速度更新,這樣超過刷新率的幀率就浪費掉了。在分辨率不變的情況下,幀率越高,則對顯卡的處理能力要求越高。

GOP(關(guān)鍵幀間隔)

GOP(Group of Pictures)是一組以 MPEG 編碼的影片或視訊串流內(nèi)部的連續(xù)圖像,以 I 幀開頭,到下一個 I 幀結(jié)束。一個 GOP 包含如下圖像類型:

  • I幀(Intra Coded Picture):又稱幀內(nèi)編碼幀,為關(guān)鍵幀,是一種自帶全部信息的獨立幀,無需參考其他圖像便可獨立進行解碼,可以簡單理解為一張靜態(tài)畫面。視頻序列中的第一個幀始終都是I幀,每個GOP由I幀開始。
  • P幀(Predictive Coded Picture):又稱幀間預(yù)測編碼幀,需要參考前面的I幀才能進行編碼。表示的是當(dāng)前幀畫面與前一幀(前一幀可能是I幀也可能是P幀)的差別。解碼時需要用之前緩存的畫面疊加上本幀定義的差別,生成最終畫面。與I幀相比,P幀通常占用更少的數(shù)據(jù)位,但不足是,由于P幀對前面的P和I參考幀有著復(fù)雜的依賴性,因此對傳輸錯誤非常敏感。
  • B幀(Bidirectionally Predictive Coded Pictures):又稱雙向預(yù)測編碼幀,也就是B幀記錄的是本幀與前后幀的差別。也就是說要解碼B幀,不僅要取得之前的緩存畫面,還要解碼之后的畫面,通過前后畫面的與本幀數(shù)據(jù)的疊加取得最終的畫面。B幀壓縮率高,但是對解碼性能要求較高。

GOP值表示關(guān)鍵幀的間隔(即兩個關(guān)鍵幀之間的幀數(shù)),也就是兩個IDR幀之間的距離,一個幀組的最大幀數(shù)。一般而言,每一秒視頻至少需要使用1個關(guān)鍵幀。增加關(guān)鍵幀個數(shù)可改善視頻質(zhì)量,但會同時增加帶寬和網(wǎng)絡(luò)負(fù)載。GOP值(幀數(shù))除以幀率即為時間間隔,如阿里云視頻點播默認(rèn)的GOP值為250幀,幀率為25fps,則時間間隔為10秒。

GOP值需要控制在合理范圍,以平衡視頻質(zhì)量、文件大小(網(wǎng)絡(luò)帶寬)和seek效果(拖動、快進的響應(yīng)速度)等:

  • 加大GOP值有利于減小視頻文件大小,但也不宜設(shè)置過大,太大則會導(dǎo)致GOP后部幀的畫面失真,影響視頻質(zhì)量。
  • GOP值也是影響視頻seek響應(yīng)速度的關(guān)鍵因素,seek時播放器需要定位到離指定位置最近的前一個關(guān)鍵幀,如果GOP太大意味著距離指定位置可能越遠(yuǎn)(需要解碼的預(yù)測幀就越多)、seek響應(yīng)的時間(緩沖時間)也越長。
  • 由于P、B幀的復(fù)雜度大于I幀,GOP值過大,過多的P、B幀會影響編碼效率,使編碼效率降低。
  • 但如果設(shè)置過小的GOP值,則需要提高視頻的輸出碼率,以確保畫面質(zhì)量不會降低,故會增加網(wǎng)絡(luò)帶寬。

掃描模式

  • 逐行掃描(progressive):在電子顯示屏上通過掃描顯示圖像時,每一幀圖像通過一場掃描來完成,由電子束順序地一行接著一行連續(xù)掃描而成,一場掃描即能構(gòu)成完整的畫面。
  • 隔行掃描(interlaced):在電子顯示屏上通過掃描顯示圖像時,每一幀圖像通過兩場掃描來完成,通常第一場先只掃描奇數(shù)行,然后第二場只掃描偶數(shù)行,兩場組合起來構(gòu)成完整的畫面。

IDR 幀對齊

IDR幀(Instantaneous Decoding Refresh Picture),即時解碼刷新幀,是 I 幀的一種。與普通 I 幀的區(qū)別在于,一個 IDR 幀之后的所有幀都不能引用該 IDR 幀之前的幀的內(nèi)容;相反,對于普通的 I 幀,其后的 P 幀和 B 幀可以引用該普通 I 幀之前的其他 I 幀。在編碼和解碼中為了方便,將首個I幀和其他I幀區(qū)別開,稱為IDR,這樣就方便控制編碼和解碼流程。

IDR幀的作用是立刻刷新,使錯誤不致傳播,從IDR幀開始,重新算一個新的序列開始編碼。而普通I幀不具有隨機訪問的能力,這個功能是由IDR承擔(dān)。視頻播放時,播放器一般都支持隨機seek(拖動)到指定位置,而播放器直接選擇到指定位置附近的 IDR 幀進行播放最為便捷,因為可以明確知道該 IDR 幀之后的所有幀都不會引用其之前的其他 I 幀,從而避免較為復(fù)雜的反向解析。

在對同一個視頻進行多碼率轉(zhuǎn)碼時,如果指定 IDR 幀對齊(IDR Frame Alignment),則意味著所有輸出視頻的 IDR 幀在時間點、幀內(nèi)容方面都保持精確同步,此時播放器便可實現(xiàn)多碼率視頻平滑切換,從而不會出現(xiàn)較為明顯的切換卡頓。

編碼級別

編碼檔次(Profile)是針對特定應(yīng)用場景的特定編碼功能的集合。H.264 規(guī)定了三種主要級別:

  • Baseline:支持 I/P 幀,只支持無交錯(Progressive)和 CAVLC,一般用于低階或需要額外容錯的應(yīng)用,比如視頻通話、手機視頻等即時通信領(lǐng)域;
  • Main:提供 I/P/B 幀,支持無交錯(Progressive)和交錯(Interlaced),同樣提供對于 CAVLC 和 CABAC 的支持,用于主流消費類電子產(chǎn)品規(guī)格如低解碼(相對而言)的 MP4、便攜的視頻播放器、PSP 和 iPod 等;
  • High:在 Main 的基礎(chǔ)上增加了 8x8 內(nèi)部預(yù)測、自定義量化、無損視頻編碼和更多的 YUV 格式(如 4:4:4),用于廣播及視頻碟片存儲(藍(lán)光影片),高清電視的應(yīng)用。

比特率

比特率(Bit rate)是指每秒傳送的比特(bit)數(shù),單位為bps(Bit Per Second),比特率越高,傳送的數(shù)據(jù)越大。在視頻領(lǐng)域,比特率等同于碼率。比特率表示經(jīng)過編碼(壓縮)后的音、視頻數(shù)據(jù)每秒鐘需要用多少個比特來表示,而比特就是二進制里面最小的單位,要么是0,要么是1。與碼率類似,比特率與音、視頻壓縮的關(guān)系,簡單的說就是比特率越高,音、視頻的質(zhì)量就越好,但編碼后的文件就越大;如果比特率越低則文件越小。

碼率控制方法

碼率控制是指視頻編碼中決定輸出碼率的過程,常用的碼率控制方法有:

  • VBR(Variable Bitrate):動態(tài)比特率,也就是沒有固定的比特率,音視頻壓縮軟件在壓縮時根據(jù)音視頻數(shù)據(jù)的復(fù)雜程度即時確定使用什么比特率,這是以質(zhì)量為前提兼顧文件大小的方式。
  • CBR(Constant Bitrate):固定比特率,指文件從頭到尾都是一種位速率。相對于VBR和ABR來講,它壓縮出來的文件體積很大,而且視頻質(zhì)量相對于VBR和ABR不會有明顯的提高。
  • ABR(Average Bitrate):平均比特率,是VBR的一種插值參數(shù)。LAME針對CBR不佳的文件體積比和VBR生成文件大小不定的特點創(chuàng)造了這種編碼模式。ABR在指定的文件大小內(nèi),以每50幀(30幀約1秒)為一段,低頻和不敏感頻率使用相對低的流量,高頻和大動態(tài)表現(xiàn)時使用高流量,可以做為VBR和CBR的一種折衷選擇。

ABR在一定的時間范圍內(nèi)達(dá)到設(shè)定的碼率,但是局部碼率峰值可以超過設(shè)定的碼率,平均碼率恒定。ABR是VBR的改良版,能確保輸出平均碼率在合理范圍,且在這個范圍內(nèi),還是動態(tài)根據(jù)復(fù)雜度編碼,也是阿里云默認(rèn)的編碼控制方式。

編碼格式

定義參考視頻編碼方式。主要包括無損編碼和有損編碼兩種。根據(jù)采樣定理,音頻編碼只能“無限接近”自然信號,故而所有的音頻編碼方式實質(zhì)上都是有損的。在計算機領(lǐng)域中,通常約定能夠達(dá)到最高保真水平的PCM編碼為無損編碼?;ヂ?lián)網(wǎng)中常見的音頻編碼均為有損編碼,常見的編碼格式有MP3、AAC等。

采樣率

采樣率(Sample Rate),也稱為采樣速度或者采樣頻率,定義了每秒從連續(xù)信號中提取并組成離散信號的采樣個數(shù),單位為赫茲(HZ)。采樣率是指將模擬信號轉(zhuǎn)換成數(shù)字信號時的采樣頻率,也就是單位時間內(nèi)采樣多少點,采樣頻率越高聲音的還原就越真實越自然。

碼率

參考視頻編碼的“碼率”介紹。

聲道、聲道數(shù)

聲道(Sound Channel)是指聲音在錄制(或播放)時,在不同空間位置采集(或播放)的相互獨立的音頻信號。所謂聲道數(shù),也就是聲音錄制時的音源數(shù)量或播放時的揚聲器數(shù)量。

UTC時間(ISO 8601標(biāo)準(zhǔn)時間格式)

UTC時間指的是協(xié)調(diào)世界時,又稱世界統(tǒng)一時間、世界標(biāo)準(zhǔn)時間、國際協(xié)調(diào)時間。由于英文(CUT)和法文(TUC)的縮寫不同,作為妥協(xié),簡稱UTC。協(xié)調(diào)世界時是以原子時秒長為基礎(chǔ),在時刻上盡量接近于世界時的一種時間計量系統(tǒng)。中國內(nèi)地采用ISO 8601-1988的《數(shù)據(jù)元和交換格式信息交換日期和時間表示法》(GB/T 7408-1994)稱之為國際協(xié)調(diào)時間。

如無特別指定,阿里云視頻點播默認(rèn)返回的時間字段或接口請求的時間參數(shù)都為UTC時間,時間格式按照ISO8601標(biāo)準(zhǔn)表示,格式為:YYYY-MM-DDThh:mm:ssZ。例如:2017-01-11T12:00:00Z 表示北京時間2017年1月11日20點0分0秒。注:北京時間與UTC的時差為+8,也就是UTC+8。文章來源地址http://www.zghlxwxcb.cn/news/detail-581670.html

到了這里,關(guān)于音視頻中的基本概念的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Android音視頻開發(fā)實戰(zhàn)02-Jni

    Android音視頻開發(fā)實戰(zhàn)02-Jni

    JNI是Java Native Interface的縮寫,是Java提供的一種機制,用于在Java代碼中調(diào)用本地(C/C++)代碼。它允許Java代碼與本地代碼進行交互,通過JNI,Java應(yīng)用程序可以調(diào)用一些原生庫或者操作系統(tǒng)API,以獲取更好的性能和更強的功能支持。 使用JNI需要編寫一些Native方法,并將其實現(xiàn)在

    2024年02月11日
    瀏覽(30)
  • Android音視頻開發(fā)實戰(zhàn)01-環(huán)境搭建

    Android音視頻開發(fā)實戰(zhàn)01-環(huán)境搭建

    FFmpeg 是一款流行的開源多媒體處理工具,它可以用于轉(zhuǎn)換、編輯、錄制和流式傳輸音視頻文件。FFmpeg 具有廣泛的應(yīng)用場景,包括視頻編解碼、格式轉(zhuǎn)換、裁剪、合并、濾鏡等等。官網(wǎng):https://ffmpeg.org/ FFmpeg 支持各種常見的音視頻格式,例如 MP4、AVI、FLV、MOV、AAC、MP3、M4A 等等

    2024年02月10日
    瀏覽(22)
  • Android 音視頻開發(fā)—MediaPlayer音頻與視頻的播放介紹

    Android 音視頻開發(fā)—MediaPlayer音頻與視頻的播放介紹

    Android多媒體中的——MediaPlayer,我們可以通過這個API來播放音頻和視頻該類是Androd多媒體框架中的一個重要組件,通過該類,我們可以以最小的步驟來獲取,解碼和播放音視頻。 它支持三種不同的媒體來源: 本地資源 內(nèi)部的URI,比如你可以通過ContentResolver來獲取 外部URL(流

    2024年02月10日
    瀏覽(27)
  • 音視頻開發(fā)系列(6)——全面了解Android MediaFormat

    MediaFormat 是 Android 平臺中用于描述音視頻格式的類,它提供了許多 API 用于設(shè)置和獲取音視頻的格式信息。以下是 MediaFormat 類的主要 API: 用于創(chuàng)建音頻和視頻格式的 MediaFormat 對象。需要指定媒體類型(例如 audio/mp4a-latm 或 video/avc)、媒體的采樣率、通道數(shù)、碼率、幀率等信

    2024年02月01日
    瀏覽(28)
  • Android開源計劃-一周開發(fā)app,webrtc音視頻開發(fā)

    Android開源計劃-一周開發(fā)app,webrtc音視頻開發(fā)

    題目 – 一周開發(fā)app計劃 首批參與成員 -小巫 -墨香 -夢痕 -邊城刀客 -徐cc 要求 – -每位認(rèn)領(lǐng)者按照開源規(guī)范來做,代碼規(guī)范和Android開發(fā)規(guī)范 -每位認(rèn)領(lǐng)者必須擁有g(shù)ithub賬號,熟練使用git對代碼進來管理 -每個人認(rèn)領(lǐng)一個功能點或模塊 -提出完善的解決方案并提供封裝良好的庫

    2024年04月08日
    瀏覽(90)
  • Android音視頻開發(fā)(三)——MediaExtractor和MediaMuxer的使用

    Android音視頻開發(fā)(三)——MediaExtractor和MediaMuxer的使用

    了解了音視頻的編解碼過程,我們接下來使用一下經(jīng)常跟MediaCodec一起搭配的MediaExtractor和MediaMuxer。最后會使用一個簡單的demo來了解具體了解這兩個工具類的使用過程。這一節(jié)我們就先不講MediaCodec了,放到下節(jié)的demo。 Android提供了一個MediaExtractor類,可以用來 分離容器中的

    2024年02月01日
    瀏覽(44)
  • Android 音視頻開發(fā)實踐系列-06-初步了解H.264視頻編解碼技術(shù)標(biāo)準(zhǔn)

    Android 音視頻開發(fā)實踐系列-06-初步了解H.264視頻編解碼技術(shù)標(biāo)準(zhǔn)

    本文來自筆者本人的語雀博客,由于語雀升級后不再滿足筆者的需求,因此之后筆者會陸續(xù)將一些之前已經(jīng)發(fā)布但尚有價值的文章搬家到CSDN。 作為音視頻行業(yè)從業(yè)者,怎么能不理解H.264視頻編解碼技術(shù)標(biāo)準(zhǔn)?本篇文章主要記錄筆者學(xué)習(xí)過程中對眾多優(yōu)秀博客內(nèi)容的摘抄整理,

    2023年04月09日
    瀏覽(32)
  • 【學(xué)習(xí)】從零開發(fā)的Android音視頻開發(fā)(13)——MediaCodec到OMX框架過程及其硬解碼

    【學(xué)習(xí)】從零開發(fā)的Android音視頻開發(fā)(13)——MediaCodec到OMX框架過程及其硬解碼

    在講NuPlayer時,NuPlayer解碼部分會創(chuàng)建MediaCodec,并且最終到達(dá)OMX框架,先看MediaCodec的 init 函數(shù) 從init函數(shù)中可以看到,首先創(chuàng)建了 ACodec ,并且初始化了 ALooper 、 AMessage ,由于ACodec繼承自 AHandler ,那么一套消息機制就有了。最后發(fā)送 kWhatInit 消息,收到消息的邏輯位于ACodec.

    2023年04月08日
    瀏覽(32)
  • Android開發(fā)音視頻方向?qū)W習(xí)路線及資源分享,學(xué)完還怕什么互聯(lián)網(wǎng)寒冬?

    Android開發(fā)音視頻方向?qū)W習(xí)路線及資源分享,學(xué)完還怕什么互聯(lián)網(wǎng)寒冬?

    好了,回歸正題。 光看大綱,大家都知道要學(xué)習(xí)音視頻錄制,編碼,處理,但是具體不知道怎么做,也不知道怎么入門。我自己在入門的時候也一樣,靠著搜索引擎自己一點一點的積累,在這里當(dāng)然要謝謝在該領(lǐng)域無私奉獻(xiàn)的大佬們。所以在這里,我會對知識進行細(xì)化,運用

    2024年04月11日
    瀏覽(29)
  • Android 短視頻直播特效,音視頻圖像處理 FFmepg OpenGLES OpenCV開發(fā)詳細(xì)內(nèi)容

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包