FFmpeg 是全球最主流、最强大、跨平台、开源免费的音视频处理工具集与开发库。
它能完成:录制、转码、剪辑、解封装、封装、解码、编码、滤镜、推流、拉流、截图等几乎所有音视频操作。
FFmpeg 完整介绍|开发者专用 + 调用指南 + 开发板部署使用
🎥 FFmpeg 介绍(开发者版)
FFmpeg 是全球最主流、最强大、跨平台、开源免费的音视频处理工具集与开发库。
它能完成:录制、转码、剪辑、解封装、封装、解码、编码、滤镜、推流、拉流、截图等几乎所有音视频操作。
官方网站:https://ffmpeg.org/
源码地址:https://github.com/FFmpeg/FFmpeg
协议:LGPL/GPL(可商用需注意协议)
支持平台:Windows / Linux / macOS / Android / iOS / ARM 开发板

🚀 核心能力(开发者必看)
- 支持几乎所有音视频格式
MP4、FLV、MKV、MOV、AVI、MP3、AAC、H.264、H.265(HEVC)、AV1、VP9 等 - 解封装 / 封装(分离/合成音视频)
- 解码 / 编码(硬件解码支持:CUDA / QSV / ARM NEON)
- 实时流媒体
RTSP / RTMP / HTTP-FLV / HLS / WebRTC - 视频处理
裁剪、旋转、缩放、水印、滤镜、变速、拼接 - 音频处理
重采样、降噪、混音、音量调整、格式转换 - 截图/动图/预览图生成
- 适用于服务器、客户端、嵌入式、开发板
🧑💻 开发者如何调用 FFmpeg
一、命令行调用(最简单、最常用)
适合:快速转码、测试、脚本、自动化处理
# 视频转码
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4
# 提取音频
ffmpeg -i input.mp4 -vn output.aac
# 截图
ffmpeg -i input.mp4 -ss 00:00:05 -vframes 1 screenshot.jpg
# RTSP 拉流
ffmpeg -i rtsp://admin:123456@192.168.1.100 -c copy output.flv
二、Python 调用(最适合快速开发)
1. ffmpeg-python(官方风格封装)
import ffmpeg
stream = ffmpeg.input("input.mp4")
stream = ffmpeg.output(stream, "output.mp4", vcodec="libx264", acodec="aac")
ffmpeg.run(stream)
2. subprocess 直接调用(最稳定)
import subprocess
cmd = [
"ffmpeg", "-i", "input.mp4",
"-c:v", "libx264", "-c:a", "aac", "output.mp4",
"-y"
]
subprocess.run(cmd)
三、C/C++ 调用(底层开发、高性能)
FFmpeg 提供 4 大核心库:
- libavformat:解封装、封装
- libavcodec:编解码
- libavutil:工具库
- libswscale / libavfilter:图像转换、滤镜
典型流程:
打开文件 → 读取流 → 查找解码器 → 解码 → 处理 → 编码 → 封装 → 输出
📦 开发板如何使用 FFmpeg(重点!)
支持:
RK3568 / RK3588 / Jetson Nano / Xavier / Orange Pi / Raspberry Pi / 全志 ARM
1. 开发板安装 FFmpeg(最简单)
sudo apt update
sudo apt install ffmpeg -y
2. 开发板使用 FFmpeg 典型场景
A. 摄像头 RTSP 拉流 + 转码
ffmpeg -i rtsp://192.168.1.100 -c:v h264 -f flv rtmp://server/live/stream
B. 硬件解码(RK3588 / Jetson 支持)
ffmpeg -c:v h264_rkmpp -i input.mp4 output.mp4
C. 视频推流到服务器
ffmpeg -re -i input.mp4 -c copy -f flv rtmp://192.168.1.50/live/stream
D. 实时截图
ffmpeg -i rtsp://camera -ss 0:0:1 -vframes 1 -q:v 2 img.jpg
📌 开发板使用 FFmpeg 优势
- 极低占用(ARM 也能流畅跑)
- 支持硬件编解码(RK / Jetson 超强)
- 可 7×24 小时运行
- 适合做视频网关、流媒体、AI 视频预处理
- 可做开机自启服务
📌 适合开发板的典型项目
- RTSP 转 WebRTC
- RTSP 转 HLS / FLV
- 多路视频合并
- 定时截图、AI 识别前预处理
- 低延迟直播转发服务
- 本地录像存储
📥 总结(极简版)
FFmpeg 是音视频领域的底层标准工具,任何与声音、视频相关的开发都离不开它。
- 命令行:快速使用
- Python:快速开发
- C/C++:高性能底层
- 开发板:支持所有 ARM,可硬件编解码,适合流媒体、AI 视觉、监控、网关类项目
✅ FFmpeg API 开发完整示例代码(C/C++)
✅ Python 音视频处理项目模板
✅ 开发板 开机自启脚本
✅ RTSP/RTMP 低延迟部署方案
🎯 同一目录下 FFmpeg 转换命令(直接复制即用)
下面所有命令,只需要改输入文件名、输出文件名,其他不用动!
📌 1. 视频通用转换(MP4 → 标准 MP4)
最常用:修复无法播放的视频、压缩视频
ffmpeg -i 输入.mp4 -c:v libx264 -c:a aac 输出.mp4 -y
📌 2. 视频转音频(提取声音)
MP4 → MP3 / AAC / WAV
ffmpeg -i 输入.mp4 -vn 输出.mp3 -y
ffmpeg -i 输入.mp4 -vn 输出.aac -y
ffmpeg -i 输入.mp4 -vn 输出.wav -y
📌 3. 音频格式互转
MP3 ↔ WAV ↔ AAC ↔ OGG 互转
ffmpeg -i 输入.mp3 输出.wav -y
ffmpeg -i 输入.wav 输出.mp3 -y
ffmpeg -i 输入.mp3 输出.ogg -y
📌 4. 视频压缩(变小、清晰)
ffmpeg -i 输入.mp4 -b:v 1M -c:a aac 压缩后.mp4 -y
📌 5. 视频截取一段(从第5秒开始,截10秒)
ffmpeg -ss 5 -t 10 -i 输入.mp4 -c copy 片段.mp4 -y
📌 6. 视频截图(第5秒截一张图)
ffmpeg -ss 5 -i 输入.mp4 -vframes 1 截图.jpg -y
📌 7. 视频旋转 90°
ffmpeg -i 输入.mp4 -vf "transpose=1" 旋转后.mp4 -y
📌 8. 视频调整音量
音量减半
ffmpeg -i 输入.mp4 -filter:a "volume=0.5" 低音量.mp4 -y
音量加倍
ffmpeg -i 输入.mp4 -filter:a "volume=2.0" 高音量.mp4 -y
📌 9. 视频去声音(静音)
ffmpeg -i 输入.mp4 -an 静音视频.mp4 -y
📌 10. 多个视频合并(同编码)
- 新建
list.txt
内容:file 1.mp4 file 2.mp4 file 3.mp4 - 运行命令:
ffmpeg -f concat -safe 0 -i list.txt -c copy 合并完成.mp4 -y
✅ 最关键说明(你必须看)
- ffmpeg.exe 必须和视频放在同一个文件夹
- 命令里的 输入.mp4 改成你真实的文件名
- -y 是自动覆盖文件,不用手动确认
- 直接 双击运行.bat 也可以用
🚀 如果你想一键双击运行
新建一个文本文件,输入:
ffmpeg -i 输入.mp4 -vn 输出.mp3 -y
pause
然后把后缀改成 run.bat,双击即可自动转换!
未经允许不得转载作者:
GRUD,
转载或复制请以
超链接形式
并注明出处
科技之星网站 。
原文地址:
《
FFmpeg 完整介绍|开发者专用 + 调用指南 + 开发板部署使用》
发布于
2026-5-26
(禁止商用或其它牟利行为)版权归原作者本人所有,您必须在下载后24小时内删除, 感谢您的理解与合作
文章标题:FFmpeg 完整介绍|开发者专用 + 调用指南 + 开发板部署使用
文章链接:https://www.kejizhixing.com/post-1801.html
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明来自GRUD !















评论 抢沙发
评论前必须登录!
立即登录 注册