雖然記得幾年前有人說不能使用幾個字母的縮寫之類來進(jìn)行簡稱,但是實(shí)際上還是有許多是不能一下更改的,這幾天在做和視頻相關(guān)的一些工作,簡單記錄一下這些小知識。 PAL和NTSCPAL制式是電視廣播中色彩編碼的一種方法。全名為 Phase Alternating Line 逐行倒相。除了北美,東亞部分地區(qū)使用 NTSC制式 ,中東、法國及東歐采用 SECAM制式以外,世界上大部份地區(qū)都是采用 PAL。PAL 由德國人 Walter Bruch 在1967年提出,當(dāng)時他是為德律風(fēng)根(Telefunken)工作?!癙AL”有時亦被用來指625 線,每秒25格,隔行掃瞄,PAL色彩編碼的電視制式。 PAL 發(fā)明的原意是要在兼容原有黑白電視廣播格式的情況下加入彩色訊號。PAL 的原理與 NTSC 接近?!爸鹦械瓜唷钡囊馑际敲啃袙呙榫€的彩色訊號,會跟上一行倒相。作用是自動改正在傳播中可能出現(xiàn)的錯相。早期的 PAL 電視機(jī)沒有特別的組件改正錯相,有時嚴(yán)重的錯相仍然會被肉眼明顯看到。近年的電視會把上行的色彩訊號跟下一行的平均起來才顯示。這樣 PAL 的垂直色彩分辨率會低于NTSC 。但由于人眼對色彩的靈敏不及對光暗,因此這并不是明顯問題。 NTSC是National Television System Committee的縮寫,其標(biāo)準(zhǔn)主要應(yīng)用于日本、美國,加拿大、墨西哥等等。 NTSC電視標(biāo)準(zhǔn),每秒29.97幀(簡化為30幀),電視掃描線為525線,偶場在前,奇場在后,標(biāo)準(zhǔn)的數(shù)字化NTSC電視標(biāo)準(zhǔn)分辨率為720*486, 24比特的色彩位深,畫面的寬高比為4:3。NTSC電視標(biāo)準(zhǔn)用于美國、日本、加拿大、墨西哥等國家和地區(qū)。 這兩種制式是不能互相兼容的,如果在PAL制式的電視上播放NTSC的影響,畫面將變成黑白,NTSC制式的也是一樣。而做為視頻拍攝工具的數(shù)碼攝像機(jī),也同樣有制式的問題,比如我國使用PAL制式,在我國銷售的數(shù)碼攝像機(jī)都是PAL制式的,如果是NTSC制式的攝像機(jī)拍攝出來的圖象不能在PAL制式的電視機(jī)上正常播放。因此,可以肯定的說,在我國銷售的數(shù)碼攝像機(jī)行貨一定是PAL制式的,如果是NTSC制式的數(shù)碼攝像機(jī),則一定是水貨。 以上的表示方法,不僅代表了CRT電視的掃描格式,也代表攝像機(jī)拍攝的圖像的格式。因?yàn)殡娨曄到y(tǒng)最初都是隔行掃描系統(tǒng)的,因此對應(yīng)NTSC和PAL制電視節(jié)目的攝像機(jī),也全部是隔行掃描的,就是說凡是電視攝像機(jī)拍攝的NTSC/PAL制節(jié)目,全部是隔行掃描信號,分別表示為525/60i和625/50i。記住,這是針對電視攝像機(jī)的。 對于模擬電視圖像,以掃描行表示,PAL制表示為625/50i;NTSC表示為525/60i。對于數(shù)字信號,則以像素或分辨率來表示,比如PAL制節(jié)目,分辨率為720*576,逐行可表示為576P,隔行為576i。NTSC分辨率為720*480,逐行為480P,隔行為480i。記住,這是針對電視圖象的。 CIF 、D1 、D1 IPC 、HD-SDI和960H CIF:352*288 WD1:是在D1分辨率(704×576)基礎(chǔ)上提出的更清晰的適應(yīng)寬屏的分辨率 960×576 case PIC_QCIF: pstSize->u32Width = 176; pstSize->u32Height = (VIDEO_ENCODING_MODE_PAL == enNorm) ? 144 : 120; break; case PIC_CIF: pstSize->u32Width = 352; pstSize->u32Height = (VIDEO_ENCODING_MODE_PAL == enNorm) ? 288 : 240; break; case PIC_D1: pstSize->u32Width = 720; pstSize->u32Height = (VIDEO_ENCODING_MODE_PAL == enNorm) ? 576 : 480; break; case PIC_960H: pstSize->u32Width = 960; pstSize->u32Height = (VIDEO_ENCODING_MODE_PAL == enNorm) ? 576 : 480; break; case PIC_2CIF: pstSize->u32Width = 360; pstSize->u32Height = (VIDEO_ENCODING_MODE_PAL == enNorm) ? 576 : 480; break; 這是我在代碼中遇到的PAL和NTSC的分辨率的不同。 HD就是平常下載的高清電影 1280X720 1920X1080 4K 分辨率即4096×2160 ,根據(jù)定義不同3840*2160也屬于4K分辨率的范疇,畢竟4K的容量要求還是比較大的 885萬像素 定義就是要求達(dá)到一定的分辨率,所以4096×2160并不是固定4K大小 DTS和PTS的解釋FFmpeg里有兩種時間戳:DTS(Decoding Time Stamp)和PTS(Presentation Time Stamp)。顧名思義,前者是解碼的時間,后者是顯示的時間。要仔細(xì)理解這兩個概念,需要先了解FFmpeg中的packet和frame的概念。 FPS(每秒傳輸幀數(shù)(Frames Per Second))FPS是圖像領(lǐng)域中的定義,是指畫面每秒傳輸幀數(shù),通俗來講就是指動畫或視頻的畫面數(shù)。FPS是測量用于保存、顯示動態(tài)視頻的信息數(shù)量。每秒鐘幀數(shù)愈多,所顯示的動作就會越流暢。通常,要避免動作不流暢的最低是30。 FPS”也可以理解為我們常說的“刷新率(單位為Hz)”,例如我們常在CS游戲里說的“FPS值”。我們在裝機(jī)選購顯卡和顯示器的時候,都會注意到“刷新率”。一般我們設(shè)置缺省刷新率都在75Hz(即75幀/秒)以上。例如:75Hz的刷新率刷也就是指屏幕一秒內(nèi)只掃描75次,即75幀/秒。而當(dāng)刷新率太低時我們?nèi)庋鄱寄芨杏X到屏幕的閃爍,不連貫,對圖像顯示效果和視覺感觀產(chǎn)生不好的影響。 電影以每秒24張畫面的速度播放,也就是一秒鐘內(nèi)在屏幕上連續(xù)投射出24張靜止畫面。有關(guān)動畫播放速度的單位是fps,其中的f就是英文單詞Frame(畫面、幀),p就是Per(每),s就是Second(秒)。用中文表達(dá)就是多少幀每秒,或每秒多少幀。電影是24fps,通常簡稱為24幀。 電腦中所顯示的畫面,都是由顯卡來進(jìn)行輸出的,因此屏幕上每個像素的填充都得由顯卡來進(jìn)行計算、輸出。 當(dāng)畫面的分辨率是1024×768時,畫面的刷新率要達(dá)到24幀/秒,那么顯卡在一秒鐘內(nèi)需要處理的像素量就達(dá)到了“1024×768×24=18874368”。 如果要求畫面的刷新率達(dá)到50幀/秒,則數(shù)據(jù)量一下子提升到了“1024×768×50=39321600”。 FPS與分辨率、顯卡處理能力的關(guān)系如下: 處理能力=分辨率×刷新率。這也就是為什么在玩游戲時,分辨率設(shè)置得越大,畫面就越不流暢的原因了。 I幀 B幀 P幀關(guān)鍵幀 音頻平?jīng)]有幀的概念。 RTP, RTSP,RTCP和RTMP RTP(Real-time Transport Protocol) 威脅多媒體數(shù)據(jù)傳輸?shù)囊粋€尖銳的問題就是不可預(yù)料數(shù)據(jù)到達(dá)時間。但是流媒體的傳輸是需要數(shù)據(jù)的適時的到達(dá)用以播放和回放。rtp協(xié)議就是提供了時間標(biāo)簽,序列號以及其它的結(jié)構(gòu)用于控制適時數(shù)據(jù)的流放。在流的概念中”時間標(biāo)簽”是最重要的信息。發(fā)送端依照即時的采樣在數(shù)據(jù)包里隱蔽的設(shè)置了時間標(biāo)簽。在接受端收到數(shù)據(jù)包后,就依照時間標(biāo)簽按照正確的速率恢復(fù)成原始的適時的數(shù)據(jù)。不同的媒體格式調(diào)時屬性是不一樣的。但是rtp本身并不負(fù)責(zé)同步,rtp只是傳輸層協(xié)議,為了簡化運(yùn)輸層處理,提高該層的效率。將部分運(yùn)輸層協(xié)議功能(比如流量控制)上移到應(yīng)用層完成。同步就是屬于應(yīng)用層協(xié)議完成的。它沒有運(yùn)輸層協(xié)議的完整功能,不提供任何機(jī)制來保證實(shí)時地傳輸數(shù)據(jù),不支持資源預(yù)留,也不保證服務(wù)質(zhì)量。rtp報文甚至不包括長度和報文邊界的描述。同時rtp協(xié)議的數(shù)據(jù)報文和控制報文的使用相鄰的不同端口,這樣大大提高了協(xié)議的靈活性和處理的簡單性。 實(shí)時傳輸控制協(xié)議(Real-time Control Protocol,RTCP) 也定義在1996年提出的RFC 1889中。多媒體網(wǎng)絡(luò)應(yīng)用把RTCP和RTP一起使用,尤其是在多目標(biāo)廣播中更具吸引力。當(dāng)從一個或者多個發(fā)送端向多個接收端廣播聲音或者電視時,也就 是在RTP會話期間,每個參與者周期性地向所有其他參與者發(fā)送RTCP控制信息包,如圖16-14所示。RTCP用來監(jiān)視服務(wù)質(zhì)量和傳送有關(guān)與會者的信 息。對于RTP會話或者廣播,通常使用單個多目標(biāo)廣播地址,屬于這個會話的所有RTP和RTCP信息包都使用這個多目標(biāo)廣播地址,通過使用不同的端口號可 把RTP信息包和RTCP信息包區(qū)分開來。 RTCP的主要功能是為應(yīng)用程序提供會話質(zhì)量或者廣播性能質(zhì)量的信息。每個RTCP信息包不封裝聲音數(shù)據(jù)或者電視數(shù) 據(jù),而是封裝發(fā)送端和/或者接收端的統(tǒng)計報表。這些信息包括發(fā)送的信息包數(shù)目、丟失的信息包數(shù)目和信息包的抖動等情況,這些反饋信息對發(fā)送端、接收端或者 網(wǎng)絡(luò)管理員都是很有用的。RTCP規(guī)格沒有指定應(yīng)用程序應(yīng)該使用這個反饋信息做什么,這完全取決于應(yīng)用程序開發(fā)人員。例如,發(fā)送端可以根據(jù)反饋信息來修改 傳輸速率,接收端可以根據(jù)反饋信息判斷問題是本地的、區(qū)域性的還是全球性的,網(wǎng)絡(luò)管理員也可以使用RTCP信息包中的信息來評估網(wǎng)絡(luò)用于多目標(biāo)廣播的性 能。 實(shí)時流放協(xié)議(Real-Time Streaming Protocol,RTSP)是一個剛開始開發(fā)的協(xié)議,它的設(shè)想描述在RFC 播放的數(shù)據(jù)流被分成許多信息包,信息包的大小很適用于客戶機(jī)和服務(wù)器之間的帶寬。當(dāng)客戶機(jī)已經(jīng)接收到足夠多的信息包 之后,用戶軟件就可開始播放一個信息包,同時對另一個信息包解壓縮和接收第三個信息包。這樣用戶就不需要把整個媒體文件從服務(wù)器上下載之后就可立即播放。 廣播源可以是現(xiàn)場的數(shù)據(jù)流也可以是存儲的數(shù)據(jù)流。 RTSP協(xié)議想要提供控制多種應(yīng)用數(shù)據(jù)傳送的功能,提供一種選擇傳送通道的方法,例如UDP, TCP, IP多目標(biāo)廣播通道,以及提供一種基于RTP協(xié)議的遞送方法。正在設(shè)計的RTSP將工作在RTP的上層,用來控制和傳送實(shí)時的內(nèi)容。 RTSP能夠與資源保留協(xié)議一起使用,用來設(shè)置和管理保留帶寬的流式會話或者廣播。 持續(xù)更新,添加編解碼不同格式 |
|