FFmpeg(一) 简介
FFmpeg 官网
FFmpeg 下载
ffmpeg-release-essentials.7z
ffmpeg-release-full-shared.7z
FFmpeg既是一款音视频编解码工具,同时也是一组音社频编解码开发套件
FFmpeg包含
- 多种音视频编码
- 多种协议的流媒体
- 多种色彩格式转换
- 多种采样率转换
- 多种码率转换
- 多种丰富的插件模块
FFmpeg框架的组成
- AVFormat 封装模块
- AVCodec 编解码模块
- AVFilter 滤镜模块
- AVDevice
- AVUtil
- swresample 音频转换计算模块
- swscale 视频图像转换计算模块
ffmpeg.exe 是FFmpeg 源代码编译后生成的一个可执行程序,是FFmpeg的编解码工具,作为命令行工具使用。
使用示例
ffmpeg -i input.mp4 output.avi # 获取输入源input.mp4, 转码, 输出到文件output.avi
ffmpeg -i input.mp4 -f avi output.dat
ffmpeg.exe 的工作流程主要是
- 解封装 (demuxing)
- 解码 (decoding)
- 编码 (encoding)
- 封装 (muxing)
其需要6个步骤
- 读取输入源
- 进行音视频解封装
- 解码每一帧音视频数据
- 编码每一帧音视频数据
- 进行音视频重新封装
- 转出到目标
FFmpeg 还提供了播放器相关功能avformat,avcodec 可以播放各种媒体文件或者流,ffplay 是主要播放器。
ffprobe 是FFmpeg 中的多媒体分析器,可以得到媒体的信息,比如媒体格式,总时长,复合码率,包长度,包类型,帧信息。
FFmpeg的编码器支持可以通过ffmpeg -encoders
查看
FFmpeg的解码器支持可以通过ffmpeg -decoders
查看
FFmpeg的封装支持可以通过ffmpeg -muxers
查看
FFmpeg的解封装支持可以通过ffmpeg -demuxers
查看
其他的可以参考
Print help / information / capabilities:
-L show license
-h <topic> show help
-version show version
-muxers show available muxers
-demuxers show available demuxers
-devices show available devices
-decoders show available decoders
-encoders show available encoders
-filters show available filters
-pix_fmts show available pixel formats
-layouts show standard channel layouts
-sample_fmts show available audio sample formats