123邢臺招聘信息網(wǎng)鄭州企業(yè)網(wǎng)站seo
FFmpeg 命令:從入門到精通 | FFmpeg 基本介紹
- FFmpeg 命令:從入門到精通 | FFmpeg 基本介紹
- FFmpeg 簡介
- FFmpeg 基礎(chǔ)知識
- 復(fù)用與解復(fù)用
- 編解碼器
- 碼率和幀率
- 資料
FFmpeg 命令:從入門到精通 | FFmpeg 基本介紹
本系列文章要解決的問題:
- FFmpeg的轉(zhuǎn)碼流程是什么?
- 常見的視頻格式包含哪些內(nèi)容嗎?
- 如何把這些內(nèi)容從視頻文件中抽取出來?
- 如何從一種格式轉(zhuǎn)換為另一種格式?
- 如何放大和縮小視頻?
- 如何旋轉(zhuǎn),翻轉(zhuǎn),填充,裁剪,模糊,銳化視頻?
- 如何給視頻加logo,刪除logo?
- 如何給視頻加文本,動態(tài)文本?
- 如何處理圖片?
- 如何錄像,添加動態(tài)logo,截圖,馬賽克視頻?
FFmpeg 簡介
FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計算機程序。采用LGPL或GPL許可證。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質(zhì)量,libavcodec里很多code都是從頭開發(fā)的。
FFmpeg在Linux平臺下開發(fā),但它同樣也可以在其它操作系統(tǒng)環(huán)境中編譯運行,包括Windows、Mac OS X等。這個項目最早由Fabrice Bellard發(fā)起,2004年至2015年間由Michael Niedermayer主要負(fù)責(zé)維護。許多FFmpeg的開發(fā)人員都來自MPlayer項目,而且當(dāng)前FFmpeg也是放在MPlayer項目組的服務(wù)器上。項目的名稱來自MPEG視頻編碼標(biāo)準(zhǔn),前面的"FF"代表"Fast Forward"。FFmpeg編碼庫可以使用GPU加速。
FFmpeg的用戶有Google,Facebook,Youtube,優(yōu)酷,愛奇藝,土豆等。
FFmpeg 基礎(chǔ)知識
- 容器/文件(Conainer/File):即特定格式的多媒體文件,比如mp4、flv、mkv等。
- 媒體流(Stream):表示時間軸上的一段連續(xù)數(shù)據(jù),如一段聲音數(shù)據(jù)、一段視頻數(shù)據(jù)或一段字幕數(shù)據(jù),可以是壓縮的,也可以是非壓縮的,壓縮的數(shù)據(jù)需要關(guān)聯(lián)特定的編解碼器。
- 數(shù)據(jù)幀/數(shù)據(jù)包(Frame/Packet):通常,一個媒體流是由大量的數(shù)據(jù)幀組成的,對于壓縮數(shù)據(jù),幀對應(yīng)著編解碼器的最小處理單元,分屬于不同媒體流的數(shù)據(jù)幀交錯存儲于容器之中。
一般情況下: Frame對應(yīng)壓縮前的數(shù)據(jù),Packet對應(yīng)壓縮后的數(shù)據(jù)。
- 編解碼器(Codec):以幀為單位實現(xiàn)壓縮數(shù)據(jù)和原始數(shù)據(jù)之間的相互轉(zhuǎn)換的。
- 復(fù)用(mux):把不同的流按照某種容器的規(guī)則放入容器,這種行為叫做復(fù)用。
- 解復(fù)用(demux):把不同的流從某種容器中解析出來,這種行為叫做解復(fù)用。
復(fù)用與解復(fù)用
復(fù)用(mux):把不同的流按照某種容器的規(guī)則放入容器,這種行為叫做復(fù)用。
解復(fù)用(demux):把不同的流從某種容器中解析出來,這種行為叫做解復(fù)用。
編解碼器
編解碼器(Codec):以幀為單位實現(xiàn)壓縮數(shù)據(jù)和原始數(shù)據(jù)之間的相互轉(zhuǎn)換的。
一般可以分為視頻編解碼器和音頻編解碼器。
碼率和幀率
碼率和幀率是視頻文件的最重要的基本特征,對于他們的特有設(shè)置會決定視頻質(zhì)量。
如果我們知道碼率和時長那么可以很容易計算出輸出文件的大小。
幀率:幀率也叫幀頻率,幀率是視頻文件中每一秒的幀數(shù),肉眼想看到連續(xù)移動圖像至少需要15幀。
碼率:比特率(也叫碼率,數(shù)據(jù)率)是一個確定整體視頻/音頻質(zhì)量的參數(shù),秒為單位處理的位數(shù),碼率和視頻質(zhì)量成正比,在視頻文件中中比特率用bps來表達。
資料
FFmpeg 官網(wǎng): http://www.ffmpeg.org
FFmpeg documentation : http://www.ffmpeg.org/documentation.html
FFmpeg wiki : https://trac.ffmpeg.org/wiki
雷霄驊博客:https://blog.csdn.net/leixiaohua1020