Refer to
https://blog.csdn.net/hushui/article/details/81487407
WSL/Ubuntu18
lake@PC-HM6DD43:~$ cat /etc/issue
Ubuntu 18.04.4 LTS \n \l
## remove Ubuntu18/ffmpeg3.4
lake@PC-HM6DD43:/mnt/c/work/Develop/spice/ffmpeg$ sudo apt remove libavcodec-dev libavformat-dev libavutil-dev ffmpeg
lake@PC-HM6DD43:/mnt/c/work/Develop/spice/ffmpeg$ sudo apt-get install yasm
lake@PC-HM6DD43:/mnt/c/work/Develop/spice/ffmpeg$ sudo apt-get install libwebp-dev
########## build ffmpeg 4.3.1 for Ubuntu18
lake@PC-HM6DD43:/mnt/c/work/Develop/spice/ffmpeg$ git branch
master
v3.1_centos7
* v4.3.1_ubuntu18
lake@PC-HM6DD43:/mnt/c/work/Develop/spice/ffmpeg$ git log
commit 6b6b9e593dd4d3aaf75f48d40a13ef03bdef9fdb (HEAD -> v4.3.1_ubuntu18, tag: n4.3.1)
Author: Michael Niedermayer <michael@niedermayer.cc>
Date: Sat Jul 11 00:26:17 2020 +0200
Changelog: update
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
### ffplay based on SDL2 is NOT build
lake@PC-HM6DD43:/mnt/c/work/Develop/spice/ffmpeg$ ./configure --prefix=/usr/local --enable-shared --disable-static
install prefix /usr/local
source path .
C compiler gcc
C library glibc
ARCH x86 (generic)
big-endian no
runtime cpu detection yes
standalone assembly yes
x86 assembler yasm
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 yes
EBX available yes
EBP available yes
debug symbols yes
strip symbols yes
optimize for size no
optimizations yes
static no
shared yes
postprocessing support no
network support yes
threading support pthreads
safe bitstream reader yes
texi2html enabled no
perl enabled yes
pod2man enabled yes
makeinfo enabled no
makeinfo supports HTML no
External libraries:
iconv libxcb_shape libxcb_xfixes
libxcb libxcb_shm zlib
External libraries providing hardware acceleration:
v4l2_m2m
Libraries:
avcodec avfilter avutil swscale
avdevice avformat swresample
Programs:
ffmpeg ffprobe
Enabled decoders:
aac derf_dpcm mp3adufloat scpr
aac_fixed dfa mp3float screenpresso
aac_latm dirac mp3on4 sdx2_dpcm
aasc dnxhd mp3on4float sgi
ac3 dolby_e mpc7 sgirle
ac3_fixed dpx mpc8 sheervideo
acelp_kelvin dsd_lsbf mpeg1_v4l2m2m shorten
adpcm_4xm dsd_lsbf_planar mpeg1video sipr
adpcm_adx dsd_msbf mpeg2_v4l2m2m siren
adpcm_afc dsd_msbf_planar mpeg2video smackaud
adpcm_agm dsicinaudio mpeg4 smacker
adpcm_aica dsicinvideo mpeg4_v4l2m2m smc
adpcm_argo dss_sp mpegvideo smvjpeg
adpcm_ct dst mpl2 snow
adpcm_dtk dvaudio msa1 sol_dpcm
adpcm_ea dvbsub mscc sonic
adpcm_ea_maxis_xa dvdsub msmpeg4v1 sp5x
adpcm_ea_r1 dvvideo msmpeg4v2 speedhq
adpcm_ea_r2 dxa msmpeg4v3 srgc
adpcm_ea_r3 dxtory msrle srt
adpcm_ea_xas dxv mss1 ssa
adpcm_g722 eac3 mss2 stl
adpcm_g726 eacmv msvideo1 subrip
adpcm_g726le eamad mszh subviewer
adpcm_ima_alp eatgq mts2 subviewer1
adpcm_ima_amv eatgv mv30 sunrast
adpcm_ima_apc eatqi mvc1 svq1
adpcm_ima_apm eightbps mvc2 svq3
adpcm_ima_cunning eightsvx_exp mvdv tak
adpcm_ima_dat4 eightsvx_fib mvha targa
adpcm_ima_dk3 escape124 mwsc targa_y216
adpcm_ima_dk4 escape130 mxpeg tdsc
adpcm_ima_ea_eacs evrc nellymoser text
adpcm_ima_ea_sead exr notchlc theora
adpcm_ima_iss ffv1 nuv thp
adpcm_ima_mtf ffvhuff on2avc tiertexseqvideo
adpcm_ima_oki ffwavesynth opus tiff
adpcm_ima_qt fic paf_audio tmv
adpcm_ima_rad fits paf_video truehd
adpcm_ima_smjpeg flac pam truemotion1
adpcm_ima_ssi flashsv pbm truemotion2
adpcm_ima_wav flashsv2 pcm_alaw truemotion2rt
adpcm_ima_ws flic pcm_bluray truespeech
adpcm_ms flv pcm_dvd tscc
adpcm_mtaf fmvc pcm_f16le tscc2
adpcm_psx fourxm pcm_f24le tta
adpcm_sbpro_2 fraps pcm_f32be twinvq
adpcm_sbpro_3 frwu pcm_f32le txd
adpcm_sbpro_4 g2m pcm_f64be ulti
adpcm_swf g723_1 pcm_f64le utvideo
adpcm_thp g729 pcm_lxf v210
adpcm_thp_le gdv pcm_mulaw v210x
adpcm_vima gif pcm_s16be v308
adpcm_xa gremlin_dpcm pcm_s16be_planar v408
adpcm_yamaha gsm pcm_s16le v410
adpcm_zork gsm_ms pcm_s16le_planar vb
agm h261 pcm_s24be vble
aic h263 pcm_s24daud vc1
alac h263_v4l2m2m pcm_s24le vc1_v4l2m2m
alias_pix h263i pcm_s24le_planar vc1image
als h263p pcm_s32be vcr1
amrnb h264 pcm_s32le vmdaudio
amrwb h264_v4l2m2m pcm_s32le_planar vmdvideo
amv hap pcm_s64be vmnc
anm hca pcm_s64le vorbis
ansi hcom pcm_s8 vp3
ape hevc pcm_s8_planar vp4
apng hnm4_video pcm_u16be vp5
aptx hq_hqa pcm_u16le vp6
aptx_hd hqx pcm_u24be vp6a
arbc huffyuv pcm_u24le vp6f
ass hymt pcm_u32be vp7
asv1 iac pcm_u32le vp8
asv2 idcin pcm_u8 vp8_v4l2m2m
atrac1 idf pcm_vidc vp9
atrac3 iff_ilbm pcx vp9_v4l2m2m
atrac3al ilbc pfm vplayer
atrac3p imc pgm vqa
atrac3pal imm4 pgmyuv wavpack
atrac9 imm5 pgssub wcmv
aura indeo2 pictor webp
aura2 indeo3 pixlet webvtt
avrn indeo4 pjs wmalossless
avrp indeo5 png wmapro
avs interplay_acm ppm wmav1
avui interplay_dpcm prores wmav2
ayuv interplay_video prosumer wmavoice
bethsoftvid jacosub psd wmv1
bfi jpeg2000 ptx wmv2
bink jpegls qcelp wmv3
binkaudio_dct jv qdm2 wmv3image
binkaudio_rdft kgv1 qdmc wnv1
bintext kmvc qdraw wrapped_avframe
bitpacked lagarith qpeg ws_snd1
bmp loco qtrle xan_dpcm
bmv_audio lscr r10k xan_wc3
bmv_video m101 r210 xan_wc4
brender_pix mace3 ra_144 xbin
c93 mace6 ra_288 xbm
cavs magicyuv ralf xface
ccaption mdec rasc xl
cdgraphics metasound rawvideo xma1
cdtoons microdvd realtext xma2
cdxl mimic rl2 xpm
cfhd mjpeg roq xsub
cinepak mjpegb roq_dpcm xwd
clearvideo mlp rpza y41p
cljr mmvideo rscc ylc
cllc motionpixels rv10 yop
comfortnoise movtext rv20 yuv4
cook mp1 rv30 zero12v
cpia mp1float rv40 zerocodec
cscd mp2 s302m zlib
cyuv mp2float sami zmbv
dca mp3 sanm
dds mp3adu sbc
Enabled encoders:
a64multi fits pcm_s16be s302m
a64multi5 flac pcm_s16be_planar sbc
aac flashsv pcm_s16le sgi
ac3 flashsv2 pcm_s16le_planar snow
ac3_fixed flv pcm_s24be sonic
adpcm_adx g723_1 pcm_s24daud sonic_ls
adpcm_g722 gif pcm_s24le srt
adpcm_g726 h261 pcm_s24le_planar ssa
adpcm_g726le h263 pcm_s32be subrip
adpcm_ima_qt h263_v4l2m2m pcm_s32le sunrast
adpcm_ima_ssi h263p pcm_s32le_planar svq1
adpcm_ima_wav h264_v4l2m2m pcm_s64be targa
adpcm_ms huffyuv pcm_s64le text
adpcm_swf jpeg2000 pcm_s8 tiff
adpcm_yamaha jpegls pcm_s8_planar truehd
alac ljpeg pcm_u16be tta
alias_pix magicyuv pcm_u16le utvideo
amv mjpeg pcm_u24be v210
apng mlp pcm_u24le v308
aptx movtext pcm_u32be v408
aptx_hd mp2 pcm_u32le v410
ass mp2fixed pcm_u8 vc2
asv1 mpeg1video pcm_vidc vorbis
asv2 mpeg2video pcx vp8_v4l2m2m
avrp mpeg4 pgm wavpack
avui mpeg4_v4l2m2m pgmyuv webvtt
ayuv msmpeg4v2 png wmav1
bmp msmpeg4v3 ppm wmav2
cinepak msvideo1 prores wmv1
cljr nellymoser prores_aw wmv2
comfortnoise opus prores_ks wrapped_avframe
dca pam qtrle xbm
dnxhd pbm r10k xface
dpx pcm_alaw r210 xsub
dvbsub pcm_dvd ra_144 xwd
dvdsub pcm_f32be rawvideo y41p
dvvideo pcm_f32le roq yuv4
eac3 pcm_f64be roq_dpcm zlib
ffv1 pcm_f64le rv10 zmbv
ffvhuff pcm_mulaw rv20
Enabled hwaccels:
Enabled parsers:
aac dpx h264 rv40
aac_latm dvaudio hevc sbc
ac3 dvbsub jpeg2000 sipr
adx dvd_nav mjpeg tak
av1 dvdsub mlp vc1
avs2 flac mpeg4video vorbis
bmp g723_1 mpegaudio vp3
cavsvideo g729 mpegvideo vp8
cook gif opus vp9
dca gsm png webp
dirac h261 pnm xma
dnxhd h263 rv30
Enabled demuxers:
aa filmstrip lrc rpl
aac fits lvf rsd
ac3 flac lxf rso
acm flic m4v rtp
act flv matroska rtsp
adf fourxm mgsts s337m
adp frm microdvd sami
ads fsb mjpeg sap
adx fwse mjpeg_2000 sbc
aea g722 mlp sbg
afc g723_1 mlv scc
aiff g726 mm sdp
aix g726le mmf sdr2
alp g729 mov sds
amr gdv mp3 sdx
amrnb genh mpc segafilm
amrwb gif mpc8 ser
anm gsm mpegps shorten
apc gxf mpegts siff
ape h261 mpegtsraw sln
apm h263 mpegvideo smacker
apng h264 mpjpeg smjpeg
aptx hca mpl2 smush
aptx_hd hcom mpsub sol
aqtitle hevc msf sox
argo_asf hls msnwc_tcp spdif
asf hnm mtaf srt
asf_o ico mtv stl
ass idcin musx str
ast idf mv subviewer
au iff mvi subviewer1
av1 ifv mxf sup
avi ilbc mxg svag
avr image2 nc swf
avs image2_alias_pix nistsphere tak
avs2 image2_brender_pix nsp tedcaptions
bethsoftvid image2pipe nsv thp
bfi image_bmp_pipe nut threedostr
bfstm image_dds_pipe nuv tiertexseq
bink image_dpx_pipe ogg tmv
bintext image_exr_pipe oma truehd
bit image_gif_pipe paf tta
bmv image_j2k_pipe pcm_alaw tty
boa image_jpeg_pipe pcm_f32be txd
brstm image_jpegls_pipe pcm_f32le ty
c93 image_pam_pipe pcm_f64be v210
caf image_pbm_pipe pcm_f64le v210x
cavsvideo image_pcx_pipe pcm_mulaw vag
cdg image_pgm_pipe pcm_s16be vc1
cdxl image_pgmyuv_pipe pcm_s16le vc1t
cine image_pictor_pipe pcm_s24be vividas
codec2 image_png_pipe pcm_s24le vivo
codec2raw image_ppm_pipe pcm_s32be vmd
concat image_psd_pipe pcm_s32le vobsub
data image_qdraw_pipe pcm_s8 voc
daud image_sgi_pipe pcm_u16be vpk
dcstr image_sunrast_pipe pcm_u16le vplayer
derf image_svg_pipe pcm_u24be vqf
dfa image_tiff_pipe pcm_u24le w64
dhav image_webp_pipe pcm_u32be wav
dirac image_xpm_pipe pcm_u32le wc3
dnxhd image_xwd_pipe pcm_u8 webm_dash_manifest
dsf ingenient pcm_vidc webvtt
dsicin ipmovie pjs wsaud
dss ircam pmp wsd
dts iss pp_bnk wsvqa
dtshd iv8 pva wtv
dv ivf pvf wv
dvbsub ivr qcp wve
dvbtxt jacosub r3d xa
dxa jv rawvideo xbin
ea kux realtext xmv
ea_cdata kvag redspark xvag
eac3 live_flv rl2 xwma
epaf lmlm4 rm yop
ffmetadata loas roq yuv4mpegpipe
Enabled muxers:
a64 framemd5 mpeg1vcd rm
ac3 g722 mpeg1video roq
adts g723_1 mpeg2dvd rso
adx g726 mpeg2svcd rtp
aiff g726le mpeg2video rtp_mpegts
amr gif mpeg2vob rtsp
apng gsm mpegts sap
aptx gxf mpjpeg sbc
aptx_hd h261 mxf scc
asf h263 mxf_d10 segafilm
asf_stream h264 mxf_opatom segment
ass hash null singlejpeg
ast hds nut smjpeg
au hevc oga smoothstreaming
avi hls ogg sox
avm2 ico ogv spdif
avs2 ilbc oma spx
bit image2 opus srt
caf image2pipe pcm_alaw stream_segment
cavsvideo ipod pcm_f32be streamhash
codec2 ircam pcm_f32le sup
codec2raw ismv pcm_f64be swf
crc ivf pcm_f64le tee
dash jacosub pcm_mulaw tg2
data kvag pcm_s16be tgp
daud latm pcm_s16le truehd
dirac lrc pcm_s24be tta
dnxhd m4v pcm_s24le uncodedframecrc
dts matroska pcm_s32be vc1
dv matroska_audio pcm_s32le vc1t
eac3 md5 pcm_s8 voc
f4v microdvd pcm_u16be w64
ffmetadata mjpeg pcm_u16le wav
fifo mkvtimestamp_v2 pcm_u24be webm
fifo_test mlp pcm_u24le webm_chunk
filmstrip mmf pcm_u32be webm_dash_manifest
fits mov pcm_u32le webp
flac mp2 pcm_u8 webvtt
flv mp3 pcm_vidc wtv
framecrc mp4 psp wv
framehash mpeg1system rawvideo yuv4mpegpipe
Enabled protocols:
async ftp mmsh srtp
cache gopher mmst subfile
concat hls pipe tcp
crypto http prompeg tee
data httpproxy rtmp udp
ffrtmphttp icecast rtmpt udplite
file md5 rtp unix
Enabled filters:
abench bwdif haldclutsrc scdet
abitscope cas hdcd scroll
acompressor cellauto headphone select
acontrast channelmap hflip selectivecolor
acopy channelsplit highpass sendcmd
acrossfade chorus highshelf separatefields
acrossover chromahold hilbert setdar
acrusher chromakey histogram setfield
acue chromashift hqx setparams
addroi ciescope hstack setpts
adeclick codecview hue setrange
adeclip color hwdownload setsar
adelay colorbalance hwmap settb
aderivative colorchannelmixer hwupload showcqt
adrawgraph colorhold hysteresis showfreqs
aecho colorkey idet showinfo
aemphasis colorlevels il showpalette
aeval colorspace inflate showspatial
aevalsrc compand interleave showspectrum
afade compensationdelay join showspectrumpic
afftdn concat lagfun showvolume
afftfilt convolution lenscorrection showwaves
afifo convolve life showwavespic
afir copy limiter shuffleframes
afirsrc crop loop shuffleplanes
aformat crossfeed loudnorm sidechaincompress
agate crystalizer lowpass sidechaingate
agraphmonitor cue lowshelf sidedata
ahistogram curves lumakey sierpinski
aiir datascope lut signalstats
aintegral dblur lut1d silencedetect
ainterleave dcshift lut2 silenceremove
alimiter dctdnoiz lut3d sinc
allpass deband lutrgb sine
allrgb deblock lutyuv smptebars
allyuv decimate mandelbrot smptehdbars
aloop deconvolve maskedclamp sobel
alphaextract dedot maskedmax spectrumsynth
alphamerge deesser maskedmerge split
amerge deflate maskedmin sr
ametadata deflicker maskedthreshold ssim
amix dejudder maskfun stereotools
amovie derain mcompand stereowiden
amplify deshake median streamselect
amultiply despill mergeplanes superequalizer
anequalizer detelecine mestimate surround
anlmdn dilation metadata swaprect
anlms displace midequalizer swapuv
anoisesrc dnn_processing minterpolate tblend
anull doubleweave mix telecine
anullsink drawbox movie testsrc
anullsrc drawgraph negate testsrc2
apad drawgrid nlmeans thistogram
aperms drmeter noformat threshold
aphasemeter dynaudnorm noise thumbnail
aphaser earwax normalize tile
apulsator ebur128 null tlut2
arealtime edgedetect nullsink tmedian
aresample elbg nullsrc tmix
areverse entropy oscilloscope tonemap
arnndn equalizer overlay tpad
aselect erosion pad transpose
asendcmd extractplanes pal100bars treble
asetnsamples extrastereo pal75bars tremolo
asetpts fade palettegen trim
asetrate fftdnoiz paletteuse unpremultiply
asettb fftfilt pan unsharp
ashowinfo field perms untile
asidedata fieldhint photosensitivity v360
asoftclip fieldmatch pixdesctest vectorscope
asplit fieldorder pixscope vflip
astats fifo premultiply vfrdet
astreamselect fillborders prewitt vibrance
asubboost firequalizer pseudocolor vibrato
atadenoise flanger psnr vignette
atempo floodfill qp vmafmotion
atrim format random volume
avectorscope fps readeia608 volumedetect
avgblur framepack readvitc vstack
axcorrelate framerate realtime w3fdif
bandpass framestep remap waveform
bandreject freezedetect removegrain weave
bass freezeframes removelogo xbr
bbox gblur replaygain xfade
bench geq reverse xmedian
bilateral gradfun rgbashift xstack
biquad gradients rgbtestsrc yadif
bitplanenoise graphmonitor roberts yaepblur
blackdetect greyedge rotate yuvtestsrc
blend haas scale zoompan
bm3d haldclut scale2ref
Enabled bsfs:
aac_adtstoasc filter_units mjpega_dump_header prores_metadata
av1_frame_merge h264_metadata mov2textsub remove_extradata
av1_frame_split h264_mp4toannexb mp3_header_decompress text2movsub
av1_metadata h264_redundant_pps mpeg2_metadata trace_headers
chomp hapqa_extract mpeg4_unpack_bframes truehd_core
dca_core hevc_metadata noise vp9_metadata
dump_extradata hevc_mp4toannexb null vp9_raw_reorder
eac3_core imx_dump_header opus_metadata vp9_superframe
extract_extradata mjpeg2jpeg pcm_rechunk vp9_superframe_split
Enabled indevs:
fbdev oss xcbgrab
lavfi v4l2
Enabled outdevs:
fbdev oss v4l2
License: LGPL version 2.1 or later
libavutil/avconfig.h is unchanged
libavfilter/filter_list.c is unchanged
libavcodec/codec_list.c is unchanged
libavcodec/parser_list.c is unchanged
libavcodec/bsf_list.c is unchanged
libavformat/demuxer_list.c is unchanged
libavformat/muxer_list.c is unchanged
libavdevice/indev_list.c is unchanged
libavdevice/outdev_list.c is unchanged
libavformat/protocol_list.c is unchanged
lake@PC-HM6DD43:/mnt/c/work/Develop/spice/ffmpeg$ sudo make install
lake@PC-HM6DD43:/mnt/c/work/Develop/spice/ffmpeg$ ./ffmpeg -v
ffmpeg version n4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
configuration: --prefix=/usr/local --enable-shared --disable-static
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
Missing argument for option 'v'.
Error splitting the argument list: Invalid argument
lake@PC-HM6DD43:/mnt/c/work/Develop/spice/ffmpeg$ file ffmpeg
ffmpeg: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=ce310dc8708057ecfc84ab974454f222d20bcd64, stripped
lake@PC-HM6DD43:/mnt/c/work/Develop/spice/ffmpeg$