FFmpeg 完整介绍|开发者专用 + 调用指南 + 开发板部署使用

FFmpeg 完整介绍|开发者专用 + 调用指南 + 开发板部署使用

FFmpeg 完整介绍|开发者专用 + 调用指南 + 开发板部署使用 GRUD

发表文章数:918

开通31天会员

月费会员折扣、会员尊享资源。

开通31天会员

开通90天会员

季费会员折扣、会员尊享资源。

开通90天会员

开通365天会员

年费会员折扣、会员尊享资源。

开通365天会员
摘要:

FFmpeg 是全球最主流、最强大、跨平台、开源免费的音视频处理工具集与开发库。
它能完成:录制、转码、剪辑、解封装、封装、解码、编码、滤镜、推流、拉流、截图等几乎所有音视频操作。

FFmpeg 完整介绍|开发者专用 + 调用指南 + 开发板部署使用

🎥 FFmpeg 介绍(开发者版)

FFmpeg 是全球最主流、最强大、跨平台、开源免费的音视频处理工具集与开发库。
它能完成:录制、转码、剪辑、解封装、封装、解码、编码、滤镜、推流、拉流、截图等几乎所有音视频操作。

FFmpeg 完整介绍|开发者专用 + 调用指南 + 开发板部署使用

官方网站https://ffmpeg.org/
源码地址https://github.com/FFmpeg/FFmpeg
协议:LGPL/GPL(可商用需注意协议)
支持平台:Windows / Linux / macOS / Android / iOS / ARM 开发板
FFmpeg 完整介绍|开发者专用 + 调用指南 + 开发板部署使用

🚀 核心能力(开发者必看)

  • 支持几乎所有音视频格式
    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

一、命令行调用(最简单、最常用)

适合:快速转码、测试、脚本、自动化处理

# 视频转码
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. 多个视频合并(同编码)

  1. 新建 list.txt
    内容:
    file 1.mp4
    file 2.mp4
    file 3.mp4
  2. 运行命令:
    ffmpeg -f concat -safe 0 -i list.txt -c copy 合并完成.mp4 -y

✅ 最关键说明(你必须看)

  1. ffmpeg.exe 必须和视频放在同一个文件夹
  2. 命令里的 输入.mp4 改成你真实的文件名
  3. -y 是自动覆盖文件,不用手动确认
  4. 直接 双击运行.bat 也可以用

🚀 如果你想一键双击运行

新建一个文本文件,输入:

ffmpeg -i 输入.mp4 -vn 输出.mp3 -y
pause

然后把后缀改成 run.bat,双击即可自动转换!

未经允许不得转载作者: GRUD, 转载或复制请以 超链接形式 并注明出处 科技之星网站
原文地址: 《 FFmpeg 完整介绍|开发者专用 + 调用指南 + 开发板部署使用》 发布于 2026-5-26


扫描二维码,在手机上阅读
资源下载
抱歉,下载地址 评论 后刷新可见
收藏
    文章目录


      分享到:
      打赏

      评论 抢沙发

      评论前必须登录!

        注册

      觉得文章有用就打赏一下文章作者

      支付宝扫一扫打赏

      微信扫一扫打赏

      本站原创软件板块
      主要采用主流编程语言进行软件与系统开发,同时持续钻研新型开发语言、技术架构及AI相关领域,坚持自我迭代精进,专注发布纯净无捆绑的软件及系统产品。

      站点资源审核机制调整公告

      尊敬的各位注册用户: 为保障站点资源质量,营造安全、有序、纯净的资源共享环境,本站所有资源均经过人工严格审核,审核通过后方可提供下载服务,确保每一份资源的安全性与可用性,切实维护全体用户的合法权益。 近期,站点出现恶意刷存在感、发布无效内容、干扰站点正常运营及其他影响用户体验的不良行为,严重破坏了站点生态。为遏制此类行为,保障多数用户的正常使用权益,本站长已正式开启严格资源审核机制。 本次审核机制调整后,将进一步提升审核标准,延长审核周期(具体审核时长将根据资源类型、数量动态调整),对所有提交的资源进行更细致的核查,坚决杜绝无效、违规、恶意内容上线。 请各位用户理解并配合本次审核机制调整,合理提交合规、有效的资源,共同维护站点的良好秩序。审核期间给您带来的下载延迟,我们深表歉意,也感谢您的耐心等待与支持。 后续我们将持续优化审核流程,在严格审核的同时,尽量缩短审核时长,为大家提供更优质、更安全的资源服务。 特此公告。 本站管理团队 有任何问题Q群留言:561116458
      我已阅读