FFmpeg再学习 -- 视音频基础知识
最近一直在看雷霄驊 FFmpeg 系列視頻,然后將自己的理解總結(jié)一下。
參看:《基于 FFmpeg + SDL 的視頻播放器的制作》課程的視頻
一、視頻播放器原理?
自己理解:
比如一個 MP4 文件,它是有音頻、有視頻兩部分封裝的。PCM 音頻采樣數(shù)據(jù)和 YUV 視頻像素數(shù)據(jù),通過音視頻編碼 Encode,生成AAC和H.264文件,最后封裝成 MP4 文件。
然后,我想起我使用 PR 剪輯視頻時,其實(shí)就是這個過程,將音視頻合成MP4文件的。
二、常用播放器
? ???
VLC、CyberLink PowerDVD 14、完美風(fēng)暴
下載:VLC media player 下載
下載:powerDVD 14 破解 安裝 方法 下載 地址 免費(fèi)
下載:完美解碼V20170702官方版
三、信息查看工具
(1)綜合信息查看:MediaInfo
可選擇以什么形式查看,比如我們以文本形式查看:
任意4個文件的總體信息
(2)二進(jìn)制信息查看
下載:UltraEdit
(3)單項詳細(xì)分析
封裝格式: Elecard Format Analyzer
MKV、 MP4、 AVI封裝格式信息
視頻編碼數(shù)據(jù): Elecard Stream Eye
H.264碼流分析信息
? ? ? ? ? ? ? ?紅色的幀: I幀;藍(lán)色的幀: P幀;綠色的幀: B幀。
視頻像素數(shù)據(jù): YUV Player
YUV視頻像素數(shù)據(jù) ?
音頻采樣數(shù)據(jù): Adobe Audition
PCM音頻采樣數(shù)據(jù)?
四、封裝格式
(1)封裝格式的作用
視頻碼流和音頻碼流按照一定的格式存儲在一個文件中。
(2)格式類型
五、視頻編碼數(shù)據(jù)
(1)視頻編碼的作用
將視頻像素數(shù)據(jù)(RGB,YUV等)壓縮成為視頻碼流,從而降低視頻的數(shù)據(jù)量。
(2)視頻編碼類型
六、音頻編碼數(shù)據(jù)
(1)音頻編碼的作用
將音頻采樣數(shù)據(jù)(PCM 等)壓縮成為音頻碼流,從而降低音頻的數(shù)據(jù)量。
(2)音頻編碼類型
七、視頻像素數(shù)據(jù)
(1)視頻像素數(shù)據(jù)作用
保存了屏幕上每個像素點(diǎn)的像素值。
(2)格式
常見的像素數(shù)據(jù)格式有 RGB24,RGB32,YUV420P,YUV422P,YUV444P 等。壓縮編碼中一般使用的是 YUV 格式的像素數(shù)據(jù),最為常見的格式為 YUV420P。
(3)特點(diǎn)
視頻像素數(shù)據(jù)體積很大,一般情況下 1 小時高清視頻的 RGB24 格式的數(shù)據(jù)體積為:
? ? ? ??3600*25*1920*1080*3=559.9GByte
PS:這里假定幀率為25Hz,取樣精度8bit。
(4)RGB 格式簡介
Red、 Green、 Blue三種顏色,可以混合成世界上所有的顏色。
彩色圖像中每個點(diǎn),由R、 G、 B三個分量組成。
以 RGB24 為例,圖像像素數(shù)據(jù)的存儲方式如下:
? ? ? ?
從圖中可以看出, RGB24依次存儲了每個像素點(diǎn)的R、 G、 B信息。
PS: BMP文件中存儲的就是RGB格式的像素數(shù)據(jù)。
(5)YUV格式簡介
相關(guān)實(shí)驗表明,人眼對亮度敏感而對色度不敏感。因而可以將亮度信息和色度信息分離,并對色度信息采用更“狠”一點(diǎn)的壓縮方案,從而提高壓縮效率。YUV 格式中, Y 只包含亮度信息,而 UV 只包含色度信息。以 YUV420P 為例,圖像像素數(shù)據(jù)的存儲方式如圖所示。從圖中可以看出, YUV420P 首先存儲了整張圖像的Y信息,然后存儲整張圖像的 U 信息,最后存儲了整張圖像的 V 信息。
8、音頻采樣數(shù)據(jù)
(1)音頻采樣數(shù)據(jù)作用
保存了音頻中每個采樣點(diǎn)的值。(2)特點(diǎn)
音頻采樣數(shù)據(jù)體積很大,一般情況下一首4分鐘的PCM格式的歌曲體積為:
? ? ? ? 4*60*44100*2*2=42.3MByte
PS:這里假定采樣率為44100Hz,采樣精度為16bit。
(3)PCM格式簡介
單聲道的情況下按照順序存儲每個采樣點(diǎn)的數(shù)據(jù)。雙聲道的情況下按照“左右、左右”的順序存儲每個采樣點(diǎn)兩個聲道的數(shù)據(jù)。
總結(jié)
以上是生活随笔為你收集整理的FFmpeg再学习 -- 视音频基础知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring中AOP开发步骤
- 下一篇: 2022蓝骑士发展与保障报告