FFmpegffmpeg 命令查询一 ( 版本 | 编译配置 | 复用格式 | 编解码器 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FFmpegffmpeg 命令查询一 ( 版本 | 编译配置 | 复用格式 | 编解码器 )相关的知识,希望对你有一定的参考价值。

FFmpeg 系列文章目录

【FFmpeg】Windows 搭建 FFmpeg 命令行运行环境

【FFmpeg】FFmpeg 相关术语简介
【FFmpeg】FFmpeg 相关术语简介 二
【FFmpeg】FFmpeg 帮助文档使用

【FFmpeg】使用 FFmpeg 处理音视频格式转换流程

【FFmpeg】ffmpeg 命令查询一 ( 版本 | 编译配置 | 复用格式 | 编解码器 )





一、FFmpeg 帮助信息



【FFmpeg】FFmpeg 帮助文档使用 博客中使用

ffmpeg -h

命令 , 可以在命令行输出 ffmpeg 基本命令帮助信息 , 其中打印出了如下几项信息 , 下面介绍下比较重要的几个配置选项 ;

Print help / information / capabilities:
-L                  show license // 显示许可信息 
-h topic            show help // 显示帮助信息
-? topic            show help // 显示帮助信息
-help topic         show help // 显示帮助信息
--help topic        show help // 显示帮助信息
-version            show version // 显示版本				
-buildconf          show build configuration // 显示编译配置
-formats            show available formats // 显示可用格式 , 其等价于 muxers + demuxers 组合 
-muxers             show available muxers // 显示可用的复用器
-demuxers           show available demuxers // 显示可用的解复用器
-devices            show available devices // 显示可用设备
-codecs             show available codecs // 显示可用的编解码器 , 其等价于 encoders + decoders 组合
-decoders           show available decoders // 显示可用的解码器
-encoders           show available encoders // 显示可用的编码器
-bsfs               show available bit stream filters // 显示可用的比特流 filters 过滤器 
-protocols          show available protocols // 显示可用协议 , 如 rtmp , rtsp 等 ; 
-filters            show available filters // 显示可用的过滤器 , 可用于 : 改变播放速度 , 加水印 , 加 Logo 
-pix_fmts           show available pixel formats // 显示可用的像素格式
-layouts            show standard channel layouts // 显示标准声道名称 
-sample_fmts        show available audio sample formats // 显示可用的音频采样格式 
-colors             show available color names // 显示可用的颜色名称 
-sources device     list sources of the input device // 列出输入设备来源 
-sinks device       list sinks of the output device // 列出输出设备接收器
-hwaccels           show available HW acceleration methods // 显示可用的硬件加速方法 



二、显示版本信息 -version



帮助文档对应内容 :

-version            show version // 显示版本	

显示版本信息命令 :

ffmpeg -version

执行过程 : 打印出的版本号是 ffmpeg version n4.4-19-g8d172d9409 ;

在这里插入图片描述

命令行输出 :

D:\\ffmpeg>ffmpeg -version
ffmpeg version n4.4-19-g8d172d9409 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10-win32 (GCC) 20210408
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-shared --disable-static --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --enable-vulkan --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp
libavutil      56. 70.100 / 56. 70.100
libavcodec     58.134.100 / 58.134.100
libavformat    58. 76.100 / 58. 76.100
libavdevice    58. 13.100 / 58. 13.100
libavfilter     7.110.100 /  7.110.100
libswscale      5.  9.100 /  5.  9.100
libswresample   3.  9.100 /  3.  9.100
libpostproc    55.  9.100 / 55.  9.100



三、ffmpeg 命令输出的固定信息



关于 ffmpeg 不管执行什么命令 , 都会打印出当前的以下信息 :

版本号信息 ffmpeg version n4.4-19-g8d172d9409
版权信息 Copyright
编译器信息 built with gcc 10-win32 (GCC) 20210408
编译配置信息 configuration:
各个库的版本信息如下

libavutil      56. 70.100 / 56. 70.100
libavcodec     58.134.100 / 58.134.100
libavformat    58. 76.100 / 58. 76.100
libavdevice    58. 13.100 / 58. 13.100
libavfilter     7.110.100 /  7.110.100
libswscale      5.  9.100 /  5.  9.100
libswresample   3.  9.100 /  3.  9.100
libpostproc    55.  9.100 / 55.  9.100



四、显示编译配置信息 -buildconf



帮助文档对应内容 :

-buildconf          show build configuration // 显示编译配置

显示编译配置信息命令 : FFmpeg 进行编译时 , 先配置 configure 文件 , 然后根据 configure 配置生成 Makefile 文件 , 再执行编译操作 ;

ffmpeg -buildconf

执行过程 : 打印出的编译时的 configure 配置信息 ;

在这里插入图片描述

命令行输出 :

D:\\ffmpeg>ffmpeg -buildconf
ffmpeg version n4.4-19-g8d172d9409 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 10-win32 (GCC) 20210408
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-shared --disable-static --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --enable-vulkan --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100

  configuration:
    --prefix=/ffbuild/prefix
    --pkg-config-flags=--static
    --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32-
    --arch=x86_64
    --target-os=mingw32
    --enable-gpl
    --enable-version3
    --disable-debug
    --enable-shared
    --disable-static
    --disable-w32threads
    --enable-pthreads
    --enable-iconv
    --enable-libxml2
    --enable-zlib
    --enable-libfreetype
    --enable-libfribidi
    --enable-gmp
    --enable-lzma
    --enable-fontconfig
    --enable-libvorbis
    --enable-opencl
    --enable-libvmaf
    --enable-vulkan
    --enable-amf
    --enable-libaom
    --enable-avisynth
    --enable-libdav1d
    --enable-libdavs2
    --enable-ffnvcodec
    --enable-cuda-llvm
    --enable-libglslang
    --enable-libgme
    --enable-libass
    --enable-libbluray
    --enable-libmp3lame
    --enable-libopus
    --enable-libtheora
    --enable-libvpx
    --enable-libwebp
    --enable-lv2
    --enable-libmfx
    --enable-libopencore-amrnb
    --enable-libopencore-amrwb
    --enable-libopenjpeg
    --enable-librav1e
    --enable-librubberband
    --enable-schannel
    --enable-sdl2
    --enable-libsoxr
    --enable-libsrt
    --enable-libsvtav1
    --enable-libtwolame
    --enable-libuavs3d
    --enable-libvidstab
    --enable-libx264
    --enable-libx265
    --enable-libxavs2
    --enable-libxvid
    --enable-libzimg
    --extra-cflags=-DLIBTWOLAME_STATIC
    --extra-cxxflags=
    --extra-ldflags=-pthread
    --extra-ldexeflags=
    --extra-libs=-lgomp

D:\\ffmpeg>

上述的 configuration: 后面的一行配置 与 ffmpeg -buildconf 打印出来的内容是一样的 ,

各个模块都编译成动态库 , 不支持静态库 ;

    --enable-shared
    --disable-static

支持 sdl2 , 这是做播放显示用的 ;

    --enable-sdl2

支持 H.264 , H.265 编码 :

    --enable-libx264
    --enable-libx265



五、显示可用格式 -formats




1、基础命令


帮助文档对应内容 :

-formats            show available formats // 显示可用格式 , 其等价于 muxers + demuxers 组合 

显示可用格式命令 :

ffmpeg -formats

执行过程 :

在这里插入图片描述

命令行输出 :

D:\\ffmpeg>ffmpeg -formats
ffmpeg version n4.4-19-g8d172d9409 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 10-win32 (GCC) 20210408
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-shared --disable-static --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --enable-vulkan --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
File formats:
 D. = Demuxing supported
 .E = Muxing supported
 --
 D  3dostr          3DO STR
  E 3g2             3GP2 (3GPP2 file format)
  E 3gp             3GP (3GPP file format)
 D  4xm             4X Technologies
  E a64             a64 - video for Commodore 64
 D  aa              Audible AA format files
 D  aac             raw ADTS AAC (Advanced Audio Coding)
 D  aax             CRI AAX
 DE ac3             raw AC-3
 D  ace             tri-Ace Audio Container
 D  acm             Interplay ACM
 D  act             ACT Voice file format
 D  adf             Artworx Data Format
 D  adp             ADP
 D  ads             Sony PS2 ADS
  E adts            ADTS AAC (Advanced Audio Coding)
 DE adx             CRI ADX
 D  aea             MD STUDIO audio
 D  afc             AFC
 DE aiff            Audio IFF
 D  aix             CRI AIX
 DE alaw            PCM A-law
 D  alias_pix       Alias/Wavefront PIX image
 DE alp             LEGO Racers ALP
 DE amr             3GPP AMR
 D  amrnb           raw AMR-NB
 D  amrwb           raw AMR-WB
  E amv             AMV
 D  anm             Deluxe Paint Animation
 D  apc             CRYO APC
 D  ape             Monkey's Audio
 DE apm             Ubisoft Rayman 2 APM

 ... 打印的内容太多 , 省略部分 ...

D:\\ffmpeg>

名称中带 D 说明支持解复用 , 名称中带 E 说明支持复用 ;

 D. = Demuxing supported
 .E = Muxing supported

只支持解复用的格式 : 前面带 D ;

D  3dostr          3DO STR

支持复用的格式 : 前面带 E ;

E 3g2             3GP2 (3GPP2 file format)

支持复用与解复用的格式 : 前面带 DE ;

DE ac3             raw AC-3

2、查询指定格式信息


如果要查询 flv 格式相关的 复用 / 解复用 信息 , 使用如下命令 :

ffmpeg -formats | findstr flv

执行过程 :

在这里插入图片描述


命令行输出 :

D:\\ffmpeg>ffmpeg -formats | findstr flv
ffmpeg version n4.4-19-g8d172d9409 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 10-win32 (GCC) 20210408
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-shared --disable-static --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --enable-vulkan --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / FFmpegffmpeg 命令查询三 ( 查询 ffmpeg 命令分类支持的参数 )

FFmpegffmpeg 命令查询三 ( 查询 ffmpeg 命令分类支持的参数 )

FFmpegffmpeg 命令查询二 ( 比特流过滤器 | 可用协议 | 过滤器 | 像素格式 | 标准声道布局 | 音频采样格式 | 颜色名称 )

FFmpegFFmpeg 帮助文档使用

FFmpegFFmpeg常用基本命令

FFmpegFFmpeg常用基本命令