国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
視頻播放的基本原理

一、知識(shí)點(diǎn)

 

ES流(Elementary Stream): 也叫基本碼流,包含視頻、音頻或數(shù)據(jù)的連續(xù)碼流.

PES流(Packet Elementary Stream): 也叫打包的基本碼流, 是將基本的碼流ES流根據(jù)需要分成長(zhǎng)度不等的數(shù)據(jù)包, 并加上包頭就形成了打包的基本碼流PES流.

TS流(Transport Stream): 也叫傳輸流, 是由固定長(zhǎng)度為188字節(jié)的包組成, 含有獨(dú)立時(shí)基的一個(gè)或多個(gè)program, 一個(gè)program又可以包含多個(gè)視頻、音頻、和文字信息的ES流; 每個(gè)ES流會(huì)有不同的PID標(biāo)示. 而又為了可以分析這些ES流, TS有一些固定的PID用來(lái)間隔發(fā)送program和ES流信息的表格: PAT和PMT表.

(在MPEG-2系統(tǒng)中,由視頻, 音頻的ES流和輔助數(shù)據(jù)復(fù)接生成的用于實(shí)際傳輸?shù)臉?biāo)準(zhǔn)信息流稱為MPEG-2傳送流)

封裝 : 就是捆綁打包, 將畫(huà)面視頻文件和音軌文件打包在一起, 并按照一定規(guī)則建立排序和索引, 便于播放器或播放軟件來(lái)索引播放. 包括AVI \ PS(Program Stream)\ TS(Transport Stream)\ MKV(Matroska)等.

二、播放過(guò)程回放

Figure 1. 視頻播放基本處理流程

 

①access 訪問(wèn): 無(wú)需多說(shuō), 可理解為接收、獲取、得到數(shù)據(jù)流

②demux 解復(fù)用: 把合在一起的音頻和視頻分離(還有可能的字幕)  

③decode 解碼: 包括音頻和視頻的解碼

④output 輸出: 也分為音頻和視頻的輸出(aout 和 vout)

這里需要著重說(shuō)明的是: demux 和 decode 部分

demux部分

我們都知道, 音視頻在制作的時(shí)候?qū)嶋H上是獨(dú)立編碼的, 得到的是分開(kāi)的數(shù)據(jù), 為了傳輸方便必須要用某種方式合起來(lái), 這就有了各種封裝格式. 例如, rm \ avi \ mov \ mpg 等等. 同時(shí), 在視頻播放器上demux解復(fù)用部分也就有了他存在意義 .

他首先解析TS流的信息, 之后把分解出來(lái)的音頻和視頻流分別送往音頻解碼器和視頻解碼器, 進(jìn)行解碼操作.

decode部分

影像在錄制后, 原始的音視頻都是占用大量空間, 而且是冗余度較高的數(shù)據(jù). 因此, 通常會(huì)在制作的時(shí)候就會(huì)進(jìn)行某種壓縮 ( 壓縮技術(shù)就是將數(shù)據(jù)中的冗余信息去除數(shù)據(jù)之間的相關(guān)性 ). 這就是我們熟知的音視頻編碼格式, 包括MPEG1(VCD)\ MPEG2(DVD)\ MPEG4 \ H.264 等等. 音視頻解碼器的作用就是把這些壓縮了的數(shù)據(jù)還原成原始的音視頻數(shù)據(jù). 當(dāng)然, 編碼解碼過(guò)程基本上都是有損的 .

那播放器是如何實(shí)現(xiàn)視頻一幀一幀的播放的呢?

一般在內(nèi)存中將壓縮的視頻幀依次解碼出來(lái)(當(dāng)然不可能把一個(gè)視頻文件的所有壓縮數(shù)據(jù)一次性裝到內(nèi)存中去, 而是讀出一點(diǎn), 然后解碼出來(lái)一點(diǎn)), 然后一幀一幀送到顯卡的顯存中就能顯示了. 
如果機(jī)器性能跟得上(基本上不用考慮機(jī)器性能), 解一幀的時(shí)間小于幀與幀之間的正常間隔, 就能流暢的播放.   
每幀的播放是靠PTS來(lái)控制的, 解碼器解完每幅圖像, 都會(huì)給出該圖像的PTS, video  renderer就能按圖像的PTS來(lái)安排顯示.

與此同時(shí), 別忘了音頻和視頻在demux之后是獨(dú)立的,這就需要有一套機(jī)制把它們同步起來(lái). 同時(shí)我們需要有一套機(jī)制來(lái)控制速度、暫停、停止、跳進(jìn)、 獲取各種媒體信息、設(shè)置屬性等等 .這些也就是同步控制機(jī)制來(lái)完成的事情(基于時(shí)間戳來(lái)搞定) .

簡(jiǎn)略來(lái)說(shuō), 就是

以音頻時(shí)間為主 (聲卡有時(shí)間同步處理機(jī)制), 聲音圖象交錯(cuò)發(fā)送 
視頻解碼時(shí), 按當(dāng)前播放時(shí)間找到對(duì)應(yīng)的視頻幀 (可以假設(shè)一個(gè)音頻包有N個(gè)圖象, 就在這一個(gè)音頻包完成的過(guò)程中按幀率顯示圖象)

 

視頻編解碼器 : http://zh.wikipedia.org/zh-cn/%E8%A7%86%E9%A2%91%E7%BC%96%E8%A7%A3%E7%A0%81%E5%99%A8 
視頻文件格式 : http://zh.wikipedia.org/zh-cn/%E8%A7%86%E9%A2%91%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F 
參考 : http://bbs.chinavideo.org/viewthread.php?tid=1183&extra=page%3D1

A Simple Media Player based on the FFmpeg libraries — ffplay

ffplay.c – File Reference : http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/ffplay_8c.html

ffplay.c : http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/ffplay_8c-source.html

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
關(guān)于ES、PES、PS以及TS碼流
MPEG-2壓縮編碼技術(shù)原理應(yīng)用
TS 流解碼過(guò)程
[圖文]MPEG-2壓縮編碼技術(shù)原理應(yīng)用(三)
關(guān)于音視頻的一些知識(shí)(demux、filter等)
TS詳解
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服