ffmpeg入門(一)

前言

我也是通過雷神才入門的,首先感謝雷神的無私奉獻,希望未來能向雷神這樣的好哥哥靠攏,下面是雷神的博客,講解很到尾,在此記錄自己的學習過程。

雷霄驊 (Lei Xiaohua)
[email protected]
http://blog.csdn.net/leixiaohua1020

ffmpeg能做什麼

從我目前接觸和瞭解到的,ffmpeg可以對我們常見的許多的多媒體格式的數據進行封裝,解封轉,編碼,解碼。
封裝和解碼的概念和意義接下來我會介紹,其實一句話總結就是ffmpeg對多媒體數據有強大處理能力。

ffmpeg解碼流程

  • 1.先對音視頻解封裝
  • 2.對解封轉得到的數據流進行解碼
  • 3.解碼後得到的數據就是可以顯示或者可以播放的數據了

下面會解釋什麼是封裝,解封裝,什麼是編碼,解碼。

從後往前瞭解

計算機是怎麼顯示圖片

計算機要顯示一張圖片,就需要這個圖片每一個像素的數據,每一個像素的數據怎麼描述呢? 我們知道,紅色,綠色,藍色可以組成任意一個顏色,電視機的使用三原色也是利用這個原理。

現在我們可以引出,計算機在顯示屏上顯示數據的方式可以是使用RGB數據,(R 紅色 G 綠色 B藍色)這種數據的儲存有很多方式,這裏我們介紹RGB24,還有其他的RGB32等其他的格式
當然還有一種區別於RGB格式的YUV格式

RGB24

一個像素用24個bit == 3個字節來表示,R, G, B分量分別用8個bit來表示。
b.存儲示意(注意RGB24格式按BGR的方式存儲)
image

  • R = color & 0x000000FF,
  • G = color & 0x0000FF00,
  • B = color & 0x00FF0000

YUV

在 YUV空間中,每一個顏色有一個亮度信號 Y,和兩個色度信號 U 和V。亮度信號是強度的感覺,它和色度信號斷開,這樣的話強度就可以在不影響顏色的情況下改變。
YUV使用RGB的信息,但它從全綵色圖像中產生一個黑白圖像,然後提取出三個主要的顏色變成兩個額外的信號來描述顏色。把這三個信號組合回來就可以產生一個全綵色圖像。
Y 通道描述Luma 信號,它與亮度信號有一點點不同,值的範圍介於亮和暗之間。 Luma 是黑白電視可以看到的信號。U (Cb) 和 V (Cr)通道從紅 (U) 和藍 (V) 中提取亮度值來減少顏色信息量。這些值可以從新組合來決定紅,綠和藍的混合信號。

一個RGB24格式的像素點總共佔用了24個字節,一張圖片如果有10000個像素點的話,這張圖片的大小就有30M的大小了,假如是視頻的話,一個視頻如果一秒鐘60幀,一個60秒鐘的視頻就有30 * 60 * 60,也就是108個G的大小,可能我的計算方法有問題,但是我們至少可以知道,如果我們通過存像素點的方式去存一張圖片或者視頻是非常的耗費磁盤的,所以我們需要壓縮圖片或者壓縮視頻,這裏就得談到ffmpeg的編碼了。

圖像編碼的意義

  • 圖像編碼也稱圖像壓縮,是指在滿足一定質量(信噪比的要求或主觀評價得分)的條件下,以較少比特數表示圖像或圖像中所包含信息的技術。----來自百度百科
  • 通過這種編碼我們就可以把一張圖片的壓縮得很小,等我們想顯示這張圖片的時候,我們再解碼,然後使用解碼後的數據顯示圖片。

視頻編碼的意義

  • 所謂視頻編碼方式就是指通過特定的壓縮技術,將某個視頻格式的文件轉換成另一種視頻格式文件的方式。視頻流傳輸中最爲重要的編解碼標準有國際電聯的H.261、H.263、H.264,運動靜止圖像專家組的M-JPEG和國際標準化組織運動圖像專家組的MPEG系列標準,此外在互聯網上被廣泛應用的還有Real-Networks的RealVideo、微軟公司的WMV以及Apple公司的QuickTime等。----來自百度百科
  • 視頻編碼和圖像編碼是有差異的,因爲視頻的每一幀前後有關聯,所以可以利用這前後的關聯進行編碼,深入瞭解可以自行查詢資料。

音視頻封裝的意義

數據的壓縮我們通過編碼搞定的,我們平時所看到的視頻既有圖像也有聲音,聲音和圖像其實是兩種截然不同的數據,我們一個視頻文件裏面其實就包含了這兩種數據,將兩種數據以某種規則放在一起的過程其實就是封裝,視頻不同的格式,比如說MP4,AVI等其實就是視頻的封裝格式不一樣。有的封裝格式中可以支持多個音頻數據和一個視頻數據,所以一部電影可以切換多種語言也就是這個原因。

小結

  • 關於多媒體數據的處理首先我們瞭解了計算機在顯示一張圖片時使用的多媒體數據是什麼(RGB或者YUV),但是這種數據太大了,如果要存起來我們需要進行編碼,比如編碼成PNG格式的圖片,對於一個視頻也有它的編碼格式,比如H.261,當視頻和音頻結合在一個文件中就需要封裝來管理視頻數據和音頻數據的關係。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章