学习ffmpeg-从了解开始


前言:从安装开始
LINUX ubuntu版
sudo apt update
sudo apt install ffmpeg
Windows 下载
然后设置环境路径


ffmpeg的基本组成

模块名称功能描述主要用途
AVFormat实现媒体封装格式的处理,支持多种音视频容器格式(如 MP4、AVI、MKV 等)。- 读取和解析音视频文件的容器格式
- 封装和复用音视频流
- 支持流媒体协议(如 RTMP、HTTP)
AVCodec提供音视频编解码器,支持多种编解码格式(如 H.264、AAC、MP3 等)。- 编码音视频数据
- 解码音视频数据
- 支持硬件加速编解码(如 NVENC、VAAPI)
AVFilter提供音视频滤镜处理框架,用于对音视频数据进行处理和转换。- 视频滤镜(如裁剪、旋转、添加水印)
- 音频滤镜(如调整音量、混音)
- 创建复杂的滤镜链
AVDevice提供对音视频设备的访问接口,支持摄像头、麦克风、显示器等设备。- 捕获音视频数据(如从摄像头或麦克风)
- 输出音视频数据(如到显示器或扬声器)
- 列举和控制设备
AVUtil提供通用工具函数,支持数学运算、内存管理、数据结构等。- 提供辅助函数(如哈希计算、时间戳处理)
- 支持像素格式和音频样本格式的转换
- 提供错误处理和日志功能
swscale用于视频图像的缩放和像素格式转换。- 将图像从一种分辨率缩放到另一种分辨率
- 将像素格式从一种转换为另一种(如 YUV 到 RGB)
swresample用于音频的重采样、声道转换和音频格式转换。- 将音频从一种采样率转换为另一种采样率
- 调整声道数(如单声道到立体声)
- 转换音频格式
说明
  • AVFormat:负责处理音视频文件的容器格式,支持多种格式的读取和写入。
  • AVCodec:提供编解码器,支持多种音视频编解码格式。
  • AVFilter:提供音视频滤镜框架,用于处理音视频数据。
  • AVDevice:提供对音视频设备的访问接口,支持设备输入和输出。
  • AVUtil:提供通用工具函数,支持多种辅助功能。
  • swscale:专门用于视频图像的缩放和像素格式转换。
  • swresample:专门用于音频的重采样和格式转换。

ffmpeg的核心组件

工具名称功能描述主要用途
ffmpegFFmpeg 的核心工具,用于多媒体文件的解码、编码、转码及特效添加。其主要工作流程包括解封装、解码、处理、编码和封装。- 音视频编解码
- 格式转换
- 视频剪辑与合并
- 添加视频滤镜和特效
- 性能优化与调试
ffplay基于 FFmpeg 的 avformat 和 avcodec 实现媒体文件或流的播放。依赖于 SDL 库,可以进行音视频显示和播放相关信息的查看。- 播放本地音视频文件
- 播放网络流媒体
- 基本播放控制(暂停、快进等)
- 显示播放信息
ffprobe多媒体分析工具,可从媒体文件或流中获取音频、视频、媒体容器等参数。支持多种输出格式。- 显示多媒体文件的详细信息(如编解码器、帧率、分辨率等)
- 分析音视频流的详细信息
- 输出信息为 JSON、CSV 等格式
- 提取元数据和章节信息

ffmpeg:

功能:核心工具,用于音视频的编解码、转码、格式转换、特效添加等。
工作流程

  • 解封装:从输入文件中提取音视频流。
  • 解码:将压缩的音视频数据解码为原始数据。
  • 处理:对音视频数据进行处理(如裁剪、拼接、添加滤镜等)。
  • 编码:将处理后的音视频数据重新编码。
  • 封装:将编码后的音视频数据封装到输出文件中。
    用途
  • 音视频编解码
  • 格式转换
  • 视频剪辑与合并
  • 添加视频滤镜和特效
  • 性能优化与调试

ffplay:

功能:基于 FFmpeg 的 avformat 和 avcodec 实现媒体文件或流的播放。
特点:

  • 支持多种音视频格式。
  • 提供基本的播放控制功能(如暂停、快进、快退等)。
  • 可以显示音视频的播放信息。

用途

  • 播放本地音视频文件
  • 播放网络流媒体
  • 基本播放控制
  • 显示播放信息

ffprobe:

功能:多媒体分析工具,可从媒体文件或流中获取音频、视频、媒体容器等参数。

特点
支持多种输出格式(如 JSON、CSV、XML)。
可以提取文件的元数据和章节信息。
用途

  • 显示多媒体文件的详细信息(如编解码器、帧率、分辨率等)
  • 分析音视频流的详细信息
  • 输出信息为 JSON、CSV 等格式
  • 提取元数据和章节信息

实战

FFMPEG类型命令查询
FFMPEG常用命令查询
FFPALY常用命令查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值