📚 文档中心 ⚙
  • 千川/星图视频无水印下载07-22 18:45
  • 即创直链去水印 技术文档07-22 14:03
  • 某思视频处理07-18 12:56
  • 某思视频处理技术(KT版)07-17 14:37
  • 新片场 / 场选素材 视频评价平台07-15 16:17
  • 抖音私信助手 技术文档06-26 15:00
  • BaiduSpider 核心技术实现与功能亮点详解06-17 17:39
  • 微信助手 — 技术实现与功能亮点06-17 17:36
  • 拼多多(Pinduoduo)接口与技术详解06-15 18:22
  • 豆包技术文档06-15 18:22
  • 聚好麦 AI 客服系统 — 平台对接技术文档06-15 18:21
  • 聚好麦 AI 客服系统 — 平台对接完整技术文档 v3.006-15 16:37
  • 微信视频号视频解密算法详解06-10 15:16
  • 记SQL注入漏洞八道防线,层层设防06-08 17:15
  • 小团队多代理编程工作流:Worktree、任务分工与合并门禁05-26 11:58
▸📁Claude1
  • 安装Claude Code06-08 10:57
▸📁doubao4
  • 豆包关键词拦截 & 爬取07-08 17:06
  • 无印豆包逆向工程完整文档07-07 16:05
  • dola国际版逆向工程完整文档07-07 16:03
  • Doubao Seed Code 路线指南:开源权重、API 模型还是 Coding Plan?05-23 11:40
▾📁ffmpeg2
  • FFmpeg命令行使用教程08-08 12:11
  • FFmpeg 技术教程08-08 12:08
▸📁google1
  • Chrome抓包工具完全掌握(3):高手秘籍!用XHR断点拦截破解前端加密06-08 14:20
▸📁instagram9
  • Instagram-互动接口技术今天 16:33
  • Instagram多账号私信客服管理系统08-08 10:59
  • Instagram 数据采集08-08 10:58
  • Instagram-私信发送自动化08-08 10:43
  • Instagram-用户画像识别系统08-08 10:37
  • Instagram 用户名批量转 UID08-08 10:30
  • Instagram 多账号轮换采集07-23 19:05
  • Instagram 地区博主采集工具07-21 11:46
  • Instagram 网页端行为来获取公开数据07-21 11:45
▸📁wechat1
  • 微信视频号视频解密 —— 从算法到工程实现07-09 11:11
▸📁抖音2
  • JS逆向实战:某音\_\_ac\_signature参数逆向与脚本开发06-08 14:34
  • JS逆向实战:某音a\_bogus参数逆向,从抓包到Python刷播放量脚本全记录06-08 14:32
▸📁电商1
  • 电商PSD模板自动贴图今天 18:29
首页 / FFmpeg命令行使用教程

目录

  • FFmpeg命令行使用教程
  • FFmpeg 完全使用教程
  • 目录
  • 1. 基础入门
  • 1.1 什么是 FFmpeg
  • 1.2 安装方式
  • 先启用 EPEL 和 RPM Fusion
  • 1.3 验证安装
  • 1.4 核心概念速览
  • 2. 命令语法详解
  • 2.1 基本命令格式
  • 2.2 选项位置决定作用范围
  • 选项位置至关重要!
  • 2.3 全局选项
  • 2.4 输入选项
  • 2.5 输出选项(核心参数)
  • 2.5.1 视频输出选项
  • 2.5.2 音频输出选项
  • 2.5.3 通用输出选项
  • 3. 格式与封装
  • 3.1 容器格式速查
  • 3.2 基本格式转换
  • MP4 → MKV(容器切换,不重新编码)
  • MKV → MP4(注意:MP4 不支持某些编码器)
  • 提取音频(MP4 → M4A)
  • 提取视频(去掉音频)
  • AVI → MP4(可能需要重新编码)
  • 3.3 流拷贝模式(-c copy)
  • 速度对比:
  • -c copy:几百 MB/s(仅 IO 限制)
  • 重新编码:10-100 fps(受 CPU 限制)
  • 改变容器格式
  • 裁剪视频片段(使用关键帧精准度)
  • 从 MKV 中删除字幕流
  • 只保留特定流
  • 3.4 元数据操作
  • 查看元数据
  • 设置标题
  • 设置多个元数据
  • 设置音频语言
  • 清除所有元数据
  • 从另一个文件复制元数据
  • 3.5 分片与拼接
  • === 分片:把视频切成片段 ===
  • 按时间切分
  • 按关键帧切分
  • === 拼接(concat):合并多个视频 ===
  • 方法1:concat 分离器(适用于同格式文件)
  • 先创建文件列表 concat_list.txt:
  • file 'part1.mp4'
  • file 'part2.mp4'
  • file 'part3.mp4'
  • 方法2:concat 协议(最快,仅限 MPEG 格式)
  • 方法3:filter_complex(不同格式需要重新编码)
  • 3.6 MP4 优化选项
  • 网络流式播放(moov atom 移到文件开头)
  • 分片 MP4(适合 DASH/HLS)
  • 分片 + 流式 + 空 moov
  • 4. 视频编码
  • 4.1 编码器选择指南
  • 4.2 H.264 (libx264) —— 主力编码器
  • === 基础用法 ===
  • CRF 模式(推荐:恒质量,文件大小不可预测)
  • 码率模式(目标码率,文件大小可预估)
  • 2-pass 码率模式(更高质量的 VBR)
  • CRF 值参考
  • Preset 预设(速度 vs 压缩效率)
  • Tune 调节
  • 针对内容类型优化
  • profile 和 level
  • 确保在旧设备上的兼容性
  • 4.3 H.265/HEVC (libx265)
  • CRF 模式(H.265 的 CRF 与 H.264 不同,28 ≈ H.264 的 23)
  • 高效率预设
  • 10-bit 编码(减少色带)
  • HDR10 编码
  • 4.4 AV1 —— 新一代编码器
  • SVT-AV1(速度最快的 AV1 编码器,推荐)
  • SVT-AV1 preset 范围 0-13(数字越大越快,质量略降)
  • preset 8 = 速度/质量平衡推荐值
  • preset 10-13 = 快速编码
  • preset 4-6 = 高质量归档
  • libaom-av1(Google 参考实现,质量最好但最慢)
  • 4.5 常见编码场景
  • === GIF 制作 ===
  • === WebM(网页视频)===
  • === 导出帧为图片序列 ===
  • === 图片序列合成视频 ===
  • === 纯色/测试视频生成 ===
  • 4.6 编码性能优化
  • 多线程加速
  • 流水线加速(解码/滤镜/编码在独立线程中并行)
  • 降低分辨率加速
  • 5. 音频编码
  • 5.1 音频编码器选择
  • 5.2 AAC 编码(主力音频编码器)
  • 内置 AAC(无外部依赖)
  • 指定 AAC profile
  • 高质量 AAC(内置编码器已大幅改进)
  • libfdk_aac(需编译时启用,非自由软件)
  • AAC 码率建议
  • 5.3 Opus —— 最先进的音频编码器
  • Opus 在 64k 就达到 AAC 128k 的质量
  • Opus 可变码率
  • 提取音频为 Opus
  • 5.4 音频采样率和声道操作
  • 降采样(48kHz → 44.1kHz)
  • 立体声转单声道
  • 提取特定声道(左声道)
  • 双单声道 → 立体声
  • 5.1 → 立体声下混
  • 5.5 无损音频
  • 转码为 FLAC(无损压缩)
  • 提取 CD 原声(WAV → FLAC)
  • FLAC → ALAC(Apple Lossless,M4A 容器)
  • 从视频中提取无损音频
  • 5.6 音量调整
  • 增加音量(2倍)
  • 减小音量(一半)
  • 以分贝为单位调整
  • 响度归一化(EBU R128 标准)
  • 动态响度归一化(测量后再应用)
  • 根据输出的 JSON 结果填入 measured_* 参数
  • 6. 视频滤镜
  • 6.1 滤镜语法基础
  • 单个滤镜
  • 滤镜链(用逗号连接,从左到右处理)
  • filter_complex(多输入/多输出)
  • 查看滤镜文档
  • 6.2 核心视频滤镜
  • 缩放 (scale)
  • 固定分辨率
  • 保持宽高比,指定宽度(-1 = 自动计算)
  • 缩放到指定宽度,但限制最大高度
  • 缩放到一半
  • 强制宽高比(加黑边)
  • 高质量缩放算法
  • 裁剪 (crop)
  • crop=宽:高:x偏移:y偏移
  • 从中心裁剪 1080p → 正方形
  • 裁剪掉上下黑边
  • 自动检测并裁剪黑边
  • 然后使用输出的 crop 值
  • 智能裁剪(自动找内容区域)
  • 帧率 (fps)
  • 设置固定帧率
  • 60fps → 30fps(丢弃一半帧)
  • 24fps → 60fps(补帧,使用帧混合)
  • 运动插值补帧(慢但效果好)
  • 裁剪时间 (trim)
  • 保留 10s-30s 之间的内容(作为滤镜使用,需重新编码)
  • 更好的方式:用 -ss/-t(尽可能保持流拷贝)
  • 旋转与翻转
  • 顺时针旋转 90°
  • transpose 参数:
  • 0 = 逆时针 90° + 垂直翻转
  • 1 = 顺时针 90°
  • 2 = 逆时针 90°
  • 3 = 顺时针 90° + 垂直翻转
  • 任意角度旋转(保持尺寸)
  • 水平翻转
  • 垂直翻转
  • 补边 (pad)
  • 给视频加黑边(1080p 内容在 1920×1080 中居中)
  • 竖屏加左右黑边变横屏
  • 统一定尺寸输出
  • 6.3 颜色与画面调节
  • 亮度、对比度、饱和度
  • 仅调整亮度(-1 到 1)
  • 色相旋转
  • 色彩平衡
  • 曲线调整
  • 转换为灰度
  • 或更简单的方法
  • 6.4 模糊与锐化
  • 高斯模糊
  • 方框模糊
  • 锐化 (unsharp)
  • 参数: lx=5:ly=5:la=1.0:cx=5:cy=5:ca=0.0
  • lx/ly=矩阵大小, la=亮度强度(推荐0.5-1.5)
  • 智能模糊(保留边缘)
  • 6.5 去隔行
  • yadif(最常用)
  • yadif 模式
  • bwdif(更好的去隔行)
  • nnedi(神经网络去隔行,质量最好但慢)
  • 6.6 多画面合成 (filter_complex)
  • === 画中画 ===
  • overlay=x:y —— 小画面位置(右下角)
  • === 画面叠加(透明通道)===
  • overlay 时间控制
  • === 并排显示 ===
  • === 上下堆叠 ===
  • === 2×2 四分屏 ===
  • === 淡入淡出 ===
  • 前5秒淡入
  • 最后5秒淡出
  • 交叉淡入淡出(两段视频过渡)
  • 6.7 速度调节
  • 2倍速(视频+音频)
  • 0.5倍速(慢放)
  • PTS 倍数:0.5=2倍速, 2.0=0.5倍速
  • atempo 范围:0.5~2.0(超范围可链式使用:atempo=2.0,atempo=2.0 = 4倍速)
  • 6.8 文本与绘图
  • 绘制文本水印
  • 含时间戳的文本
  • 中文字体指定
  • 绘制矩形(边框)
  • 绘制网格
  • 7. 音频滤镜
  • 7.1 常用音频滤镜
  • 音量调节
  • 声道操作
  • 均衡器
  • f=频率(Hz), t=q(滤波类型), w=宽度, g=增益(dB)
  • 低音增强
  • 动态压缩(减少音量差异)
  • 高通/低通滤波
  • 速度/音调调节
  • 延迟
  • 只延迟右声道(声道0延迟0,声道1延迟500ms)
  • 淡入淡出
  • 回声
  • 7.2 多音轨处理
  • 混合两个音频源
  • amix 参数:duration=first|shortest|longest
  • 合并两个单声道为立体声
  • 分离声道为独立文件
  • 8. 字幕处理
  • 8.1 字幕类型
  • 8.2 字幕操作
  • === 烧录字幕(硬编码到视频)===
  • SRT 字幕
  • ASS 字幕(保留样式)
  • 指定字体目录
  • 字幕样式覆盖(SRT)
  • === 封装字幕(软字幕,可开关)===
  • 添加 SRT 字幕到 MKV
  • MKV 更适合软字幕(支持更多格式)
  • === 提取字幕 ===
  • 从 MKV 提取字幕流(图形字幕)
  • === 移除字幕 ===
  • 8.3 多字幕轨道管理
  • 保留特定字幕轨道
  • 合并多条字幕
  • 设置默认字幕轨
  • 9. 硬件加速
  • 9.1 硬件加速平台
  • 9.2 NVIDIA NVENC(最常见场景)
  • 查看 NVIDIA 编码器支持
  • H.264 硬件编码
  • HEVC 硬件编码
  • NVENC 参数说明:
  • -preset: p1(最快)~p7(最慢最好), 默认 p4
  • -cq: 恒质量 0-51(类似 CRF)
  • -qp: 恒定量化参数(完全恒定码率)
  • -b:v: 码率控制模式
  • 硬件解码 + 硬件编码(最快转码)
  • 9.3 Intel QSV
  • 查看 Intel QSV 支持
  • H.264 QSV 转码
  • HEVC QSV
  • 9.4 AMD AMF
  • AMD 显卡加速
  • 9.5 VA-API (Linux)
  • Linux VA-API
  • 9.6 Apple VideoToolbox (macOS)
  • macOS 硬件加速
  • 9.7 硬件加速滤镜
  • GPU 缩放(NVENC + CUDA 缩放)
  • GPU 去隔行
  • Vulkan 滤镜(9.0+)
  • 10. 流媒体与网络
  • 10.1 网络输入/输出
  • 从网络 URL 读取
  • RTMP 推流
  • RTSP 拉流
  • UDP 推流(MPEG-TS)
  • SRT 推流(安全可靠传输)
  • HLS 直播输出
  • 10.2 录制直播流
  • 录制 RTMP 流
  • 录制 HLS 流
  • 定时分段录制
  • 10.3 转码推流
  • 实时转码推流
  • HEVC 推流(HEVC over RTMP)
  • 多码率转码(适合 HLS/DASH 自适应流)
  • 10.4 屏幕录制/摄像头采集
  • ===== Linux =====
  • 屏幕录制 (X11)
  • 屏幕+音频
  • ===== Windows =====
  • DirectShow 屏幕录制
  • 特定窗口
  • ===== macOS =====
  • AVFoundation 屏幕录制
  • 摄像头录制 (Linux V4L2)
  • 摄像头录制 (Windows DirectShow)
  • 摄像头录制 (macOS AVFoundation)
  • 11. ffprobe 媒体分析
  • 11.1 基本用法
  • 查看文件基本信息
  • 隐藏横幅
  • 仅显示错误
  • 显示每个流的信息
  • 显示格式/容器信息
  • 显示所有包(非常大,调试用)
  • 显示所有帧信息(极大)
  • 11.2 结构化输出
  • JSON 格式(推荐用于脚本解析)
  • XML 格式
  • 扁平键值对
  • CSV(便于导入表格)
  • INI 格式
  • 11.3 选择性提取
  • 只显示特定条目
  • 只显示视频流信息
  • 只显示音频流
  • 获取时长(秒)
  • 获取视频分辨率
  • 11.4 脚本中实用示例
  • 批量检查视频时长
  • 检查视频是否包含音频流
  • 获取关键帧位置
  • 获取 GOP 信息
  • 11.5 帧级分析(高级)
  • 分析每帧大小(检测场景变化)
  • 检测黑帧
  • 检测静音片段
  • 12. ffplay 播放器
  • 12.1 基本用法
  • 播放文件
  • 循环播放
  • 全屏播放
  • 指定窗口标题
  • 静音播放
  • 只播放音频(不显示窗口)
  • 12.2 控制参数
  • 从指定位置开始播放
  • 指定音量
  • 播放时应用滤镜
  • 指定输出分辨率(缩放播放)
  • 固定帧率播放
  • 12.3 键盘快捷键
  • 12.4 交互模式
  • 播放时显示更多信息
  • 低速/快速播放预览
  • 作为预览工具(验证 ffmpeg 滤镜效果)
  • 13. 实用场景大全
  • 13.1 视频编辑类
  • ===== 裁剪片段(不重新编码)=====
  • ===== 精确帧裁剪(重新编码)=====
  • ===== 合并视频 =====
  • 准备 filelist.txt:
  • file 'part1.mp4'
  • file 'part2.mp4'
  • ===== 视频去音频 =====
  • ===== 替换音频 =====
  • ===== 分离音视频 =====
  • ===== 视频静音 =====
  • ===== 反转视频 =====
  • ===== 垂直视频转水平(加模糊背景)=====
  • 13.2 压缩与优化类
  • ===== 大幅压缩视频(保持质量)=====
  • ===== 极限压缩 =====
  • ===== 目标文件大小 =====
  • 如要求输出文件为 10MB,时长 120 秒,音频 128k
  • 视频码率 = (10*1024*8 - 128*120) / 120 = 554 kbps
  • ===== 减小 GIF 大小 =====
  • 13.3 社交媒体优化
  • ===== Instagram 正方形视频 (1:1) =====
  • ===== TikTok/Reels 竖屏 (9:16) =====
  • ===== YouTube 推荐设置 =====
  • 1080p60
  • 4K
  • 13.4 分析与调试
  • ===== 生成视频质量报告(PSNR/SSIM)=====
  • ===== 查看编码器参数详情 =====
  • ===== 对比原始/压缩视频 =====
  • ===== 提取运动矢量 =====
  • ===== 检查 GOP 结构 =====
  • ===== 创建缩略图预览 =====
  • 13.5 批量处理
  • ===== 批量转码 MP4 → MKV =====
  • ===== 批量压缩视频 =====
  • ===== 批量提取音频 =====
  • ===== 批量添加水印 =====
  • ===== 批量生成缩略图 =====
  • 13.6 特殊格式处理
  • ===== 视频 → GIF =====
  • ===== GIF → 视频 =====
  • ===== 视频 → APNG(动图)=====
  • ===== PNG 序列 → 视频 =====
  • ===== 图片 + 音频 → 视频 =====
  • ===== 音频可视化 =====
  • ===== 5.1 环绕声测试文件 =====
  • 14. 常见问题排查
  • 14.1 问题与解决方案
  • 问题1:输出文件无法播放
  • 解决方案:确保使用广泛兼容的参数
  • 问题2:音视频不同步
  • 方法1:重新同步
  • 方法2:固定延迟
  • 方法3:提取+合并修复
  • 然后用 ffmpeg 重新合并
  • 问题3:编码速度太慢
  • 使用更快的 preset
  • 使用硬件编码器(不看重体积的话)
  • 跳过滤镜处理
  • 问题4:画质差/块状
  • 降低 CRF
  • 提高码率
  • 使用更好的预设
  • 问题5:透明度丢失
  • 解决方案:使用支持 Alpha 通道的编码器
  • 常见选择:
  • - ProRes 4444(专业):-c:v prores_ks -profile:v 4
  • - VP9 + WebM(网页):-c:v libvpx-vp9 -pix_fmt yuva420p
  • - PNG 序列:frame_%04d.png
  • 问题6:Unsupported codec
  • 查看支持的编解码器
  • 检查是否需要重新编译或安装额外包
  • 14.2 调试命令模板
  • 完整调试信息
  • 只转码前几秒测试
  • 测试滤镜效果(用 ffplay 预览)
  • 查看完整滤镜链对像素格式的影响
  • 码率分析
  • 附录:快速参考卡片
  • 最常用命令 Top 20
  • 1. 格式转换(不重新编码)
  • 2. H.264 高质量压缩
  • 3. 裁剪片段
  • 4. 缩放视频
  • 5. 提取音频
  • 6. 合并视频(同格式)
  • 7. 添加水印(右下角)
  • 8. 视频转 GIF
  • 9. GIF 优化版
  • 10. 查看文件信息
  • 11. 淡入淡出
  • 12. 加减速
  • 13. 图片+音频→视频
  • 14. 批量截图(每10秒)
  • 15. 去音频
  • 16. 替换音频
  • 17. 音量加倍
  • 18. 旋转视频
  • 19. 网络优化(MP4)
  • 20. 查看支持的格式/编码器
  • 滤镜链速查