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的编解码工具,作为命令行工具使用。

使用示例

shell 复制代码
ffmpeg -i input.mp4 output.avi  # 获取输入源input.mp4, 转码, 输出到文件output.avi
ffmpeg -i input.mp4 -f avi output.dat

ffmpeg.exe 的工作流程主要是

  1. 解封装 (demuxing)
  2. 解码 (decoding)
  3. 编码 (encoding)
  4. 封装 (muxing)

其需要6个步骤

  1. 读取输入源
  2. 进行音视频解封装
  3. 解码每一帧音视频数据
  4. 编码每一帧音视频数据
  5. 进行音视频重新封装
  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
相关推荐
活捉一个坏小孩8 天前
Nvidia FFmpeg安装说明
ffmpeg
WF_YL8 天前
如何删除 Oracle 过期 key / 数据,删除目的的key
ffmpeg
浩瀚之水_csdn8 天前
avcodec_find_decoder函数详解
ffmpeg
浩瀚之水_csdn11 天前
avcodec_parameters_copy详解
linux·人工智能·ffmpeg
不吃鱼的猫74815 天前
【ffplay 源码解析系列】02-核心数据结构详解
c++·ffmpeg·音视频
不吃鱼的猫74815 天前
【ffplay 源码解析系列】01-开篇-ffplay整体架构与启动流程
c++·架构·ffmpeg·音视频
REDcker17 天前
FFmpeg开发者快速入门
ffmpeg
不吃鱼的猫74817 天前
【从零手写播放器:FFmpeg 音视频开发实战】04-封装格式与多媒体容器
c++·ffmpeg·音视频
REDcker18 天前
FFmpeg完整文档
linux·服务器·c++·ffmpeg·音视频·c·后端开发
硬汉嵌入式18 天前
QEMU & FFmpeg作者Fabrice Bellard推出MicroQuickJS,一款面向嵌入式系统JavaScript引擎,仅需10K RAM
javascript·ffmpeg·microquickjs