ffmpeg基礎知識

背景知識

FFMPEG的視音頻編解碼功能確實太強大了,幾乎囊括了現存所有的視音頻編碼標準,因此只要做視音頻開發,幾乎離不開它

播放視頻流程

常見工具
查看媒體信息的工具:MediaInfo
二進制查看信息:UItraEdit
視頻單項信息
封裝格式信息工具->Elecard Format Analyzer
視頻編碼信息工具->Elecard Stream Eye
視頻像素信息工具->YUVPlayer
音頻采樣數據工具->Adobe Audition

基本概念

兩種模式播放器

可視化界面播放器:騰訊視頻、愛奇藝視頻、QQ影音、暴風影音、快播、優酷等等…
非可視化界面播放器(命令操作播放器):
FFmpeg->ffplay(命令)播放器(內置播放器)
vlc播放器、mplayer播放器

封裝格式

通??吹揭曨l格式:mp4、mov、flv、wmv、avi、rmvb、mkv…何為封裝格式?就是把視頻數據和音頻數據打包成一個文件的規范。


封裝格式作用.png
封裝格式列表.png

MPEG2-TS格式
視頻壓縮數據格式:MPEG2-TS
特定:數據排版,不包含頭文件,數據大小固定(188byte)的TS-Packet


MPEG2-TS格式.png

FLV格式
優勢:由于它形成的文件極小、加載速度極快,使得網絡觀看視頻文件成為可能,它的出現有效地解決了視頻文件導入Flash后,使導出的SWF文件體積龐大,不能在網絡上很好的使用等問題。
文件結構:FLV是一個二進制文件,由文件頭(FLV header)和很多tag組成。tag又可以分成三類:audio,video,script,分別代表音頻流,視頻流,腳本流(關鍵字或者文件信息之類)。
FLV文件=FLV頭文件+ tag1+tag內容1 + tag2+tag內容2 + ...+... + tagN+tag內容N。
FLV頭文件:(9字節)
1-3:前3個字節是文件格式標識(FLV 0x46 0x4C 0x56).
4-4:第4個字節是版本(0x01)
5-5:第5個字節的前5個bit是保留的必須是0.
6-9: 第6-9的四個字節還是保留的.其數據為00000009
整個文件頭的長度,一般是9(3+1+1+4)


FLV格式.png

視頻編碼

將視頻像素數據(YUV、RGB)進行壓縮成為視頻碼流,從而降低視頻數據量(減小內存暫用),H.264最常用。

視頻編碼格式.png
RGB格式.png

音頻編碼

將音頻采樣數據(PCM格式)進行壓縮成為音頻碼流,從而降低音頻數據量,AAC、MP3等等…(減小內存暫用)。


音頻編碼格式分析.png

AAC格式
AAC,全稱Advanced Audio Coding,是一種專為聲音數據設計的文件壓縮格式。與MP3不同,它采用了全新的算法進行編碼,更加高效,具有更高的“性價比”。利用AAC格式,可使人感覺聲音質量沒有明顯降低的前提下,更加小巧。蘋果,諾基亞手機支持AAC格式的音頻文件。
優點:相對于mp3,AAC格式的音質更佳,文件更小。
不足:AAC屬于有損壓縮的格式,與時下流行的APE、FLAC等無損格式相比音質存在“本質上”的差距。加之,傳輸速度更快的USB3.0和16G以上大容量MP3正在加速普及,也使得AAC頭上“小巧”的光環不復存在。
①提升的壓縮率:可以以更小的文件大小獲得更高的音質;
②支持多聲道:可提供最多48個全音域聲道;
③更高的解析度:最高支持96KHz的采樣頻率;
④提升的解碼效率:解碼播放所占的資源更少;

視頻像素數據

保存了屏幕上面每一個像素點的值,常見格式:RGB24、RGB32、YUV420P、YUV422P、YUV444P等等…一般最常見:YUV420P
視頻像素數據文件大小計算?
例如:RGB24高清視頻體積?(1個小時時長)
體積:3600 * 25 * 1920 * 1080 * 3 = 559GB(非常大 假設:幀率25HZ,采樣精度8bit,每字節8位,24位3個字節)

YUV播放器,人類:對色度不敏感,對亮度敏感
Y表示:亮度,UV表示:色度

音頻采樣數據

保存了音頻中的每一個采樣點值
音頻采樣數據文件大小計算
例如:1分鐘PCM格式歌曲
體積:60 * 44100 * 2 * 2 = 11MB
分析:60表示時間,44100表示采樣率(一般情況下,都是這個采樣率,人的耳朵能夠分辨的聲音),2表示聲道數量,2表示采樣精度16位 = 2字節

FFmepg應用

提供了一套比較完整代碼->開源免費,核心架構設計思想:(核心 + 插件)設計

ffmpeg.exe(視頻壓縮->轉碼來完成)
作用:用于對視頻進行轉碼
將mp4->mov,mov->mp4,wmv->mp4等等…
命令格式:ffmpeg -i {指定輸入文件路徑} -b:v {輸出視頻碼率} {輸出文件路徑}
測試運行:將Test.mov->Test.mp4


ffmpeg命令參數.png

ffplay.exe
作用:播放視頻
格式:ffplay {文件路徑}
例如:./ffplay Test.mov

ffplay快捷鍵.png

案例:視頻,轉為高質量 GIF 動圖?
命令:./ffmpeg -ss 00:00:03 -t 3 -i Test.mov -s 640x360 -r “15” dongtu.gif
解釋:
1、ffmpeg 是你剛才安裝的程序;

2、-ss 00:00:03 表示從第 00 分鐘 03 秒開始制作 GIF,如果你想從第 9 秒開始,則輸入 -ss 00:00:09,或者 -ss 9,支持小數點,所以也可以輸入 -ss 00:00:11.3,或者 -ss 34.6 之類的,如果不加該命令,則從 0 秒開始制作;

3、-t 3 表示把持續 3 秒的視頻轉換為 GIF,你可以把它改為其他數字,例如 1.5,7 等等,時間越長,GIF 體積越大,如果不加該命令,則把整個視頻轉為 GIF;

4、-i 表示 invert 的意思吧,轉換;

5、Test.mov 就是你要轉換的視頻,名稱最好不要有中文,不要留空格,支持多種視頻格式;

6、-s 640x360 是 GIF 的分辨率,視頻分辨率可能是 1080p,但你制作的 GIF 可以轉為 720p 等,允許自定義,分辨率越高體積越大,如果不加該命令,則保持分辨率不變;

7、-r “15” 表示幀率,網上下載的視頻幀率通常為 24,設為 15 效果挺好了,幀率越高體積越大,如果不加該命令,則保持幀率不變;

8、dongtu.gif:就是你要輸出的文件,你也可以把它命名為 hello.gif 等等。

視音頻編解碼技術零基礎學習方法
FFMPEG視音頻編解碼零基礎學習方法

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,208評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,746評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,477評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,960評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,200評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,726評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,617評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,807評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,049評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,432評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,769評論 2 372

推薦閱讀更多精彩內容