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
还有有很多功能用到再查