2025-03-06更新:
现在可以借助vcpkg编译,会简单很多,没有必要自行编译
vcpkg安装好的ffmpeg自带debug模式,按vcpkg的提示将ffmpeg集成进项目中,即可实现debug调试
以下是2020年早期内容,个人觉得已没必要使用
准备工具:
-
msys64: msys64 建议下载exe安装版本,直接下载最新版,不要去下载免安装版本,且不是最新版本,后面会说明原因 我安装的目录是D:\msys64,后面为以这个目录为准
-
vs2019安装 ,网上教程很多,自行解决
-
vs2019安装完成后,使用x86编译,找到vs的x86 Native Tools 打开…我此次编译32位版本的
-
启动msys64
-
msys,在这里运行cl,如果发现无此命令,则需要打开D:\msys64\msys2_shell.cmd ,启用 set MSYS2_PATH_TYPE=inherit …然后重新启动msys.这时候cl会有正常提示信息,如果是乱码可更改options里的语言为GBK即可(exe安装包好像不会出现乱码的问题)
依赖环境安装
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
用于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
目录,解压…根据自己的安装目录,存放
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
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
工具
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.in
到 D:\msys64\usr\local\lib\pkgconfig
目录,并改名为 fdk-aac.pc
,编码ffmpeg时会用到pc文件
修改fdk-aac.pc的内容:
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
目录
x265 编码所需命令
./make-Makefiles.sh //直接运行就可编译
nmake install //安装
- 在开始编译前先使用
where cmake
查看一下cmake
存在的目录
这里应当只存在VS 2019的cmake.如果有/usr/bin/cmake,或者更多,需要将其暂时改名为其它名字 - 进入
./x265/build/msys-cl
目录,这里我们使用的是msys-cl编译,如果使用其它方式,请找其它资料
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准备
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
目录
编码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
./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
./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,根据错误去解决问题
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下载地址:
百度盘链接:https://pan.baidu.com/s/1ugiYNVEHT81IMsF2jdcEWQ
提取码:4iqy
复制这段内容后打开百度网盘手机App,操作更方便哦
优快云:
https://download.youkuaiyun.com/download/ihmhm12345/13116875
下一篇:创建ffmpeg项目