FFmpeg介绍

🔧 ‌一、FFmpeg 核心定义‌

‌跨平台音视频处理框架‌:开源工具集,支持录制、转换、流化音视频,覆盖几乎所有主流格式(MP4、MKV、AVI、FLV 等)和编解码标准(H.264/AVC、H.265/HEVC、AAC、Opus等)24。

‌核心组件‌:

ffmpeg:音视频转码工具(如格式转换、压缩)47。

ffplay:简易播放器4。

ffprobe:媒体流分析器4。

开发库(如 libavcodec编解码库、libavfilter滤镜库)56。

⚙️ ‌二、核心功能与应用‌

  1. ‌格式转换与压缩‌
    bash
    Copy Code

基础转换(自动匹配编解码器)

ffmpeg -i input.rmvb output.mp4

指定参数转码(H.264视频 + AAC音频)

ffmpeg -i input.avi -c:v libx264 -crf 23 -c:a aac -b:a 192k output.mp4:ml-citation{ref="7,10" data="citationList"}

‌关键参数‌:

-crf:画质控制(18~28为常用范围,值越小画质越高)7。

-b:v:视频比特率(如 -b:v 1000k 压缩体积)7。

  1. ‌高级处理‌

‌视频剪辑‌:截取片段(-ss起始时间 -t持续时间)

bash

Copy Code

ffmpeg -i input.mp4 -ss 00:01:30 -t 10 output_clip.mp4:ml-citation{ref="7,10" data="citationList"}

‌添加滤镜‌:调整分辨率(scale)、旋转(transpose)

bash

Copy Code

ffmpeg -i input.mp4 -vf "scale=640:480,transpose=1" output.mp4:ml-citation{ref="7" data="citationList"}

‌流媒体推流‌:支持 RTMP、HLS 协议

bash

Copy Code

ffmpeg -i input.mp4 -c copy -f flv rtmp://live.example.com/stream:ml-citation{ref="4" data="citationList"}

  1. ‌媒体分析‌

bash

Copy Code

查看视频详细信息(编码格式、分辨率、时长等)

ffprobe -v error -show_format -show_streams input.mp4:ml-citation{ref="4,5" data="citationList"}

📦 ‌三、安装与配置‌

‌Windows‌:官网下载预编译版本,配置环境变量711。

‌Linux/macOS‌:

bash

Copy Code

sudo apt-get install ffmpeg # Debian/Ubuntu

brew install ffmpeg # macOS (Homebrew):ml-citation{ref="1,4" data="citationList"}

⚠️ ‌四、常见问题处理‌

‌DLL缺失错误(Windows)‌:

重新安装 FFmpeg 或修复系统依赖库1314。

使用工具自动修复(如专用 DLL 修复软件)13。

‌编解码器不支持‌:

查看支持的编解码器列表:ffmpeg -codecs79。

安装扩展编码器(如 libx265)后重新编译 FFmpeg6。

💡 ‌五、典型应用场景‌

‌媒体转码‌:老旧格式(如 RMVB)转 MP4/WebM11。

‌直播推流‌:实时转换摄像头输入至 RTMP 服务器4。

‌自动化处理‌:批量转换脚本(Windows 示例):

bat

Copy Code

@echo off

for %%a in (*.rmvb) do ffmpeg -i "%%a" "%%~na.mp4":ml-citation{ref="7" data="citationList"}

FFmpeg 凭借其完备的功能库和命令行灵活性,已成为音视频处理领域的底层基石。掌握基础命令与参数组合,可应对绝大多数媒体处理需求。

相关推荐
xmode10 小时前
centos7.9安装ffmpeg6.1和NASM、Yasm、x264、x265、fdk-aac、lame、opus解码器
ffmpeg·centos
王江奎19 小时前
FFmpeg 升级指北
ffmpeg
雨夜和阳晨1 天前
FFmpeg录制屏幕及声音
ffmpeg
吴声子夜歌1 天前
FFmpeg——基础知识及FFmpeg框架
ffmpeg
aqi002 天前
FFmpeg开发笔记(七十二)Linux给FFmpeg集成MPEG-5视频编解码器EVC
android·ffmpeg·音视频·流媒体
不太会编程的IT男3 天前
在 Jetson Orin 开发套件上使用 Hardware Encoder / Decoder 构建 FFmpeg
ffmpeg·视频编解码·h.264
m0_687399843 天前
写一个Ununtu C++ 程序,调用ffmpeg API, 来判断一个数字电影的视频文件mxf 是不是Jpeg2000?
开发语言·c++·ffmpeg
aqi003 天前
FFmpeg开发笔记(七十一)使用国产的QPlayer2实现双播放器观看视频
android·ffmpeg·音视频·流媒体
Java患者·3 天前
【小白】linux安装ffmpeg | java转码 【超详细】
ffmpeg
suifen_3 天前
RK平台ffmpeg支持硬件编解码
ffmpeg