FFpmeg簡(jiǎn)介

FFmpeg是一個(gè)自由軟件憾儒,可以運(yùn)行音頻和視頻多種格式的錄影惠险、轉(zhuǎn)換呜达、流功能[1]唆貌,包含了libavcodec——這是一個(gè)用于多個(gè)項(xiàng)目中音頻和視頻的解碼器庫(kù)滑潘,以及l(fā)ibavformat——一個(gè)音頻與視頻格式轉(zhuǎn)換庫(kù)。

組成部件:

ffmpeg——一個(gè)命令行工具锨咙,用來(lái)對(duì)視頻文件轉(zhuǎn)換格式语卤,也支持對(duì)電視卡即時(shí)編碼

ffserver——一個(gè)HTTP多媒體即時(shí)廣播流服務(wù)器,支持時(shí)光平移

ffplay——一個(gè)簡(jiǎn)單的播放器蓖租,基于SDL與FFmpeg庫(kù)

libavcodec——包含全部FFmpeg音頻/視頻編解碼庫(kù)

libavformat——包含demuxers和muxer庫(kù)

libavutil——包含一些工具庫(kù)

libpostproc——對(duì)于視頻做前處理的庫(kù)

libswscale——對(duì)于視頻作縮放的庫(kù)

參數(shù):

FFmpeg可使用眾多參數(shù)粱侣,參數(shù)內(nèi)容會(huì)根據(jù)ffmpeg版本而有差異,使用前建議先參考參數(shù)及編解碼器的敘述蓖宦。此外齐婴,參數(shù)明細(xì)可用ffmpeg -h顯示;編解碼器名稱(chēng)等明細(xì)可用ffmpeg -formats顯示稠茂。

下列為較常使用的參數(shù):

主要參數(shù)[編輯]

-i——設(shè)置輸入檔名柠偶。

-f——設(shè)置輸出格式。

-y——若輸出文件已存在時(shí)則覆蓋文件睬关。

-fs——超過(guò)指定的文件大小時(shí)則結(jié)束轉(zhuǎn)換诱担。

-ss——從指定時(shí)間開(kāi)始轉(zhuǎn)換。

-t從-ss時(shí)間開(kāi)始轉(zhuǎn)換(如-ss 00:00:01.00 -t 00:00:10.00即從00:00:01.00開(kāi)始到00:00:11.00)电爹。

-title——設(shè)置標(biāo)題蔫仙。

-timestamp——設(shè)置時(shí)間戳。

-vsync——增減Frame使影音同步丐箩。

視頻參數(shù)[編輯]

-b:v——設(shè)置視頻流量摇邦,默認(rèn)為200Kbit/秒。(單位請(qǐng)引用下方注意事項(xiàng)

-r——設(shè)置幀率值屎勘,默認(rèn)為25施籍。

-s——設(shè)置畫(huà)面的寬與高。

-aspect——設(shè)置畫(huà)面的比例概漱。

-vn——不處理視頻丑慎,于僅針對(duì)聲音做處理時(shí)使用。

-vcodec( -c:v )——設(shè)置視頻視頻編解碼器,未設(shè)置時(shí)則使用與輸入文件相同之編解碼器竿裂。

聲音參數(shù)[編輯]

-b:a——設(shè)置每Channel(最近的SVN版為所有Channel的總合)的流量玉吁。(單位請(qǐng)引用下方注意事項(xiàng)

-ar——設(shè)置采樣率。

-ac——設(shè)置聲音的Channel數(shù)铛绰。

-acodec ( -c:a )——設(shè)置聲音編解碼器诈茧,未設(shè)置時(shí)與視頻相同,使用與輸入文件相同之編解碼器捂掰。

-an——不處理聲音敢会,于僅針對(duì)視頻做處理時(shí)使用。

-vol——設(shè)置音量大小这嚣,256為標(biāo)準(zhǔn)音量鸥昏。(要設(shè)置成兩倍音量時(shí)則輸入512,依此類(lèi)推姐帚。)

注意事項(xiàng)[編輯]

以-b:v及-b:a首選項(xiàng)流量時(shí)吏垮,根據(jù)使用的ffmpeg版本,須注意單位會(huì)有kbits/sec與bits/sec的不同罐旗。(可用ffmpeg -h顯示說(shuō)明來(lái)確認(rèn)單位膳汪。)

例如,單位為bits/sec的情況時(shí)九秀,欲指定流量64kbps時(shí)需輸入-b:a 64k遗嗽;單位為kbits/sec的情況時(shí)則需輸入-b:a 64。

以-acodec及-vcodec所指定的編解碼器名稱(chēng)鼓蜒,會(huì)根據(jù)使用的ffmpeg版本而有所不同痹换。例如使用AAC編解碼器時(shí),會(huì)有輸入aac與libfaac的情況都弹。此外娇豫,編解碼器有分為僅供解碼時(shí)使用與僅供編碼時(shí)使用,因此一定要利用ffmpeg -formats確認(rèn)輸入的編解碼器是否能運(yùn)作畅厢。

支持的編碼器冯痢、格式和協(xié)議:

FFmpeg項(xiàng)目本地的編碼器:

Snow

FFV1

FFmpeg已實(shí)現(xiàn)的:

ITU-T視頻標(biāo)準(zhǔn):H.261,[5]H.262/MPEG-2 Part 2,H.263[5]H.264/MPEG-4 AVC[5]

ITU-T音頻編解碼器標(biāo)準(zhǔn):G.711μ-law,G.711A-law,G.721(也叫G.72632k),G.722,G.722.2(也叫AMR-WB),G.723(也叫G.72624k和40k)和G.726

ISO/IECMPEG視頻標(biāo)準(zhǔn):MPEG-1 Part 2,H.262/MPEG-2 Part 2,MPEG-4 Part 2H.264/MPEG-4 AVC

ISO/IEC MPEG音頻標(biāo)準(zhǔn):MP1,MP2,MP3,AAC,HE-AACMPEG-4 ALS

ISO/IEC/ITU-TJPEG圖像標(biāo)準(zhǔn):JPEGJPEG-LS

SMPTE視頻標(biāo)準(zhǔn):VC-1(也稱(chēng)作WMV3),VC-3(也稱(chēng)作AVIDDNxHD)和DPX圖像

SMPTE音頻標(biāo)準(zhǔn):SMPTE 302M

DVD論壇的相關(guān)標(biāo)準(zhǔn) /杜比實(shí)驗(yàn)室的音頻編解碼器:MLP(也稱(chēng)TrueHD)和AC-3

3GPP音頻編碼器標(biāo)準(zhǔn):AMR-NB,AMR-WB(也叫G.722.2)

GSM相關(guān)的語(yǔ)音信號(hào)編解碼器:Full Rate

Windows Media Player相關(guān)的視頻編解碼器:Microsoft RLE,Microsoft Video 1,Cinepak,Indeo2, 3和5,[5]Motion JPEG,Microsoft MPEG-4v1, v2和v3,WMV1, WMV2 and WMV3(也稱(chēng)VC-1)

Windows Media Player相關(guān)的音頻編解碼器:WMA1, WMA2和WMA Pro

Windows Media Player相關(guān)的語(yǔ)音信號(hào)編解碼器:WMA Voice和MS-GSM

RealPlayer相關(guān)的視頻編解碼器:RealVideo1, 2, 3和4

RealPlayer相關(guān)的音頻編解碼器:RealAudio3, 6, 7, 8, 9和10

RealPlayer相關(guān)的語(yǔ)音信號(hào)編解碼器:RealAudio1, 2 (G.728的派生), 4和5

QuickTime相關(guān)的視頻編解碼器:Cinepak,Motion JPEGSorenson 3 Codec

QuickTime相關(guān)的音頻編解碼器:QDesign音樂(lè)編解碼器2和ALAC

Adobe Flash Player相關(guān)的視頻編解碼器:Sorenson 3 Codec,VP6Flash Video (FLV)

Adobe Flash Player相關(guān)的音頻編解碼器:Adobe SWF ADPCM和Nellymoser Asao

Xiph.Org:Theora,Speex(通過(guò)libspeex實(shí)現(xiàn)),VorbisFLAC

Sony:ATRAC1ATRAC3[5]

NTT:TwinVQ

On2: Duck TrueMotion 1, Duck TrueMotion 2,VP3,VP5,[5]VP6[5]VP8

RAD Game Tools:Smacker videoBink video

Truespeech

RenderWare: TXD[6]

The defaultMPEG-4codec used by FFmpegs theFourCCofFMP4.

格式[編輯]

ASF

AVI

BFI[7]

FLV

GXF, General eXchange Format, SMPTE 360M

IFF[8]

RL2[9]

ISO base media file format(包括QuickTime,3GPMP4

Matroska(包括WebM

Maxis XA[10]

MPEG program stream

MPEG transport stream(includingAVCHD

MXF, Material eXchange Format, SMPTE 377M

MSN Webcam stream[11]

Ogg

OMA[12]

TXD[6]

WTV

協(xié)議[編輯]

IETF標(biāo)準(zhǔn):TCP,UDP,Gopher,HTTP,RTP,RTSPSDP

蘋(píng)果公司的相關(guān)標(biāo)準(zhǔn):HTTP Live Streaming

RealMedia的相關(guān)標(biāo)準(zhǔn):RealMedia RTSP/RDT

Adobe的相關(guān)標(biāo)準(zhǔn):RTMP, RTMPT(由librtmp實(shí)現(xiàn)),RTMPE(由librtmp實(shí)現(xiàn))框杜,RTMPTE(由librtmp)和RTMPS(由librtmp實(shí)現(xiàn))

微軟的相關(guān)標(biāo)準(zhǔn):MMS在TCP上和MMS在HTTP上

社區(qū)內(nèi)部問(wèn)題[編輯]

2011年1月19日浦楣,F(xiàn)Fmpeg的現(xiàn)任維護(hù)者M(jìn)ichael Niedermayer在郵件列表上披露,F(xiàn)Fmpeg發(fā)生了“政變”霸琴,一些開(kāi)發(fā)者占領(lǐng)了官方網(wǎng)站椒振,關(guān)閉了其他人的寫(xiě)入權(quán)限昭伸。隨后政變者宣布FFmpeg “創(chuàng)建新政權(quán)”梧乘,維護(hù)任務(wù)將由他們接手,宣稱(chēng)只有維護(hù)團(tuán)隊(duì)才能擁有主源碼庫(kù)的寫(xiě)入權(quán)限。

“新內(nèi)閣”成員之一的Diego Biurrun解釋了他們的行動(dòng)选调,稱(chēng)“政變”是迫不得已夹供,表示他們?cè)鞠肼?lián)絡(luò)每一個(gè)開(kāi)發(fā)者,但沒(méi)成功仁堪,因?yàn)椴皇敲總€(gè)人都在IRC上哮洽,或者能及時(shí)回電話(huà)郵件短信弦聂∧窀ǎ“革命”的原因是為了統(tǒng)一,F(xiàn)Fmpeg社區(qū)分裂的情況嚴(yán)重到他們已經(jīng)看不下去了莺葫。他們期望FFmpeg項(xiàng)目能創(chuàng)建一個(gè)健康而友好的開(kāi)發(fā)環(huán)境匪凉。[13]

隨后Fabrice Bellard等人于2011年3月13日跳出去開(kāi)新項(xiàng)目,稱(chēng)作Libav捺檬,Libav里面每位成員的管理權(quán)限縮更性俨恪(至少不能任意關(guān)閉其他人更改代碼權(quán)限)。而Debian血統(tǒng)也響應(yīng)堡纬,宣布2012年要將ffmpeg指令改成avconv[14]聂受。

Libav跳槽之后有一定程度上更改FFmpeg的指令[15]

Libav/FFmpeg版權(quán):

由于Libav烤镐、FFmpeg是在LGPL蛋济、GPL下發(fā)布的(如果使用了其中一些使用GPL協(xié)議發(fā)布的模塊則必須使用GPL協(xié)議),任何人都可以自由使用职车,但必須嚴(yán)格遵守LGPL瘫俊、GPL協(xié)議。目前有很多播放軟件都使用了Libav悴灵、FFmpeg的代碼扛芽,但它們并沒(méi)有遵守LGPL,GPL協(xié)議积瞒,沒(méi)有公開(kāi)任何源代碼川尖。Libav、FFmpeg社區(qū)便將這些違反協(xié)議的公司茫孔、組織叮喳、個(gè)人的網(wǎng)址粘貼“恥辱大廳”(又叫“恥辱柱”)上,并與這些公司/組織/個(gè)人商討如何解決版權(quán)爭(zhēng)議缰贝。

本文收集于維基百科馍悟,如有侵權(quán)請(qǐng)聯(lián)系,馬上刪除剩晴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末锣咒,一起剝皮案震驚了整個(gè)濱河市侵状,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌毅整,老刑警劉巖趣兄,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異悼嫉,居然都是意外死亡艇潭,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)戏蔑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蹋凝,“玉大人,你說(shuō)我怎么就攤上這事总棵∠闪唬” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵彻舰,是天一觀的道長(zhǎng)伐割。 經(jīng)常有香客問(wèn)我,道長(zhǎng)刃唤,這世上最難降的妖魔是什么隔心? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮尚胞,結(jié)果婚禮上硬霍,老公的妹妹穿的比我還像新娘。我一直安慰自己笼裳,他們只是感情好唯卖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著躬柬,像睡著了一般拜轨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上允青,一...
    開(kāi)封第一講書(shū)人閱讀 51,679評(píng)論 1 305
  • 那天橄碾,我揣著相機(jī)與錄音,去河邊找鬼颠锉。 笑死法牲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的琼掠。 我是一名探鬼主播拒垃,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼瓷蛙!你這毒婦竟也來(lái)了悼瓮?” 一聲冷哼從身側(cè)響起怜森,我...
    開(kāi)封第一講書(shū)人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谤牡,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體姥宝,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡翅萤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了腊满。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片套么。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖碳蛋,靈堂內(nèi)的尸體忽然破棺而出胚泌,到底是詐尸還是另有隱情,我是刑警寧澤肃弟,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布玷室,位于F島的核電站,受9級(jí)特大地震影響笤受,放射性物質(zhì)發(fā)生泄漏穷缤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一箩兽、第九天 我趴在偏房一處隱蔽的房頂上張望津肛。 院中可真熱鬧,春花似錦汗贫、人聲如沸身坐。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)部蛇。三九已至,卻和暖如春咐蝇,著一層夾襖步出監(jiān)牢的瞬間搪花,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工嘹害, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留撮竿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓笔呀,卻偏偏與公主長(zhǎng)得像幢踏,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子许师,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容