ffmpeg使用入门

1. ffmpeg是什么:

FFmpeg是一款音视频编解码工具,也是一组音视频编解码开发套件,为开发者提供了丰富的音视频处理调用接口。

FFmpeg源代码编译后会生成三个可执行程序,分别是:ffmpeg、ffplay、ffprobe,

这三个也成为FFmpeg三剑客,各有各的作用。

(1)ffmpeg:

ffmpeg主要是多媒体的编解码工具,具体功能主要包括视频裁剪、去除水印、添加logo、提取封面、提取音频、提取视频等功能。

(2)ffplay:

ffplay提供了音视频显示和播放相关的图像信息,音频的波形信息等。简而言之就是一个播放器。

(3)ffprobe:

ffprobe是多媒体分析工具,比如音视频的参数、媒体容器的参数信息等。也可以分析媒体文件中每个包的长度、包的类型、帧的信息等。

2. ffmpeg编译和安装:

macOS下安装步骤:

(1)下载源码:

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg

(2)编译:

执行以下三步:

复制代码
./configure --prefix=/usr/local/ffmpeg --enable-debug=3
make -j4
sudo make install

configure支持的配置选项可以通过 ./configure --help 查看,如:

(3)编译产物:

(4)macOS需要安装依赖项:

  1. yasm:
    下载地址:
    http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
    下载完成后解压,执行三步:

    ./configure
    make
    make install

  2. sdl库:
    ffplay的编译需要依赖于sdl库,使用Homebrew安装:

    brew install sdl2

安装sdl之后,重新执行ffmpeg的编译步骤后即可编译出ffplay。

Linux下编译安装 参考:
https://zhuanlan.zhihu.com/p/637822560

相关推荐
都非拉得6 小时前
FFmpeg命令详解
ffmpeg
cuijiecheng20187 小时前
音视频入门基础:MPEG2-TS专题(26)——通过FFmpeg命令使用RTP发送TS流
ffmpeg·音视频
Yeauty15 小时前
Rust 中的高效视频处理:利用硬件加速应对高分辨率视频
开发语言·rust·ffmpeg·音视频·音频·视频
winfredzhang17 小时前
Python视频标签工具详解:基于wxPython和FFmpeg的实现
python·ffmpeg·音视频·视频标签
Yeauty2 天前
从0到1:Rust 如何用 FFmpeg 和 OpenGL 打造硬核视频特效
rust·ffmpeg·音视频
witton3 天前
MinGW下编译ffmpeg源码时生成compile_commands.json
ffmpeg·json·makefile·mingw·调试·compile_command·remake
用户96715113916723 天前
从0到1:Rust 如何用 FFmpeg 和 OpenGL 打造硬核视频特效
rust·ffmpeg
小小码农Come on3 天前
ffmpeg滤镜使用
ffmpeg
喵手3 天前
Java实现视频格式转换的完整指南:从FFmpeg到纯Java方案!
java·开发语言·ffmpeg