ffmpeg简单命令使用

ffmpeg -i   input.mp4  output.avi

ffmpeg -i   input.mp4 -f  avi  output.dat

可以使用diff 查看两者的输出,Output #0 基本重要信息相同。


ffplay  out.mp3

ffplay  444.mp4   //都可以直接打开相应的文件


ffprobe  -show_streams  output.mp4    //可以分析媒体文件的信息

ffmpeg  -version   //查看对应ffmepg的版本

ffmpeg version 3.0 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-28)
configuration: --disable-debug --enable-libx264 --enable-libx265 --enable-gpl --enable-shared
libavutil      55. 17.103 / 55. 17.103
libavcodec     57. 24.102 / 57. 24.102
libavformat    57. 25.100 / 57. 25.100
libavdevice    57.  0.101 / 57.  0.101
libavfilter     6. 31.100 /  6. 31.100
libswscale      4.  0.100 /  4.  0.100
libswresample   2.  0.101 /  2.  0.101
libpostproc    54.  0.100 / 54.  0.100

./configure  --help

./configure  --list-encoders     //列出所支持的编码器

./configure  --list-decoders     //列出支持的解码器

./configure  --list-muxers        //列出所支持的封装

./configure  --list-demuxers   //列出所支持的解封装

./configure  --list-protocols     //列出支持的通信协议


./configure  --help 可以查看所需要的第三方库,然后通过增加对应的编译参数选项进行支持。

External library support:
  --enable-avisynth        enable reading of AviSynth script files [no]
  --disable-bzlib          disable bzlib [autodetect]
  --enable-chromaprint     enable audio fingerprinting with chromaprint [no]
  --enable-fontconfig      enable fontconfig, useful for drawtext filter [no]
  --enable-frei0r          enable frei0r video filtering [no]
  --enable-gcrypt          enable gcrypt, needed for rtmp(t)e support
                           if openssl, librtmp or gmp is not used [no]
  --enable-gmp             enable gmp, needed for rtmp(t)e support
                           if openssl or librtmp is not used [no]
  --enable-gnutls          enable gnutls, needed for https support
                           if openssl is not used [no]
  --disable-iconv          disable iconv [autodetect]
  --enable-ladspa          enable LADSPA audio filtering [no]
  --enable-libass          enable libass subtitles rendering,
                           needed for subtitles and ass filter [no]
  --enable-libbluray       enable BluRay reading using libbluray [no]
  --enable-libbs2b         enable bs2b DSP library [no]
  --enable-libcaca         enable textual display using libcaca [no]
  --enable-libcelt         enable CELT decoding via libcelt [no]
  --enable-libcdio         enable audio CD grabbing with libcdio [no]
  --enable-libdc1394       enable IIDC-1394 grabbing using libdc1394
                           and libraw1394 [no]
  --enable-libdcadec       enable DCA decoding via libdcadec [no]
  --enable-libfaac         enable AAC encoding via libfaac [no]
  --enable-libfdk-aac      enable AAC de/encoding via libfdk-aac [no]
  --enable-libflite        enable flite (voice synthesis) support via libflite [no]
  --enable-libfreetype     enable libfreetype, needed for drawtext filter [no]
  --enable-libfribidi      enable libfribidi, improves drawtext filter [no]
  --enable-libgme          enable Game Music Emu via libgme [no]
  --enable-libgsm          enable GSM de/encoding via libgsm [no]
  --enable-libiec61883     enable iec61883 via libiec61883 [no]
  --enable-libilbc         enable iLBC de/encoding via libilbc [no]
  --enable-libkvazaar      enable HEVC encoding via libkvazaar [no]
  --enable-libmfx          enable HW acceleration through libmfx
  --enable-libmodplug      enable ModPlug via libmodplug [no]
  --enable-libmp3lame      enable MP3 encoding via libmp3lame [no]
  --enable-libnut          enable NUT (de)muxing via libnut,
                           native (de)muxer exists [no]
  --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no
]
  --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
  --enable-libopencv       enable video filtering via libopencv [no]
  --enable-libopenh264     enable H.264 encoding via OpenH264 [no]
  --enable-libopenjpeg     enable JPEG 2000 de/encoding via OpenJPEG [no]
  --enable-libopus         enable Opus de/encoding via libopus [no]
  --enable-libpulse        enable Pulseaudio input via libpulse [no]
  --enable-librubberband   enable rubberband needed for rubberband filter [no]
  --enable-librtmp         enable RTMP[E] support via librtmp [no]
  --enable-libschroedinger enable Dirac de/encoding via libschroedinger [no]
  --enable-libshine        enable fixed-point MP3 encoding via libshine [no]
  --enable-libsmbclient    enable Samba protocol via libsmbclient [no]
  --enable-libsnappy       enable Snappy compression, needed for hap encoding [no]
  --enable-libsoxr         enable Include libsoxr resampling [no]
  --enable-libspeex        enable Speex de/encoding via libspeex [no]
  --enable-libssh          enable SFTP protocol via libssh [no]
  --enable-libtesseract    enable Tesseract, needed for ocr filter [no]
  --enable-libtheora       enable Theora encoding via libtheora [no]
  --enable-libtwolame      enable MP2 encoding via libtwolame [no]
  --enable-libutvideo      enable Ut Video encoding and decoding via libutvideo [no]
  --enable-libv4l2         enable libv4l2/v4l-utils [no]

 --enable-libvidstab      enable video stabilization using vid.stab [no]
  --enable-libvo-amrwbenc  enable AMR-WB encoding via libvo-amrwbenc [no]
  --enable-libvorbis       enable Vorbis en/decoding via libvorbis,
                           native implementation exists [no]
  --enable-libvpx          enable VP8 and VP9 de/encoding via libvpx [no]
  --enable-libwavpack      enable wavpack encoding via libwavpack [no]
  --enable-libwebp         enable WebP encoding via libwebp [no]
  --enable-libx264         enable H.264 encoding via x264 [no]
  --enable-libx265         enable HEVC encoding via x265 [no]
  --enable-libxavs         enable AVS encoding via xavs [no]
  --enable-libxcb          enable X11 grabbing using XCB [autodetect]
  --enable-libxcb-shm      enable X11 grabbing shm communication [autodetect]
  --enable-libxcb-xfixes   enable X11 grabbing mouse rendering [autodetect]
  --enable-libxcb-shape    enable X11 grabbing shape rendering [autodetect]
  --enable-libxvid         enable Xvid encoding via xvidcore,
                           native MPEG-4/Xvid encoder exists [no]
  --enable-libzimg         enable z.lib, needed for zscale filter [no]
  --enable-libzmq          enable message passing via libzmq [no]
  --enable-libzvbi         enable teletext support via libzvbi [no]
  --disable-lzma           disable lzma [autodetect]
  --enable-decklink        enable Blackmagic DeckLink I/O support [no]
  --enable-mmal            enable decoding via MMAL [no]
  --enable-netcdf          enable NetCDF, needed for sofalizer filter [no]
  --enable-nvenc           enable NVIDIA NVENC support [no]
  --enable-openal          enable OpenAL 1.1 capture support [no]
  --enable-opencl          enable OpenCL code
  --enable-opengl          enable OpenGL rendering [no]
  --enable-openssl         enable openssl, needed for https support
                           if gnutls is not used [no]
  --disable-schannel       disable SChannel SSP, needed for TLS support on
                           Windows if openssl and gnutls are not used [autodetect]
 --disable-sdl            disable sdl [autodetect]
  --disable-securetransport disable Secure Transport, needed for TLS support
                           on OSX if openssl and gnutls are not used [autodetect]
  --enable-x11grab         enable X11 grabbing (legacy) [no]
  --disable-xlib           disable xlib [autodetect]
  --disable-zlib           disable zlib [autodetect]

同时也支持很多的外部库。

外部库可以通过configure进行定制,在编译好的ffmpeg可执行程序当中也可以看到编译时定制的ffmpeg的外部库,使用ffmpeg -version 就可以看到。我的是:

ffmpeg version 3.0 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-28)
  configuration: --disable-debug --enable-libx264 --enable-libx265 --enable-gpl --enable-shared
  libavutil      55. 17.103 / 55. 17.103
  libavcodec     57. 24.102 / 57. 24.102
  libavformat    57. 25.100 / 57. 25.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 31.100 /  6. 31.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100

如果是要自己配置,仅仅支持H.264视频和 AAC音频的编码。配置可以是:

./configure --enable-libx264 --enable-libfdk-aac --enable-gpl --enable-nonfree
若出现一些类是  ERROR : XXXXX  not found  的错误,可能是你没有安装对应的库,对应下载源码包,安装就好。

因为FFmpeg所支持的格式,编解码,网络协议等很多,全部编译出来后的体积会很大。所以我们要根据具体的应用场景,来进行剪裁。可以通过./configure --help查看。

我们可以做下面的这个实验,关闭所有的不用的模块:

./configure --disable-filters --disable-encoders --disable-decoders --disable-hwaccels --disable-muxers  --disable-demuxers --disable-parsers  --disable-bsfs --disable-protocols  --disable-indevs  --disable-devices 
在关闭了所有模块之后,我们可以看到配置后的输出信息,输出的信息基本上为空了:
Enabled programs:
ffmpeg			   ffprobe		      ffserver
ffplay

External libraries:
iconv			   libxcb_shm		      xlib
libxcb			   libxcb_xfixes	      zlib
libxcb_shape		   sdl

Enabled decoders:

Enabled encoders:

Enabled hwaccels:

Enabled parsers:

Enabled demuxers:
asf			   mpegts		      rtsp
mov			   rm

Enabled muxers:
ffm

Enabled protocols:
http			   tcp			      udp
rtp

Enabled filters:
aformat			   format		      setpts
anull			   hflip		      transpose
atrim			   null			      trim
crop			   rotate		      vflip

Enabled bsfs:

Enabled indevs:

Enabled outdevs:

License: LGPL version 2.1 or later
Creating config.mak, config.h, and doc/config.texi...

在关闭了所有模块之后,可以根据我们自己需求来定制模块。假如我们需要只支持H.264    H.265   AAC   MP4,自己定义需要的模块,可以是:

./configure --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-gpl --enable-nonfree --enable-muxer=mp4 --disable-filters --disable-encoders --disable-decoders --disable-hwaccels --disable-muxers  --disable-demuxers --disable-parsers  --disable-bsfs --disable-protocols  --disable-indevs  --disable-devices
输出的结果,把我们需要的库有加进去:
Enabled programs:
ffmpeg			   ffprobe		      ffserver
ffplay

External libraries:
iconv			   libxcb_shape		      sdl
libx264			   libxcb_shm		      xlib
libx265			   libxcb_xfixes	      zlib
libxcb

Enabled decoders:

Enabled encoders:

Enabled hwaccels:

Enabled parsers:

Enabled demuxers:
asf			   mpegts		      rtsp
mov			   rm

Enabled muxers:
ffm

Enabled protocols:
http			   tcp			      udp
rtp

Enabled filters:
aformat			   format		      setpts
anull			   hflip		      transpose
atrim			   null			      trim
crop			   rotate		      vflip

Enabled bsfs:

Enabled indevs:

Enabled outdevs:

License: nonfree and unredistributable
Creating config.mak, config.h, and doc/config.texi...

./configure  --list-encoders:

FFmpeg源代码中可以包含的编码非常多,常见的,不常见的都可以在编译配置列表中见到,可以通过使用编译配置命令configure --list-encoders参数来查看。ffmpeg支持的encoder比较全面,比如aac、ac3、h264、h265、mpeg4、mpeg2video、pcm、flv的编码器支持

a64multi		   libopenjpeg		      pcm_u16le
a64multi5		   libopus		      pcm_u24be
aac			   libschroedinger	      pcm_u24le
ac3			   libshine		      pcm_u32be
ac3_fixed		   libspeex		      pcm_u32le
adpcm_adx		   libtheora		      pcm_u8
adpcm_g722		   libtwolame		      pcx
adpcm_g726		   libutvideo		      pgm
adpcm_ima_qt		   libvo_amrwbenc	      pgmyuv
adpcm_ima_wav		   libvorbis		      png
adpcm_ms		   libvpx_vp8		      ppm
adpcm_swf		   libvpx_vp9		      prores
adpcm_yamaha		   libwavpack		      prores_aw
alac			   libwebp		      prores_ks
alias_pix		   libwebp_anim		      qtrle
amv			   libx262		      r10k
apng			   libx264		      r210
ass			   libx264rgb		      ra_144
asv1			   libx265		      rawvideo
asv2			   libxavs		      roq
avrp			   libxvid		      roq_dpcm
avui			   ljpeg		      rv10
ayuv			   mjpeg		      rv20
bmp			   movtext		      s302m
cinepak			   mp2			      sgi
cljr			   mp2fixed		      snow
comfortnoise		   mpeg1video		      sonic
dca			   mpeg2_qsv		      sonic_ls
dnxhd			   mpeg2video		      srt
dpx			   mpeg4		      ssa
dvbsub			   msmpeg4v2		      subrip
dvdsub			   msmpeg4v3		      sunrast
dvvideo			   msvideo1		      svq1
eac3			   nellymoser		      targa
ffv1			   nvenc		      text
ffvhuff			   nvenc_h264		      tiff
flac			   nvenc_hevc		      tta
flashsv			   pam			      utvideo
flashsv2		   pbm			      v210
flv			   pcm_alaw		      v308
g723_1			   pcm_f32be		      v408
gif			   pcm_f32le		      v410
h261			   pcm_f64be		      vc2
h263			   pcm_f64le		      vorbis
h263p			   pcm_mulaw		      wavpack
h264_qsv		   pcm_s16be		      webvtt
hap			   pcm_s16be_planar	      wmav1
hevc_qsv		   pcm_s16le		      wmav2
huffyuv			   pcm_s16le_planar	      wmv1
jpeg2000		   pcm_s24be		      wmv2
jpegls			   pcm_s24daud		      wrapped_avframe
libfaac			   pcm_s24le		      xbm
libfdk_aac		   pcm_s24le_planar	      xface
libgsm			   pcm_s32be		      xsub
libgsm_ms		   pcm_s32le		      xwd
libilbc			   pcm_s32le_planar	      y41p
libkvazaar		   pcm_s8		      yuv4
libmp3lame		   pcm_s8_planar	      zlib
libopencore_amrnb	   pcm_u16be		      zmbv
libopenh264

./configure  --list-decoders:

FFmpeg源代码中本身包含了很多的解码支持,解码主要为输入的时候进行的解码,也可以理解为将压缩过的编码进行解压缩,关于解码的支持,可以通过./configure –list-decoders命令来进行查看。ffmpeg所支持的解码器模块decoders,支持了mpeg4、h264、h265(HEVC)、mp3等

aac			   avs			      flashsv2
aac_fixed		   avui			      flic
aac_latm		   ayuv			      flv
aasc			   bethsoftvid		      fourxm
ac3			   bfi			      fraps
ac3_fixed		   bink			      frwu
adpcm_4xm		   binkaudio_dct	      g2m
adpcm_adx		   binkaudio_rdft	      g723_1
adpcm_afc		   bintext		      g729
adpcm_aica		   bmp			      gif
adpcm_ct		   bmv_audio		      gsm
adpcm_dtk		   bmv_video		      gsm_ms
adpcm_ea		   brender_pix		      h261
adpcm_ea_maxis_xa	   c93			      h263
adpcm_ea_r1		   cavs			      h263i
adpcm_ea_r2		   ccaption		      h263p
adpcm_ea_r3		   cdgraphics		      h264
adpcm_ea_xas		   cdxl			      h264_crystalhd
adpcm_g722		   cfhd			      h264_mmal
adpcm_g726		   cinepak		      h264_qsv
adpcm_g726le		   cljr			      h264_vda
adpcm_ima_amv		   cllc			      h264_vdpau
adpcm_ima_apc		   comfortnoise		      hap
adpcm_ima_dk3		   cook			      hevc
adpcm_ima_dk4		   cpia			      hevc_qsv
adpcm_ima_ea_eacs	   cscd			      hnm4_video
adpcm_ima_ea_sead	   cyuv			      hq_hqa
adpcm_ima_iss		   dca			      hqx
adpcm_ima_oki		   dds			      huffyuv
adpcm_ima_qt		   dfa			      iac
adpcm_ima_rad		   dirac		      idcin
adpcm_ima_smjpeg	   dnxhd		      idf
adpcm_ima_wav		   dpx			      iff_ilbm
adpcm_ima_ws		   dsd_lsbf		      imc
adpcm_ms		   dsd_lsbf_planar	      indeo2
adpcm_psx		   dsd_msbf		      indeo3
adpcm_sbpro_2		   dsd_msbf_planar	      indeo4
adpcm_sbpro_3		   dsicinaudio		      indeo5
adpcm_sbpro_4		   dsicinvideo		      interplay_acm
adpcm_swf		   dss_sp		      interplay_dpcm
adpcm_thp		   dvaudio		      interplay_video
adpcm_thp_le		   dvbsub		      jacosub
adpcm_vima		   dvdsub		      jpeg2000
adpcm_xa		   dvvideo		      jpegls
adpcm_yamaha		   dxa			      jv
aic			   dxtory		      kgv1
alac			   dxv			      kmvc
alias_pix		   eac3			      lagarith
als			   eacmv		      libcelt
amrnb			   eamad		      libdcadec
amrwb			   eatgq		      libfdk_aac
amv			   eatgv		      libgsm
anm			   eatqi		      libgsm_ms
ansi			   eightbps		      libilbc
ape			   eightsvx_exp		      libopencore_amrnb
apng			   eightsvx_fib		      libopencore_amrwb
ass			   escape124		      libopenjpeg
asv1			   escape130		      libopus
asv2			   evrc			      libschroedinger
atrac1			   exr			      libspeex
atrac3			   ffv1			      libutvideo
atrac3p			   ffvhuff		      libvorbis
aura			   ffwavesynth		      libvpx_vp8
aura2			   fic			      libvpx_vp9
avrn			   flac			      libzvbi_teletext
avrp			   flashsv		      loco
mace3			   pcm_f64le		      smacker
mace6			   pcm_lxf		      smc
mdec			   pcm_mulaw		      smvjpeg
metasound		   pcm_s16be		      snow
microdvd		   pcm_s16be_planar	      sol_dpcm
mimic			   pcm_s16le		      sonic
mjpeg			   pcm_s16le_planar	      sp5x
mjpegb			   pcm_s24be		      srt
mlp			   pcm_s24daud		      ssa
mmvideo			   pcm_s24le		      stl
motionpixels		   pcm_s24le_planar	      subrip
movtext			   pcm_s32be		      subviewer
mp1			   pcm_s32le		      subviewer1
mp1float		   pcm_s32le_planar	      sunrast
mp2			   pcm_s8		      svq1
mp2float		   pcm_s8_planar	      svq3
mp3			   pcm_u16be		      tak
mp3adu			   pcm_u16le		      targa
mp3adufloat		   pcm_u24be		      targa_y216
mp3float		   pcm_u24le		      tdsc
mp3on4			   pcm_u32be		      text
mp3on4float		   pcm_u32le		      theora
mpc7			   pcm_u8		      thp
mpc8			   pcm_zork		      tiertexseqvideo
mpeg1_vdpau		   pcx			      tiff
mpeg1video		   pgm			      tmv
mpeg2_crystalhd		   pgmyuv		      truehd
mpeg2_mmal		   pgssub		      truemotion1
mpeg2_qsv		   pictor		      truemotion2
mpeg2video		   pjs			      truespeech
mpeg4			   png			      tscc
mpeg4_crystalhd		   ppm			      tscc2
mpeg4_mmal		   prores		      tta
mpeg4_vdpau		   prores_lgpl		      twinvq
mpeg_vdpau		   ptx			      txd
mpeg_xvmc		   qcelp		      ulti
mpegvideo		   qdm2			      utvideo
mpl2			   qdraw		      v210
msa1			   qpeg			      v210x
msmpeg4_crystalhd	   qtrle		      v308
msmpeg4v1		   r10k			      v408
msmpeg4v2		   r210			      v410
msmpeg4v3		   ra_144		      vb
msrle			   ra_288		      vble
mss1			   ralf			      vc1
mss2			   rawvideo		      vc1_crystalhd
msvideo1		   realtext		      vc1_mmal
mszh			   rl2			      vc1_qsv
mts2			   roq			      vc1_vdpau
mvc1			   roq_dpcm		      vc1image
mvc2			   rpza			      vcr1
mxpeg			   rscc			      vmdaudio
nellymoser		   rv10			      vmdvideo
nuv			   rv20			      vmnc
on2avc			   rv30			      vorbis
opus			   rv40			      vp3
paf_audio		   s302m		      vp5
paf_video		   sami			      vp6
pam			   sanm			      vp6a
pbm			   screenpresso		      vp6f
pcm_alaw		   sdx2_dpcm		      vp7
pcm_bluray		   sgi			      vp8
pcm_dvd			   sgirle		      vp9
pcm_f32be		   shorten		      vplayer
pcm_f32le		   sipr			      vqa
pcm_f64be		   smackaud		      wavpack
webp			   wmv3_vdpau		      xma1
webvtt			   wmv3image		      xma2
wmalossless		   wnv1			      xsub
wmapro			   ws_snd1		      xwd
wmav1			   xan_dpcm		      y41p
wmav2			   xan_wc3		      yop
wmavoice		   xan_wc4		      yuv4
wmv1			   xbin			      zero12v
wmv2			   xbm			      zerocodec
wmv3			   xface		      zlib
wmv3_crystalhd		   xl			      zmbv

./configure  --list-muxers

FFmpeg的复用为将压缩后的编码封装到一个容器格式中(又叫Muxing),如果要查看FFmpeg源代码中都可以支持哪些容器格式,可以用过命令./configure --list-muxers查看。ffmpeg支持生成裸流文件,例如h264、aac、pcm,也支持一些常见的格式,例如mp3、mp4、flv、hls、webm等

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

./configure  --list-demuxers:

FFmpeg的解复用为将读入的容器格式拆解开,将里面的压缩的音频流、视频流、字幕流、数据流等等提取出来(又叫Demuxing),如果要查看FFmpeg的源代码中都可以支持哪些输入的容器格式,可以通过命令./configure --list-demuxers 查看。fmpeg源码中已经支持的demuxer非常多,包含图片(image)、mp3、flv、MP4、mov、avi等

aa			   flv			      mmf
aac			   fourxm		      mov
ac3			   frm			      mp3
acm			   fsb			      mpc
act			   g722			      mpc8
adf			   g723_1		      mpegps
adp			   g729			      mpegts
ads			   genh			      mpegtsraw
adx			   gif			      mpegvideo
aea			   gsm			      mpjpeg
afc			   gxf			      mpl2
aiff			   h261			      mpsub
amr			   h263			      msf
anm			   h264			      msnwc_tcp
apc			   hevc			      mtv
ape			   hls			      mv
apng			   hnm			      mvi
aqtitle			   ico			      mxf
asf			   idcin		      mxg
asf_o			   idf			      nc
ass			   iff			      nistsphere
ast			   ilbc			      nsv
au			   image2		      nut
avi			   image2_alias_pix	      nuv
avisynth		   image2_brender_pix	      ogg
avr			   image2pipe		      oma
avs			   image_bmp_pipe	      paf
bethsoftvid		   image_dds_pipe	      pcm_alaw
bfi			   image_dpx_pipe	      pcm_f32be
bfstm			   image_exr_pipe	      pcm_f32le
bink			   image_j2k_pipe	      pcm_f64be
bintext			   image_jpeg_pipe	      pcm_f64le
bit			   image_jpegls_pipe	      pcm_mulaw
bmv			   image_pictor_pipe	      pcm_s16be
boa			   image_png_pipe	      pcm_s16le
brstm			   image_qdraw_pipe	      pcm_s24be
c93			   image_sgi_pipe	      pcm_s24le
caf			   image_sunrast_pipe	      pcm_s32be
cavsvideo		   image_tiff_pipe	      pcm_s32le
cdg			   image_webp_pipe	      pcm_s8
cdxl			   ingenient		      pcm_u16be
cine			   ipmovie		      pcm_u16le
concat			   ircam		      pcm_u24be
data			   iss			      pcm_u24le
daud			   iv8			      pcm_u32be
dcstr			   ivf			      pcm_u32le
dfa			   ivr			      pcm_u8
dirac			   jacosub		      pjs
dnxhd			   jv			      pmp
dsf			   libgme		      pva
dsicin			   libmodplug		      pvf
dss			   libnut		      qcp
dts			   live_flv		      r3d
dtshd			   lmlm4		      rawvideo
dv			   loas			      realtext
dvbsub			   lrc			      redspark
dxa			   lvf			      rl2
ea			   lxf			      rm
ea_cdata		   m4v			      roq
eac3			   matroska		      rpl
epaf			   mgsts		      rsd
ffm			   microdvd		      rso
ffmetadata		   mjpeg		      rtp
filmstrip		   mlp			      rtsp
flac			   mlv			      sami
flic			   mm			      sap
sbg			   swf			      vpk
sdp			   tak			      vplayer
sdr2			   tedcaptions		      vqf
segafilm		   thp			      w64
shorten			   threedostr		      wav
siff			   tiertexseq		      wc3
sln			   tmv			      webm_dash_manifest
smacker			   truehd		      webvtt
smjpeg			   tta			      wsaud
smush			   tty			      wsvqa
sol			   txd			      wtv
sox			   v210			      wv
spdif			   v210x		      wve
srt			   vag			      xa
stl			   vc1			      xbin
str			   vc1t			      xmv
subviewer		   vivo			      xvag
subviewer1		   vmd			      xwma
sup			   vobsub		      yop
svag			   voc			      yuv4mpegpipe

./configure  --list-protocols:

FFmpeg不仅仅支持本地的多媒体处理,而且还支持网络流媒体的处理,支持的网络流媒体协议相对来说也很全面,可以通过命令 ./configure --list-protocols 进行查看。ffmpeg支持的流媒体协议比较多,包括mms、http、hls(M3U8)、rtmp、rtp、甚至支持tcp、udp,也支持本地文件file协议,和多个文件拼接串流的支持concat

async			   icecast		      rtmpt
bluray			   librtmp		      rtmpte
cache			   librtmpe		      rtmpts
concat			   librtmps		      rtp
crypto			   librtmpt		      sctp
data			   librtmpte		      srtp
ffrtmpcrypt		   libsmbclient		      subfile
ffrtmphttp		   libssh		      tcp
file			   md5			      tls_gnutls
ftp			   mmsh			      tls_openssl
gopher			   mmst			      tls_schannel
hls			   pipe			      tls_securetransport
http			   rtmp			      udp
httpproxy		   rtmpe		      udplite
https			   rtmps		      unix

猜你喜欢

转载自blog.csdn.net/lailaiquququ11/article/details/80957847
今日推荐