ffmpeg音视频基础知识
ffmpeg音視頻基礎(chǔ)知識
- 前言
- 一、圖像的基礎(chǔ)知識
- 二、視頻編碼基礎(chǔ)知識
- 1.視頻和圖片之間的關(guān)系
- 2.為什么要編碼?
- 3.什么是編碼?
- 視頻相關(guān)專業(yè)術(shù)語
提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- 一、圖像的基礎(chǔ)知識
- 二、視頻編碼基礎(chǔ)知識
- 1.視頻和圖片之間的關(guān)系
- 2.為什么要編碼?
- 3.什么是編碼?
- 視頻相關(guān)專業(yè)術(shù)語
前言
最近樓主在用ffmpeg進行音視頻的開發(fā),但對于里面的音視頻的基礎(chǔ)知識不是很了解,自己上網(wǎng)查找資料進行了總結(jié),方便大家學(xué)習(xí)
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、圖像的基礎(chǔ)知識
我們平常看到的一張張的圖片都是有一塊一塊帶有顏色的塊組成的。那么這些塊我們稱之為像素。像我們平時用的電腦,都會有1920*1080的分辨率,也就是說它是由長度1920個像素點,寬度1080的像素點組成的。它的乘機是2073600,相當(dāng)于電腦屏幕上有兩百多萬的像素。同時呢,手機(或者顯示器)上的屏幕上每英寸面積,像素越多,那么自然的,圖片給人的感覺就更清晰,這個就是我們常說的PPI.
二、視頻編碼基礎(chǔ)知識
1.視頻和圖片之間的關(guān)系
視頻就是一張一張的圖片連起來的畫面。衡量它的指標就是我們常說的幀率(Frame Rate)。在視頻中,一個幀是一副靜止的畫面。幀率,是秒的幀的數(shù)量,幀率越高,畫面越流暢。打游戲時,大家要想玩的爽,肯定幀率要高。
2.為什么要編碼?
首先,我們需要了解到的在沒有編碼之前,我們原始的視頻是有多大呢?
以一個分辨率1920*1280,幀率30的視頻為例:
共:1920×1280=2,073,600(像素),每個像素點是24bit 也就是:每幅圖片2073600×24=49766400 bit,8 bit(位)=1 byte(字節(jié))
所以:49766400bit=6220800byte≈6.22MB。
這是一幅1920×1280圖片的原始大小,再乘以幀率30。
每秒視頻的大小是186.6MB,每分鐘大約是11GB,一部90分鐘的電影,約是1000G
這因為如此,我們就要對視頻編碼,不然的話,一個電腦以2t的硬盤儲存空間來算,也存不了幾部電影。那你讓磁盤里的小姐姐該怎么辦呢。。。
3.什么是編碼?
編碼:就是按指定的方法,將信息從一種形式(格式),轉(zhuǎn)換成另-種形式(格式)。視頻編
碼:就是將一種視頻格式,轉(zhuǎn)換成另一種視頻格式。
我們先來看看,視頻從錄制到播放的整個過程,如下:
首先是視頻采集。通常我們會使用攝像機、攝像頭進行視頻采集。采集了視頻數(shù)據(jù)之后,就要進行模數(shù)轉(zhuǎn)換,將模擬信號變成數(shù)字信號。其實現(xiàn)在很多都是攝像機(攝像頭)直接輸出數(shù)字信號。信號輸出之后,還要進行預(yù)處理,將RGB信號變成YUV信號。
那什么是YUV信號呢?
簡單來說,YUV就是另外一種顏色數(shù)字化表示方式。視頻通信系統(tǒng)之所以要采用YUV,而不是RGB,主要是因為。在YUV這種方式里面,加入了亮度這一概念。在最近十年中,視頻工程師發(fā)現(xiàn),眼睛對于亮和暗的分辨要比對顏色的分辨更精細一些,也就是說,人眼對色度的敏感程度要低于對亮度的敏感程度。
所以,工程師認為,在我們的視頻存儲中,沒有必要存儲全部顏色信號。我們可以把更多帶寬留給黑—白信號(被稱作“亮度”),將稍少的帶寬留給彩色信號(被稱作“色度”)。于是,就有了YUV。
視頻相關(guān)專業(yè)術(shù)語
(1)視頻:
連續(xù)的圖象變化每秒超過24幀(Frame)畫面以上時,根據(jù)視覺暫留原理,人眼無法辨別單幅的靜態(tài)畫面,看上去是平滑連續(xù)的視覺效果,這樣連續(xù)的畫面叫做視頻。
(2)幀(Frame):
是影像中常用的最小單位,相當(dāng)于電影中膠片的每一格鏡頭,一幀就是一副靜止的畫面,連續(xù)的幀就形成了視頻。
(3)幀速率(FPS):
每秒鐘所傳輸圖片的個數(shù),也可以理解為處理器每秒刷新的次數(shù),通常用FPS標識,當(dāng)然幀數(shù)越高,畫面也就越流暢。
(4)轉(zhuǎn)碼 :
指將一段多媒體包括音頻、視頻或者其他的內(nèi)容從一種編碼格式轉(zhuǎn)換成為另外一種編碼格式。
(原視頻 – 解碼 – 像素數(shù)據(jù) – 編碼 – 目標視頻)
(原音頻 – 解碼 – 音頻數(shù)據(jù) – 編碼 – 目標音頻)
(5)視頻編碼:
講到視頻編碼,大家可能都會問為什么視頻要編碼?
— 要知道,采集的原始音視頻信號體積都非常大,里面有很多相同的、眼看不到的、耳聽不到的內(nèi)容,比如,如果視頻不經(jīng)過壓縮編碼的話,體積通常是非常大的,一部電影可能就要上百G的空間。
(6)視頻解碼:
有了編碼,當(dāng)然也需要有解碼。
因為壓縮(編碼)過的內(nèi)容無法直接使用,使用(觀看)時必須解壓縮,還原為原始的信號(比如視頻中某個點的顏色等),這就是“解碼“或者”解壓縮“。
(7)采樣頻率:
指錄音設(shè)備在一秒鐘內(nèi)對聲音信號的采樣次數(shù),它用赫茲(Hz)來表示,比如44.1KHz采樣率的聲音就是要花費44000個數(shù)據(jù)點來描述1秒鐘的聲音波形。原則上采樣率越高,聲音質(zhì)量越好。
(8)比特率(碼率):
表示單位時間(1秒)內(nèi)傳送的比特數(shù),一般我們用的單位是kbps,其英文是 Kilobits per second,意即“千位每秒”(根據(jù)發(fā)音亦譯作“千比特每秒”),意思是說每過一秒鐘,有多少千比特的數(shù)據(jù)流過,因此碼率也經(jīng)常被稱為“比特率”。
總結(jié)
以上是生活随笔為你收集整理的ffmpeg音视频基础知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都欢乐谷70岁以上免票吗
- 下一篇: Unity(一)必然事件