windows上使用vs2019和msys64编译 ffmpeg 4.3

准备工具:

  1. msys64: msys64 建议下载exe安装版本,直接下载最新版,不要去下载免安装版本,且不是最新版本,后面会说明原因 我安装的目录是D:\msys64,后面为以这个目录为准

  2. vs2019安装 ,网上教程很多,自行解决

  3. vs2019安装完成后,使用x86编译,找到vs的x86 Native Tools 打开…我此次编译32位版本的
    在这里插入图片描述

  4. 启动msys64
    在这里插入图片描述

  5. msys,在这里运行cl,如果发现无此命令,则需要打开D:\msys64\msys2_shell.cmd ,启用 set MSYS2_PATH_TYPE=inherit …然后重新启动msys.这时候cl会有正常提示信息,如果是乱码可更改options里的语言为GBK即可(exe安装包好像不会出现乱码的问题)
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

依赖环境安装

1
2
3
4
5
6
7
pacman -S nasm                          #汇编工具,安装
pacman -S yasm                          #汇编工具,安装
pacman -S make                          #项目编译工具,必须安装
pacman -S cmake                         #项目编译工具,必须安装
pacman -S diffutils                     #比较工具,ffmpeg configure 生成makefile时会用到,若不安装会警告,最好是安装
pacman -S pkg-config                    #库配置工具,编译支持x264和x265用到
pacman -S git                           #下载源码用,可以不安装,可自行通过其它方式下载源码

这里很重点的东西就来了,如果msys64是用的免安装版本,安装nasm和yasm会出现很大问题,根本安装不上,不管是替换安装源,还是离线安装,都无法正常安装,大多是提示不兼容问题…我这里使用最新版本msys64 exe安装,上面的安装一个一个安装就行了,如果出现安装失败的项目 执行 pacman -Sy 更新到最新版本…猜测是最新版本的msys和数据源匹配是最好的

编译X264

1
2
3
4
用于h264视频编码 所需命令                             #如果你不使用ffmpeg进行h264的编码,则不需要此编译264...ffmpeg自带解码
CC=cl ./configure -- enable-shared          #使用cl编译工具,编译成动态链接库
make -j32                                   #使用32线程进行make
make install                                #安装到默认位置

下载地址:https://www.videolan.org/developers/x264.html
下载完后放到 D:\msys64\home\txf 目录,解压…根据自己的安装目录,存放

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
txf@DESKTOP-D98OSN2 MINGW32 ~
$ ls
x264-master  x264-master.tar.bz2
txf@DESKTOP-D98OSN2 MINGW32 ~
$ cd x264-master/
txf@DESKTOP-D98OSN2 MINGW32 ~/x264-master
$ CC=cl ./configure --enable-shared
##### 等待生成make
txf@DESKTOP-D98OSN2 MINGW32 ~/x264-master
$ make -j16
##### 等待编译完成
txf@DESKTOP-D98OSN2 MINGW32 ~/x264-master
$ make install   #安装
install -d /usr/local/bin
install x264.exe /usr/local/bin
install -d /usr/local/include /usr/local/lib/pkgconfig
install -m 644 ./x264.h x264_config.h /usr/local/include
install -m 644 x264.pc /usr/local/lib/pkgconfig
install -d /usr/local/lib
install -d /usr/local/bin
install -m 755 libx264-161.dll /usr/local/bin
install -m 644 libx264.dll.lib /usr/local/lib
install -d /usr/share/bash-completion/completions
install -m 644 -T ./tools/bash-autocomplete.sh /usr/share/bash-completion/completions/x264

编译成功
编译完成后所生成文件:
编译完成后所生成文件

编译fdk-aac

  • 下载地址: http://www.linuxfromscratch.org/blfs/view/svn/multimedia/fdk-aac.html
    https://github.com/mstorsjo/fdk-aac
1
2
3
 AAC格式音频编码 所需命令
 nmake -f Makefile.vc
 nmake -f Makefile.vc prefix=.\fckaac_install install
  • 同x264 一样,复制到 D:\msys64\home\txf,下面开始编译安装
    打开我们之前用过的 x86 Native Tools Command Prompt for VS 2019 工具
1
2
3
4
D:\msys64\home\txf\fdk-aac-2.0.1>dir #查看文件

D:\msys64\home\txf\fdk-aac-2.0.1>nmake -f Makefile.vc #安装
D:\msys64\home\txf\fdk-aac-2.0.1>nmake -f Makefile.vc prefix=.\fdkaac_install install

此时在:D:\msys64\home\txf\fdk-aac-2.0.1\fdkaac_install 会有bin include lib 三个文件夹,把它们全部复制到 D:\msys64\usr\local 目录
还需要复制 D:\msys64\home\txf\fdk-aac-2.0.1\fdk-aac.pc.inD:\msys64\usr\local\lib\pkgconfig 目录,并改名为 fdk-aac.pc,编码ffmpeg时会用到pc文件
修改fdk-aac.pc的内容:

1
2
3
4
5
6
7
8
9
10
11
prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${exec_prefix}/include

Name: Fraunhofer FDK AAC Codec Library
Description: AAC codec library
Version:
Libs: -L${libdir} -lfdk-aac
Libs.private:
Cflags: -I${includedir}

编译x265

  • 下载地址:https://www.videolan.org/developers/x265.html
    这里下载有点特殊,官方好像没有给出压缩包下载,只能使用hg clone,关于使用hg clone 可自行百度…
    下载完后 存放到复制到 D:\msys64\home\txf目录
1
2
3
x265 编码所需命令
./make-Makefiles.sh //直接运行就可编译
nmake install           //安装
  • 在开始编译前先使用where cmake 查看一下cmake存在的目录
    这里应当只存在VS 2019的cmake.如果有/usr/bin/cmake,或者更多,需要将其暂时改名为其它名字
  • 进入./x265/build/msys-cl 目录,这里我们使用的是msys-cl编译,如果使用其它方式,请找其它资料
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
txf@DESKTOP-D98OSN2 MINGW32 ~/x265/build/msys-cl    #进入此目录这里我们使用的是msys-cl编译,如果使用其它方式,请找其它资料
$ where cmake
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe
txf@DESKTOP-D98OSN2 MINGW32 ~/x265/build/msys-cl
$ ./make-Makefiles.sh           #开始编译,如果编译出错,那很可能是cmake使用的不是vs的cmake
txf@DESKTOP-D98OSN2 MINGW32 ~/x265/build/msys-cl
$ ls            #编译完成后ls应当有如下文件
cmake                CMakeCache.txt  common   libx265.dll           libx265.exp  Makefile           make-Makefiles-64bit.sh  x265.exe           x265.pc  x265_config.h
cmake_install.cmake  CMakeFiles      encoder  libx265.dll.manifest  libx265.lib  make-Makefiles.sh  x265.def                 x265.exe.manifest  x265.rc  x265-static.lib
txf@DESKTOP-D98OSN2 MINGW32 ~/x265/build/msys-cl
$ nmake install     # 开始安装,,下面提示创建文件夹失败,需要以管理员方式重新打开

Microsoft (R) 程序维护实用工具 14.27.29112.0 版
版权所有 (C) Microsoft Corporation。  保留所有权利。

[ 19%] Built target encoder
[ 81%] Built target common
[ 82%] Built target x265-static
[ 84%] Built target x265-shared
[100%] Built target cli
Install the project...
-- Install configuration: "Release"
CMake Error at cmake_install.cmake:36 (file):
  file cannot create directory: C:/Program Files (x86)/x265/lib.  Maybe need
  administrative privileges.


NMAKE : fatal error U1077: “echo”: 返回代码“0x1”
Stop.
  • 重新以管理员方式打 x86 Native Tools Command Prompt for VS 2019,进入目录重新安装
    在这里插入图片描述
    到这里,表示x265已经安装成功,且安装到 C:/Program Files (x86)/x265/ ,进入此目录 复制 bin include lib 三个文件夹到 D:\msys64\usr\local

  • 修改 D:\msys64\usr\local\lib\pkgconfig\x265.pc 文件,为编译FFmpeg准备

1
2
3
4
5
6
7
8
9
10
11
prefix=/usr/local               #只修改这一句,将路径改到/usr/local即可
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: x265
Description: H.265/HEVC video encoder
Version: 0.0
Libs: -L${libdir} -lx265
Libs.private:
Cflags: -I${includedir}

编译ffmpeg

  • 下载ffmpeg源码包 https://ffmpeg.org/download.html 建议下载最新版本
  • 解压至 D:\msys64\home\txf目录
1
2
3
4
5
6
7
8
9
编码ffmpeg所需命令
CC=cl.exe ./configure --prefix=./install --toolchain=msvc --enable-shared --disable-programs --disable-ffplay --disable-ffmpeg --disable-ffprobe --enable-libx264 --enable-gpl --enable-libfdk-aac --enable-nonfree --enable-libx265            //编译生成Makefile
上面命令说明:
--prefix=./install --toolchain=msvc             //指定安装路径和工具链MSVC
--enable-shared                                 //编译为动态库
--disable-programs --disable-ffplay --disable-ffmpeg --disable-ffprobe     //禁用programs ffplay ffmpeg ffprobe ,如果你需要,可以启用
--enable-libx264   --enable-libx265             //启用支持x264和x265,,解码h264和265会需要用到
--enable-gpl                                    //开启协议,x264,x265必需
--enable-libfdk-aac --enable-nonfree            //aac音频编码,aac必须启用nonfree
  • 下面开始编译生成Makefile,
    在这里插入图片描述
    我这里编译出现错误了, 进入 ffmpeg/ffbuild 目录,打开 config.log 查看日志结尾处,发现是找不到 “fdk-aac/aacenc_lib.h”
    在这里插入图片描述
    usr/local/lib/pkgconfig 目录查看 fdk-aac.pc 文件,如果你的配置和我上文中的一样,那说明没有错,猜测是msys无法找到 fkd-aac.pc 文件…解决方案:将整个pkgconfig 文件剪切到 msys64/ming32/lib 目录,如果你是用的64位,那可以放到64位目录…
  • 重新编译ffmpeg,又出错了,再看log文件,提示是libx264.lib没有找到,我们去lib目录看264的lib文件,发现文件名是libx264.dll.lib,重命名为libx264.lib
1
2
3
./compat/windows/mslink -nologo -LARGEADDRESSAWARE -out:./ffconf.TBLf1tYS/test.exe ./ffconf.TBLf1tYS/test.o libx264.lib
LINK : fatal error LNK1181: 无法打开输入文件“libx264.lib”
ERROR: libx264 not found
  • 再重新编译,还是出错,这回提示的是“x265.lib”没有找到.,我们去看lib目录,发现名字是 libx265.lib ,重命名为 x265.lib
1
2
3
4
./compat/windows/mslink -nologo -LARGEADDRESSAWARE -I/usr/local/include -libpath:/usr/local/lib -out:./ffconf.bRl4cUzi/test.exe ./ffconf.bRl4cUzi/test.o x265.lib
LINK : warning LNK4044: 无法识别的选项“/ID:/msys64/usr/local/include”;已忽略
LINK : fatal error LNK1181: 无法打开输入文件“x265.lib”
ERROR: x265 not found using pkg-config
  • 再重新编译,成功后,出现如下结果,如果再次出错,继续查看log,根据错误去解决问题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
txf@DESKTOP-D98OSN2 MINGW32 ~/ffmpeg
# CC=cl.exe ./configure --prefix=./install --toolchain=msvc --enable-shared --disable-programs --disable-ffplay --disable-ffmpeg --disable-ffprobe --enable-libx264 --enable-gpl --enable-libfdk-aac --enable-nonfree --enable-libx265
install prefix            ./install
source path               .
C compiler                cl.exe
C library                 msvcrt
ARCH                      x86 (generic)
big-endian                no
runtime cpu detection     yes
standalone assembly       yes
x86 assembler             nasm
MMX enabled               yes
MMXEXT enabled            yes
3DNow! enabled            yes
3DNow! extended enabled   yes
SSE enabled               yes
SSSE3 enabled             yes
AESNI enabled             yes
AVX enabled               yes
AVX2 enabled              yes
AVX-512 enabled           yes
XOP enabled               yes
FMA3 enabled              yes
FMA4 enabled              yes
i686 features enabled     yes
CMOV is fast              no
EBX available             no
EBP available             no
debug symbols             yes
strip symbols             no
optimize for size         no
optimizations             yes
static                    no
shared                    yes
postprocessing support    yes
network support           yes
threading support         w32threads
safe bitstream reader     yes
texi2html enabled         no
perl enabled              yes
pod2man enabled           yes
makeinfo enabled          no
makeinfo supports HTML    no

External libraries:
libfdk_aac              libx264                 libx265                 mediafoundation         schannel

External libraries providing hardware acceleration:
d3d11va                 dxva2

Libraries:
avcodec                 avfilter                avutil                  swresample
avdevice                avformat                postproc                swscale

Programs:

Enabled decoders:
aac                     bethsoftvid             hcom                    pcm_bluray              speedhq
aac_fixed               bfi                     hevc                    pcm_dvd                 srt
aac_latm                bink                    hnm4_video              pcm_f16le               ssa
aasc                    binkaudio_dct           hq_hqa                  pcm_f24le               stl
ac3                     binkaudio_rdft          hqx                     pcm_f32be               subrip
ac3_fixed               bintext                 huffyuv                 pcm_f32le               subviewer
acelp_kelvin            bitpacked               hymt                    pcm_f64be               subviewer1
adpcm_4xm               bmp                     iac                     pcm_f64le               sunrast
adpcm_adx               bmv_audio               idcin                   pcm_lxf                 svq1
adpcm_afc               bmv_video               idf                     pcm_mulaw               svq3
adpcm_agm               brender_pix             iff_ilbm                pcm_s16be               tak
adpcm_aica              c93                     ilbc                    pcm_s16be_planar        targa
adpcm_argo              cavs                    imc                     pcm_s16le               targa_y216
adpcm_ct                ccaption                imm4                    pcm_s16le_planar        text
adpcm_dtk               cdgraphics              imm5                    pcm_s24be               theora
adpcm_ea                cdtoons                 indeo2                  pcm_s24daud             thp
adpcm_ea_maxis_xa       cdxl                    indeo3                  pcm_s24le               tiertexseqvideo
adpcm_ea_r1             cfhd                    indeo4                  pcm_s24le_planar        tiff
adpcm_ea_r2             cinepak                 indeo5                  pcm_s32be               tmv
adpcm_ea_r3             clearvideo              interplay_acm           pcm_s32le               truehd
adpcm_ea_xas            cljr                    interplay_dpcm          pcm_s32le_planar        truemotion1
adpcm_g722              cllc                    interplay_video         pcm_s64be               truemotion2
adpcm_g726              comfortnoise            ipu                     pcm_s64le               truemotion2rt
adpcm_g726le            cook                    jacosub                 pcm_s8                  truespeech
adpcm_ima_alp           cpia                    jpeg2000                pcm_s8_planar           tscc2
adpcm_ima_amv           cri                     jpegls                  pcm_u16be               tta
adpcm_ima_apc           cscd                    jv                      pcm_u16le               twinvq
adpcm_ima_apm           cyuv                    kgv1                    pcm_u24be               txd
adpcm_ima_cunning       dca                     kmvc                    pcm_u24le               ulti
adpcm_ima_dat4          dds                     lagarith                pcm_u32be               utvideo
adpcm_ima_dk3           derf_dpcm               libfdk_aac              pcm_u32le               v210
adpcm_ima_dk4           dfa                     loco                    pcm_u8                  v210x
adpcm_ima_ea_eacs       dirac                   m101                    pcm_vidc                v308
adpcm_ima_ea_sead       dnxhd                   mace3                   pcx                     v408
adpcm_ima_iss           dolby_e                 mace6                   pfm                     v410
adpcm_ima_moflex        dpx                     magicyuv                pgm                     vb
adpcm_ima_mtf           dsd_lsbf                mdec                    pgmyuv                  vble
adpcm_ima_oki           dsd_lsbf_planar         metasound               pgssub                  vc1
adpcm_ima_qt            dsd_msbf                microdvd                pgx                     vc1image
adpcm_ima_rad           dsd_msbf_planar         mimic                   photocd                 vcr1
adpcm_ima_smjpeg        dsicinaudio             mjpeg                   pictor                  vmdaudio
adpcm_ima_ssi           dsicinvideo             mjpegb                  pixlet                  vmdvideo
adpcm_ima_wav           dss_sp                  mlp                     pjs                     vmnc
adpcm_ima_ws            dst                     mmvideo                 ppm                     vorbis
adpcm_ms                dvaudio                 mobiclip                prores                  vp3
adpcm_mtaf              dvbsub                  motionpixels            prosumer                vp4
adpcm_psx               dvdsub                  movtext                 psd                     vp5
adpcm_sbpro_2           dvvideo                 mp1                     ptx                     vp6
adpcm_sbpro_3           dxtory                  mp1float                qcelp                   vp6a
adpcm_sbpro_4           dxv                     mp2                     qdm2                    vp6f
adpcm_swf               eac3                    mp2float                qdmc                    vp7
adpcm_thp               eacmv                   mp3                     qdraw                   vp8
adpcm_thp_le            eamad                   mp3adu                  qpeg                    vp9
adpcm_vima              eatgq                   mp3adufloat             qtrle                   vplayer
adpcm_xa                eatgv                   mp3float                r10k                    vqa
adpcm_yamaha            eatqi                   mp3on4                  r210                    wavpack
adpcm_zork              eightbps                mp3on4float             ra_144                  webp
agm                     eightsvx_exp            mpc7                    ra_288                  webvtt
aic                     eightsvx_fib            mpc8                    ralf                    wmalossless
alac                    escape124               mpeg1video              rawvideo                wmapro
alias_pix               escape130               mpeg2video              realtext                wmav1
als                     evrc                    mpeg4                   rl2                     wmav2
amrnb                   fastaudio               mpegvideo               roq                     wmavoice
amrwb                   ffv1                    mpl2                    roq_dpcm                wmv1
amv                     ffvhuff                 msa1                    rpza                    wmv2
anm                     ffwavesynth             msmpeg4v1               rv10                    wmv3
ansi                    fic                     msmpeg4v2               rv20                    wmv3image
ape                     fits                    msmpeg4v3               rv30                    wnv1
aptx                    flac                    msrle                   rv40                    wrapped_avframe
aptx_hd                 flic                    mss1                    s302m                   ws_snd1
arbc                    flv                     mss2                    sami                    xan_dpcm
argo                    fmvc                    msvideo1                sanm                    xan_wc3
ass                     fourxm                  mszh                    sbc                     xan_wc4
asv1                    fraps                   mts2                    scpr                    xbin
asv2                    frwu                    mv30                    sdx2_dpcm               xbm
atrac1                  g723_1                  mvc1                    sgi                     xface
atrac3                  g729                    mvc2                    sgirle                  xl
atrac3al                gdv                     mvdv                    sheervideo              xma1
atrac3p                 gif                     mxpeg                   shorten                 xma2
atrac3pal               gremlin_dpcm            nellymoser              sipr                    xpm
atrac9                  gsm                     notchlc                 siren                   xsub
aura                    gsm_ms                  nuv                     smackaud                xwd
aura2                   h261                    on2avc                  smacker                 y41p
av1                     h263                    opus                    smc                     ylc
avrn                    h263i                   paf_audio               smvjpeg                 yop
avrp                    h263p                   paf_video               snow                    yuv4
avs                     h264                    pam                     sol_dpcm                zero12v
avui                    hap                     pbm                     sonic
ayuv                    hca                     pcm_alaw                sp5x

Enabled encoders:
a64multi                cfhd                    movtext                 pcm_s64le               sonic_ls
a64multi5               cinepak                 mp2                     pcm_s8                  srt
aac                     cljr                    mp2fixed                pcm_s8_planar           ssa
aac_mf                  comfortnoise            mp3_mf                  pcm_u16be               subrip
ac3                     dca                     mpeg1video              pcm_u16le               sunrast
ac3_fixed               dnxhd                   mpeg2video              pcm_u24be               svq1
ac3_mf                  dpx                     mpeg4                   pcm_u24le               targa
adpcm_adx               dvbsub                  msmpeg4v2               pcm_u32be               text
adpcm_argo              dvdsub                  msmpeg4v3               pcm_u32le               tiff
adpcm_g722              dvvideo                 msvideo1                pcm_u8                  truehd
adpcm_g726              eac3                    nellymoser              pcm_vidc                tta
adpcm_g726le            ffv1                    opus                    pcx                     utvideo
adpcm_ima_alp           ffvhuff                 pam                     pgm                     v210
adpcm_ima_amv           fits                    pbm                     pgmyuv                  v308
adpcm_ima_apm           flac                    pcm_alaw                ppm                     v408
adpcm_ima_qt            flv                     pcm_dvd                 prores                  v410
adpcm_ima_ssi           g723_1                  pcm_f32be               prores_aw               vc2
adpcm_ima_wav           gif                     pcm_f32le               prores_ks               vorbis
adpcm_ms                h261                    pcm_f64be               qtrle                   wavpack
adpcm_swf               h263                    pcm_f64le               r10k                    webvtt
adpcm_yamaha            h263p                   pcm_mulaw               r210                    wmav1
alac                    h264_mf                 pcm_s16be               ra_144                  wmav2
alias_pix               hevc_mf                 pcm_s16be_planar        rawvideo                wmv1
amv                     huffyuv                 pcm_s16le               roq                     wmv2
aptx                    jpeg2000                pcm_s16le_planar        roq_dpcm                wrapped_avframe
aptx_hd                 jpegls                  pcm_s24be               rpza                    xbm
ass                     libfdk_aac              pcm_s24daud             rv10                    xface
asv1                    libx264                 pcm_s24le               rv20                    xsub
asv2                    libx265                 pcm_s24le_planar        s302m                   xwd
avrp                    ljpeg                   pcm_s32be               sbc                     y41p
avui                    magicyuv                pcm_s32le               sgi                     yuv4
ayuv                    mjpeg                   pcm_s32le_planar        snow
bmp                     mlp                     pcm_s64be               sonic

Enabled hwaccels:
h264_d3d11va            hevc_d3d11va2           mpeg2_dxva2             vp9_d3d11va             wmv3_d3d11va2
h264_d3d11va2           hevc_dxva2              vc1_d3d11va             vp9_d3d11va2            wmv3_dxva2
h264_dxva2              mpeg2_d3d11va           vc1_d3d11va2            vp9_dxva2
hevc_d3d11va            mpeg2_d3d11va2          vc1_dxva2               wmv3_d3d11va

Enabled parsers:
aac                     dca                     g729                    mlp                     sipr
aac_latm                dirac                   gif                     mpeg4video              tak
ac3                     dnxhd                   gsm                     mpegaudio               vc1
adx                     dpx                     h261                    mpegvideo               vorbis
av1                     dvaudio                 h263                    opus                    vp3
avs2                    dvbsub                  h264                    png                     vp8
avs3                    dvd_nav                 hevc                    pnm                     vp9
bmp                     dvdsub                  ipu                     rv30                    webp
cavsvideo               flac                    jpeg2000                rv40                    xma
cook                    g723_1                  mjpeg                   sbc

Enabled demuxers:
aa                      dirac                   image_pcx_pipe          mtv                     sdx
aac                     dnxhd                   image_pgm_pipe          musx                    segafilm
aax                     dsf                     image_pgmyuv_pipe       mv                      ser
ac3                     dsicin                  image_pgx_pipe          mvi                     shorten
ace                     dss                     image_photocd_pipe      mxf                     siff
acm                     dts                     image_pictor_pipe       mxg                     sln
act                     dtshd                   image_png_pipe          nc                      smacker
adf                     dv                      image_ppm_pipe          nistsphere              smjpeg
adp                     dvbsub                  image_psd_pipe          nsp                     smush
ads                     dvbtxt                  image_qdraw_pipe        nsv                     sol
adx                     dxa                     image_sgi_pipe          nut                     sox
aea                     ea                      image_sunrast_pipe      nuv                     spdif
afc                     ea_cdata                image_svg_pipe          obu                     srt
aiff                    eac3                    image_tiff_pipe         ogg                     stl
aix                     epaf                    image_webp_pipe         oma                     str
alp                     ffmetadata              image_xpm_pipe          paf                     subviewer
amr                     filmstrip               image_xwd_pipe          pcm_alaw                subviewer1
amrnb                   fits                    ingenient               pcm_f32be               sup
amrwb                   flac                    ipmovie                 pcm_f32le               svag
anm                     flic                    ipu                     pcm_f64be               svs
apc                     flv                     ircam                   pcm_f64le               swf
ape                     fourxm                  iss                     pcm_mulaw               tak
apm                     frm                     iv8                     pcm_s16be               tedcaptions
apng                    fsb                     ivf                     pcm_s16le               thp
aptx                    fwse                    ivr                     pcm_s24be               threedostr
aptx_hd                 g722                    jacosub                 pcm_s24le               tiertexseq
aqtitle                 g723_1                  jv                      pcm_s32be               tmv
argo_asf                g726                    kux                     pcm_s32le               truehd
argo_brp                g726le                  kvag                    pcm_s8                  tta
asf                     g729                    live_flv                pcm_u16be               tty
asf_o                   gdv                     lmlm4                   pcm_u16le               txd
ass                     genh                    loas                    pcm_u24be               ty
ast                     gif                     lrc                     pcm_u24le               v210
au                      gsm                     luodat                  pcm_u32be               v210x
av1                     gxf                     lvf                     pcm_u32le               vag
avi                     h261                    lxf                     pcm_u8                  vc1
avr                     h263                    m4v                     pcm_vidc                vc1t
avs                     h264                    matroska                pjs                     vividas
avs2                    hca                     mca                     pmp                     vivo
avs3                    hcom                    mcc                     pp_bnk                  vmd
bethsoftvid             hevc                    mgsts                   pva                     vobsub
bfi                     hls                     microdvd                pvf                     voc
bfstm                   hnm                     mjpeg                   qcp                     vpk
bink                    ico                     mjpeg_2000              r3d                     vplayer
bintext                 idcin                   mlp                     rawvideo                vqf
bit                     idf                     mlv                     realtext                w64
bmv                     iff                     mm                      redspark                wav
boa                     ifv                     mmf                     rl2                     wc3
brstm                   ilbc                    mods                    rm                      webm_dash_manifest
c93                     image2                  moflex                  roq                     webvtt
caf                     image2_alias_pix        mov                     rpl                     wsaud
cavsvideo               image2_brender_pix      mp3                     rsd                     wsd
cdg                     image2pipe              mpc                     rso                     wsvqa
cdxl                    image_bmp_pipe          mpc8                    rtp                     wtv
cine                    image_cri_pipe          mpegps                  rtsp                    wv
codec2                  image_dds_pipe          mpegts                  s337m                   wve
codec2raw               image_dpx_pipe          mpegtsraw               sami                    xa
concat                  image_exr_pipe          mpegvideo               sap                     xbin
data                    image_gif_pipe          mpjpeg                  sbc                     xmv
daud                    image_j2k_pipe          mpl2                    sbg                     xvag
dcstr                   image_jpeg_pipe         mpsub                   scc                     xwma
derf                    image_jpegls_pipe       msf                     sdp                     yop
dfa                     image_pam_pipe          msnwc_tcp               sdr2                    yuv4mpegpipe
dhav                    image_pbm_pipe          mtaf                    sds

Enabled muxers:
a64                     eac3                    jacosub                 oma                     segafilm
ac3                     f4v                     kvag                    opus                    segment
adts                    ffmetadata              latm                    pcm_alaw                singlejpeg
adx                     fifo                    lrc                     pcm_f32be               smjpeg
aiff                    fifo_test               m4v                     pcm_f32le               smoothstreaming
alp                     filmstrip               matroska                pcm_f64be               sox
amr                     fits                    matroska_audio          pcm_f64le               spdif
amv                     flac                    md5                     pcm_mulaw               spx
apm                     flv                     microdvd                pcm_s16be               srt
apng                    framecrc                mjpeg                   pcm_s16le               stream_segment
aptx                    framehash               mkvtimestamp_v2         pcm_s24be               streamhash
aptx_hd                 framemd5                mlp                     pcm_s24le               sup
argo_asf                g722                    mmf                     pcm_s32be               swf
asf                     g723_1                  mov                     pcm_s32le               tee
asf_stream              g726                    mp2                     pcm_s8                  tg2
ass                     g726le                  mp3                     pcm_u16be               tgp
ast                     gif                     mp4                     pcm_u16le               truehd
au                      gsm                     mpeg1system             pcm_u24be               tta
avi                     gxf                     mpeg1vcd                pcm_u24le               uncodedframecrc
avm2                    h261                    mpeg1video              pcm_u32be               vc1
avs2                    h263                    mpeg2dvd                pcm_u32le               vc1t
bit                     h264                    mpeg2svcd               pcm_u8                  voc
caf                     hash                    mpeg2video              pcm_vidc                w64
cavsvideo               hds                     mpeg2vob                psp                     wav
codec2                  hevc                    mpegts                  rawvideo                webm
codec2raw               hls                     mpjpeg                  rm                      webm_chunk
crc                     ico                     mxf                     roq                     webm_dash_manifest
dash                    ilbc                    mxf_d10                 rso                     webp
data                    image2                  mxf_opatom              rtp                     webvtt
daud                    image2pipe              null                    rtp_mpegts              wtv
dirac                   ipod                    nut                     rtsp                    wv
dnxhd                   ircam                   oga                     sap                     yuv4mpegpipe
dts                     ismv                    ogg                     sbc
dv                      ivf                     ogv                     scc

Enabled protocols:
async                   ftp                     md5                     rtmpt                   tls
cache                   gopher                  mmsh                    rtmpts                  udp
concat                  hls                     mmst                    rtp                     udplite
crypto                  http                    pipe                    srtp
data                    httpproxy               prompeg                 subfile
ffrtmphttp              https                   rtmp                    tcp
file                    icecast                 rtmps                   tee

Enabled filters:
abench                  avectorscope            entropy                 maskfun                 showspectrum
abitscope               avgblur                 eq                      mcdeint                 showspectrumpic
acompressor             axcorrelate             equalizer               mcompand                showvolume
acontrast               bandpass                erosion                 median                  showwaves
acopy                   bandreject              extractplanes           mergeplanes             showwavespic
acrossfade              bass                    extrastereo             mestimate               shuffleframes
acrossover              bbox                    fade                    metadata                shuffleplanes
acrusher                bench                   fftdnoiz                midequalizer            sidechaincompress
acue                    bilateral               fftfilt                 minterpolate            sidechaingate
addroi                  biquad                  field                   mix                     sidedata
adeclick                bitplanenoise           fieldhint               movie                   sierpinski
adeclip                 blackdetect             fieldmatch              mpdecimate              signalstats
adelay                  blackframe              fieldorder              mptestsrc               signature
adenorm                 blend                   fifo                    negate                  silencedetect
aderivative             bm3d                    fillborders             nlmeans                 silenceremove
adrawgraph              boxblur                 find_rect               nnedi                   sinc
aecho                   bwdif                   firequalizer            noformat                sine
aemphasis               cas                     flanger                 noise                   smartblur
aeval                   cellauto                floodfill               normalize               smptebars
aevalsrc                channelmap              format                  null                    smptehdbars
afade                   channelsplit            fps                     nullsink                sobel
afftdn                  chorus                  framepack               nullsrc                 spectrumsynth
afftfilt                chromahold              framerate               oscilloscope            split
afifo                   chromakey               framestep               overlay                 spp
afir                    chromanr                freezedetect            owdenoise               sr
afirsrc                 chromashift             freezeframes            pad                     ssim
aformat                 ciescope                fspp                    pal100bars              stereo3d
afreqshift              codecview               gblur                   pal75bars               stereotools
agate                   color                   geq                     palettegen              stereowiden
agraphmonitor           colorbalance            gradfun                 paletteuse              streamselect
ahistogram              colorchannelmixer       gradients               pan                     super2xsai
aiir                    colorhold               graphmonitor            perms                   superequalizer
aintegral               colorkey                greyedge                perspective             surround
ainterleave             colorlevels             haas                    phase                   swaprect
alimiter                colormatrix             haldclut                photosensitivity        swapuv
allpass                 colorspace              haldclutsrc             pixdesctest             tblend
allrgb                  compand                 hdcd                    pixscope                telecine
allyuv                  compensationdelay       headphone               pp                      testsrc
aloop                   concat                  hflip                   pp7                     testsrc2
alphaextract            convolution             highpass                premultiply             thistogram
alphamerge              convolve                highshelf               prewitt                 threshold
amerge                  copy                    hilbert                 pseudocolor             thumbnail
ametadata               cover_rect              histeq                  psnr                    tile
amix                    crop                    histogram               pullup                  tinterlace
amovie                  cropdetect              hqdn3d                  qp                      tlut2
amplify                 crossfeed               hqx                     random                  tmedian
amultiply               crystalizer             hstack                  readeia608              tmix
anequalizer             cue                     hue                     readvitc                tonemap
anlmdn                  curves                  hwdownload              realtime                tpad
anlms                   datascope               hwmap                   remap                   transpose
anoisesrc               dblur                   hwupload                removegrain             treble
anull                   dcshift                 hysteresis              removelogo              tremolo
anullsink               dctdnoiz                idet                    repeatfields            trim
anullsrc                deband                  il                      replaygain              unpremultiply
apad                    deblock                 inflate                 reverse                 unsharp
aperms                  decimate                interlace               rgbashift               untile
aphasemeter             deconvolve              interleave              rgbtestsrc              uspp
aphaser                 dedot                   join                    roberts                 v360
aphaseshift             deesser                 kerndeint               rotate                  vaguedenoiser
apulsator               deflate                 lagfun                  sab                     vectorscope
arealtime               deflicker               lenscorrection          scale                   vflip
aresample               dejudder                life                    scale2ref               vfrdet
areverse                delogo                  limiter                 scdet                   vibrance
arnndn                  derain                  loop                    scroll                  vibrato
aselect                 deshake                 loudnorm                select                  vignette
asendcmd                despill                 lowpass                 selectivecolor          vmafmotion
asetnsamples            detelecine              lowshelf                sendcmd                 volume
asetpts                 dilation                lumakey                 separatefields          volumedetect
asetrate                displace                lut                     setdar                  vstack
asettb                  dnn_processing          lut1d                   setfield                w3fdif
ashowinfo               doubleweave             lut2                    setparams               waveform
asidedata               drawbox                 lut3d                   setpts                  weave
asoftclip               drawgraph               lutrgb                  setrange                xbr
asplit                  drawgrid                lutyuv                  setsar                  xfade
astats                  drmeter                 mandelbrot              settb                   xmedian
astreamselect           dynaudnorm              maskedclamp             showcqt                 xstack
asubboost               earwax                  maskedmax               showfreqs               yadif
atadenoise              ebur128                 maskedmerge             showinfo                yaepblur
atempo                  edgedetect              maskedmin               showpalette             yuvtestsrc
atrim                   elbg                    maskedthreshold         showspatial             zoompan

Enabled bsfs:
aac_adtstoasc           extract_extradata       imx_dump_header         null                    vp9_metadata
av1_frame_merge         filter_units            mjpeg2jpeg              opus_metadata           vp9_raw_reorder
av1_frame_split         h264_metadata           mjpega_dump_header      pcm_rechunk             vp9_superframe
av1_metadata            h264_mp4toannexb        mov2textsub             prores_metadata         vp9_superframe_split
chomp                   h264_redundant_pps      mp3_header_decompress   remove_extradata
dca_core                hapqa_extract           mpeg2_metadata          text2movsub
dump_extradata          hevc_metadata           mpeg4_unpack_bframes    trace_headers
eac3_core               hevc_mp4toannexb        noise                   truehd_core

Enabled indevs:
dshow                   gdigrab                 lavfi                   vfwcap

Enabled outdevs:

License: nonfree and unredistributable
  • 开始编译

make -j16

  • 安装

make install

不出错的话,这时候ffmpeg应该说是编译完成了…查看ffmpeg/install目录,已经存在 bin include lib share 四个文件夹

下一篇:创建ffmpeg项目