FFMPEG安装及入门

ffmpeg介绍

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流(什么是流?)的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。

项目组成功能介绍

  • libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构 和读取音视频帧等功能;
  • libvcodec:用于各种类型声音/图像编解码;
  • libavutil:包含一些公共的工具函数;
  • libswscale:用于视频场景比例缩放、色彩映射转换;
  • libpostproc:用于后期效果处理;
  • ffmpeg:该项目提供的一个工具,可用于格式转换、解码或电视卡即时编码等;
  • ffsever:一个 HTTP 多媒体即时广播串流服务器;
  • ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;

Windows下的FFMPEG已编译版本安装

下载链接:https://ffmpeg.zeranoe.com/builds/
下载完解压后如图所示:
然后配置环境变量,比如e:\ffmpeg20180919\bin,将他加入到系统环境变量中。这样bin下面的ffmpeg.exe就可以在命令行中使用了,可以用ffmpeg -version测试一下。
运行cmd,进入bin目录使用:
在这里插入图片描述

常用命令集举例

  • 获取视频的信息
    ffmpeg -i video.avi
  • 图片序列合成视频
    ffmpeg -f image2 -i image%d.jpg video.mpg
    上面的命令会把当前目录下的图片(名字如:image1.jpg. image2.jpg. 等…)合并成video.mpg
  • 将视频分解成图片序列
    ffmpeg -i video.mpg image%d.jpg
    上面的命令会生成image1.jpg. image2.jpg. …
    支持的图片格式有:PGM. PPM. PAM. PGMYUV. JPEG. GIF. PNG. TIFF. SGI
  • 输出YUV420原始数据
    ffmpeg -i input.mp4 output.yuv(yuv播放软件RawPlayer,YUVview)
  • 抓取视频的一些帧,存为jpeg图片
    ffmpeg -i input.mp4 -r 1 -q:v 2 -f image2 pic-%03d.jpeg
    -ss 表示开始时间
    -t表示共要多少时间。
  • 图片转YUV
    ffmpeg -i pic.jpeg -s 1024x2048 -pix_fmt yuv420p pic.yuv
    yuv转png
    ffmpeg -s 1920x1080 -i input.yuv output.png
    ffplay -f rawvideo -video_size 1920x1080 a.yuv
    还有有很多功能用到再查
    ffmpeg -pix_fmts

博主把获得的pix_fmt列出来,如下:
Pixel formats:
I… = Supported Input  format for conversion
.O… = Supported Output format for conversion
…H… = Hardware accelerated format
…P. = Paletted format
…B = Bitstream format
FLAGS NAME            NB_COMPONENTS BITS_PER_PIXEL

IO… yuv420p                3            12
IO… yuyv422                3            16
IO… rgb24                  3            24
IO… bgr24                  3            24
IO… yuv422p                3            16
IO… yuv444p                3            24
IO… yuv410p                3             9
IO… yuv411p                3            12
IO… gray                   1             8
IO…B monow                  1             1
IO…B monob                  1             1
I…P. pal8                   1             8
IO… yuvj420p               3            12
IO… yuvj422p               3            16
IO… yuvj444p               3            24
…H… xvmcmc                 0             0
…H… xvmcidct               0             0
IO… uyvy422                3            16
… uyyvyy411              3            12
IO… bgr8                   3             8
.O…B bgr4                   3             4
IO… bgr4_byte              3             4
IO… rgb8                   3             8
.O…B rgb4                   3             4
IO… rgb4_byte              3             4
IO… nv12                   3            12
IO… nv21                   3            12
IO… argb                   4            32
IO… rgba                   4            32
IO… abgr                   4            32
IO… bgra                   4            32
IO… gray16be               1            16
IO… gray16le               1            16
IO… yuv440p                3            16
IO… yuvj440p               3            16
IO… yuva420p               4            20
…H… vdpau_h264             0             0
…H… vdpau_mpeg1            0             0
…H… vdpau_mpeg2            0             0
…H… vdpau_wmv3             0             0
…H… vdpau_vc1              0             0
IO… rgb48be                3            48
IO… rgb48le                3            48
IO… rgb565be               3            16
IO… rgb565le               3            16
IO… rgb555be               3            15
IO… rgb555le               3            15
IO… bgr565be               3            16
IO… bgr565le               3            16
IO… bgr555be               3            15
IO… bgr555le               3            15
…H… vaapi_moco             0             0
…H… vaapi_idct             0             0
…H… vaapi_vld              0             0
IO… yuv420p16le            3            24
IO… yuv420p16be            3            24
IO… yuv422p16le            3            32
IO… yuv422p16be            3            32
IO… yuv444p16le            3            48
IO… yuv444p16be            3            48
…H… vdpau_mpeg4            0             0
…H… dxva2_vld              0             0
IO… rgb444le               3            12
IO… rgb444be               3            12
IO… bgr444le               3            12
IO… bgr444be               3            12
IO… ya8                    2            16
IO… bgr48be                3            48
IO… bgr48le                3            48
IO… yuv420p9be             3            13
IO… yuv420p9le             3            13
IO… yuv420p10be            3            15
IO… yuv420p10le            3            15
IO… yuv422p10be            3            20
IO… yuv422p10le            3            20
IO… yuv444p9be             3            27
IO… yuv444p9le             3            27
IO… yuv444p10be            3            30
IO… yuv444p10le            3            30
IO… yuv422p9be             3            18
IO… yuv422p9le             3            18
…H… vda_vld                0             0
IO… gbrp                   3            24
IO… gbrp9be                3            27
IO… gbrp9le                3            27
IO… gbrp10be               3            30
IO… gbrp10le               3            30
I… gbrp16be               3            48
I… gbrp16le               3            48
IO… yuva422p               4            24
IO… yuva444p               4            32
IO… yuva420p9be            4            22
IO… yuva420p9le            4            22
IO… yuva422p9be            4            27
IO… yuva422p9le            4            27
IO… yuva444p9be            4            36
IO… yuva444p9le            4            36
IO… yuva420p10be           4            25
IO… yuva420p10le           4            25
IO… yuva422p10be           4            30
IO… yuva422p10le           4            30
IO… yuva444p10be           4            40
IO… yuva444p10le           4            40
IO… yuva420p16be           4            40
IO… yuva420p16le           4            40
IO… yuva422p16be           4            48
IO… yuva422p16le           4            48
IO… yuva444p16be           4            64
IO… yuva444p16le           4            64
…H… vdpau                  0             0
IO… xyz12le                3            36
IO… xyz12be                3            36
… nv16                   3            16
… nv20le                 3            20
… nv20be                 3            20
IO… rgba64be               4            64
IO… rgba64le               4            64
IO… bgra64be               4            64
IO… bgra64le               4            64
IO… yvyu422                3            16
…H… vda                    0             0
I… ya16be                 2            32
I… ya16le                 2            32
IO… gbrap                  4            32
I… gbrap16be              4            64
I… gbrap16le              4            64
…H… qsv                    0             0
…H… mmal                   0             0
…H… d3d11va_vld            0             0
…H… cuda                   0             0
IO… 0rgb                   3            24
IO… rgb0                   3            24
IO… 0bgr                   3            24
IO… bgr0                   3            24
IO… yuv420p12be            3            18
IO… yuv420p12le            3            18
IO… yuv420p14be            3            21
IO… yuv420p14le            3            21
IO… yuv422p12be            3            24
IO… yuv422p12le            3            24
IO… yuv422p14be            3            28
IO… yuv422p14le            3            28
IO… yuv444p12be            3            36
IO… yuv444p12le            3            36
IO… yuv444p14be            3            42
IO… yuv444p14le            3            42
IO… gbrp12be               3            36
IO… gbrp12le               3            36
IO… gbrp14be               3            42
IO… gbrp14le               3            42
IO… yuvj411p               3            12
I… bayer_bggr8            3             8
I… bayer_rggb8            3             8
I… bayer_gbrg8            3             8
I… bayer_grbg8            3             8
I… bayer_bggr16le         3            16
I… bayer_bggr16be         3            16
I… bayer_rggb16le         3            16
I… bayer_rggb16be         3            16
I… bayer_gbrg16le         3            16
I… bayer_gbrg16be         3            16
I… bayer_grbg16le         3            16
I… bayer_grbg16be         3            16
IO… yuv440p10le            3            20
IO… yuv440p10be            3            20
IO… yuv440p12le            3            24
IO… yuv440p12be            3            24
IO… ayuv64le               4            64
… ayuv64be               4            64
…H… videotoolbox_vld       0             0
I… p010le                 3            15
I… p010be                 3            15
I… gbrap12be              4            48
I… gbrap12le              4            48
I… gbrap10be              4            40
I… gbrap10le              4            40
…H… mediacodec             0             0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值