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

相关推荐
心动啊1217 小时前
FFMPeg在Python中的使用
ffmpeg
猿小路13 小时前
视频流熟知
ffmpeg·h.264
chen_22713 小时前
动态桌面方案
c++·qt·ffmpeg·kanzi
GeniuswongAir1 天前
苹果电脑上启动一个 RTSP 推流,用来做测试
ffmpeg
Benny的老巢1 天前
n8n工作流通过Execute Command用FFmpeg处理音频,报错 stderr maxBuffer length exceeded的解决方案
ffmpeg·音频合成·n8n·n8n工作流·execute command
七夜zippoe3 天前
Spring Data JPA原理与实战 Repository接口的魔法揭秘
java·ffmpeg·事务·jpa·repository
Benny的老巢3 天前
n8n工作流中FFmpeg 视频截取失败排查:文件路径和参数顺序错误解决方案
chrome·ffmpeg·音视频
RockWang.3 天前
【配置】FFmpeg配置环境ubuntu踩坑记录。
ffmpeg
王者鳜錸4 天前
Java使用FFmpeg获取音频文件时长:完整实现与原理详解
java·开发语言·ffmpeg·音频时长
桃杬4 天前
用现代 C++ 封装 FFmpeg:从摄像头采集到 H.264 编码的完整实践
c++·ffmpeg·h.264