FFpmeg简介

FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能[1],包含了libavcodec——这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。

组成部件:

ffmpeg——一个命令行工具,用来对视频文件转换格式,也支持对电视卡即时编码

ffserver——一个HTTP多媒体即时广播流服务器,支持时光平移

ffplay——一个简单的播放器,基于SDL与FFmpeg库

libavcodec——包含全部FFmpeg音频/视频编解码库

libavformat——包含demuxers和muxer库

libavutil——包含一些工具库

libpostproc——对于视频做前处理的库

libswscale——对于视频作缩放的库

参数:

FFmpeg可使用众多参数,参数内容会根据ffmpeg版本而有差异,使用前建议先参考参数及编解码器的叙述。此外,参数明细可用ffmpeg -h显示;编解码器名称等明细可用ffmpeg -formats显示。

下列为较常使用的参数:

主要参数[编辑]

-i——设置输入档名。

-f——设置输出格式。

-y——若输出文件已存在时则覆盖文件。

-fs——超过指定的文件大小时则结束转换。

-ss——从指定时间开始转换。

-t从-ss时间开始转换(如-ss 00:00:01.00 -t 00:00:10.00即从00:00:01.00开始到00:00:11.00)。

-title——设置标题。

-timestamp——设置时间戳。

-vsync——增减Frame使影音同步。

视频参数[编辑]

-b:v——设置视频流量,默认为200Kbit/秒。(单位请引用下方注意事项

-r——设置帧率值,默认为25。

-s——设置画面的宽与高。

-aspect——设置画面的比例。

-vn——不处理视频,于仅针对声音做处理时使用。

-vcodec( -c:v )——设置视频视频编解码器,未设置时则使用与输入文件相同之编解码器。

声音参数[编辑]

-b:a——设置每Channel(最近的SVN版为所有Channel的总合)的流量。(单位请引用下方注意事项

-ar——设置采样率。

-ac——设置声音的Channel数。

-acodec ( -c:a )——设置声音编解码器,未设置时与视频相同,使用与输入文件相同之编解码器。

-an——不处理声音,于仅针对视频做处理时使用。

-vol——设置音量大小,256为标准音量。(要设置成两倍音量时则输入512,依此类推。)

注意事项[编辑]

以-b:v及-b:a首选项流量时,根据使用的ffmpeg版本,须注意单位会有kbits/sec与bits/sec的不同。(可用ffmpeg -h显示说明来确认单位。)

例如,单位为bits/sec的情况时,欲指定流量64kbps时需输入-b:a 64k;单位为kbits/sec的情况时则需输入-b:a 64。

以-acodec及-vcodec所指定的编解码器名称,会根据使用的ffmpeg版本而有所不同。例如使用AAC编解码器时,会有输入aac与libfaac的情况。此外,编解码器有分为仅供解码时使用与仅供编码时使用,因此一定要利用ffmpeg -formats确认输入的编解码器是否能运作。

支持的编码器、格式和协议:

FFmpeg项目本地的编码器:

Snow

FFV1

FFmpeg已实现的:

ITU-T视频标准:H.261,[5]H.262/MPEG-2 Part 2,H.263[5]H.264/MPEG-4 AVC[5]

ITU-T音频编解码器标准: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视频标准:MPEG-1 Part 2,H.262/MPEG-2 Part 2,MPEG-4 Part 2H.264/MPEG-4 AVC

ISO/IEC MPEG音频标准:MP1,MP2,MP3,AAC,HE-AACMPEG-4 ALS

ISO/IEC/ITU-TJPEG图像标准:JPEGJPEG-LS

SMPTE视频标准:VC-1(也称作WMV3),VC-3(也称作AVIDDNxHD)和DPX图像

SMPTE音频标准:SMPTE 302M

DVD论坛的相关标准 /杜比实验室的音频编解码器:MLP(也称TrueHD)和AC-3

3GPP音频编码器标准:AMR-NB,AMR-WB(也叫G.722.2)

GSM相关的语音信号编解码器:Full Rate

Windows Media Player相关的视频编解码器:Microsoft RLE,Microsoft Video 1,Cinepak,Indeo2, 3和5,[5]Motion JPEG,Microsoft MPEG-4v1, v2和v3,WMV1, WMV2 and WMV3(也称VC-1)

Windows Media Player相关的音频编解码器:WMA1, WMA2和WMA Pro

Windows Media Player相关的语音信号编解码器:WMA Voice和MS-GSM

RealPlayer相关的视频编解码器:RealVideo1, 2, 3和4

RealPlayer相关的音频编解码器:RealAudio3, 6, 7, 8, 9和10

RealPlayer相关的语音信号编解码器:RealAudio1, 2 (G.728的派生), 4和5

QuickTime相关的视频编解码器:Cinepak,Motion JPEGSorenson 3 Codec

QuickTime相关的音频编解码器:QDesign音乐编解码器2和ALAC

Adobe Flash Player相关的视频编解码器:Sorenson 3 Codec,VP6Flash Video (FLV)

Adobe Flash Player相关的音频编解码器:Adobe SWF ADPCM和Nellymoser Asao

Xiph.Org:Theora,Speex(通过libspeex实现),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

协议[编辑]

IETF标准:TCP,UDP,Gopher,HTTP,RTP,RTSPSDP

苹果公司的相关标准:HTTP Live Streaming

RealMedia的相关标准:RealMedia RTSP/RDT

Adobe的相关标准:RTMP, RTMPT(由librtmp实现),RTMPE(由librtmp实现),RTMPTE(由librtmp)和RTMPS(由librtmp实现)

微软的相关标准:MMS在TCP上和MMS在HTTP上

社区内部问题[编辑]

2011年1月19日,FFmpeg的现任维护者Michael Niedermayer在邮件列表上披露,FFmpeg发生了“政变”,一些开发者占领了官方网站,关闭了其他人的写入权限。随后政变者宣布FFmpeg “创建新政权”,维护任务将由他们接手,宣称只有维护团队才能拥有主源码库的写入权限。

“新内阁”成员之一的Diego Biurrun解释了他们的行动,称“政变”是迫不得已,表示他们原本想联络每一个开发者,但没成功,因为不是每个人都在IRC上,或者能及时回电话邮件短信。“革命”的原因是为了统一,FFmpeg社区分裂的情况严重到他们已经看不下去了。他们期望FFmpeg项目能创建一个健康而友好的开发环境。[13]

随后Fabrice Bellard等人于2011年3月13日跳出去开新项目,称作Libav,Libav里面每位成员的管理权限缩更小(至少不能任意关闭其他人更改代码权限)。而Debian血统也响应,宣布2012年要将ffmpeg指令改成avconv[14]

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

Libav/FFmpeg版权:

由于Libav、FFmpeg是在LGPLGPL下发布的(如果使用了其中一些使用GPL协议发布的模块则必须使用GPL协议),任何人都可以自由使用,但必须严格遵守LGPL、GPL协议。目前有很多播放软件都使用了Libav、FFmpeg的代码,但它们并没有遵守LGPL,GPL协议,没有公开任何源代码。Libav、FFmpeg社区便将这些违反协议的公司、组织、个人的网址粘贴“耻辱大厅”(又叫“耻辱柱”)上,并与这些公司/组织/个人商讨如何解决版权争议。

本文收集于维基百科,如有侵权请联系,马上删除。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容