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/
下载完解压后如图所示:FFMPEG安装及入门
然后配置环境变量,比如e:\ffmpeg20180919\bin,将他加入到系统环境变量中。这样bin下面的ffmpeg.exe就可以在命令行中使用了,可以用ffmpeg -version测试一下。
运行cmd,进入bin目录使用:
FFMPEG安装及入门

常用命令集举例

  • 获取视频的信息
    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

还有有很多功能用到再查