Donson Intelligent Editing

基于 FFmpeg 的视频音频处理指令生成工具,支持转码、剪辑、滤镜等操作。

已扫描
适合谁
视频编辑人员、多媒体开发工程师
不适合谁
无命令行使用经验的普通用户、仅需简单在线工具的初学者
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @liudu2326526/ffmpeg-master

Skill 说明

命令、参数、文件名以原文为准

FFmpeg 专家指南

适用于专业视频与音频处理的完整指南,基于 FFmpeg 和 FFprobe。

核心概念

FFmpeg 是领先的多媒体框架,能够解码、编码、转码、封装、解封装、流处理、过滤和播放几乎所有人或机器创建的媒体内容。它是一个命令行工具,通过复杂的管道流程(包括解封装器、解码器、滤镜、编码器和封装器)处理音视频流。

常用操作

# 基础转码(MP4 转 MKV)
ffmpeg -i input.mp4 output.mkv

# 更改视频编码格式(使用 H.265/HEVC)
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -c:a copy output.mp4

# 提取音频(不包含视频)
ffmpeg -i input.mp4 -vn -c:a libmp3lame -q:a 2 output.mp3

# 调整视频尺寸/缩放
ffmpeg -i input.mp4 -vf "scale=1280:720" output.mp4

# 截取视频(从第 10 秒开始,持续 30 秒)
ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:30 -c copy output.mp4

# 快速精确截取(仅在剪辑点重新编码时较复杂,因此为保证精度推荐标准重新编码)
ffmpeg -ss 00:00:10 -i input.mp4 -to 00:00:40 -c:v libx264 -crf 23 -c:a aac output.mp4

# 拼接文件(使用解封装器)
# 创建 filelist.txt:file 'part1.mp4' \n file 'part2.mp4'
ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4

# 加快/减慢视频速度(2倍速)
ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4

处理类别与使用场景

编码格式与质量控制

选项使用场景
-c:v libx264标准 H.264 编码(兼容性最佳)
-c:v libx265H.265/HEVC 编码(压缩率与画质表现更优)
-crf [0-51]恒定速率因子(数值越低画质越高,建议值 18-28)
-preset编码速度与压缩效率的权衡(ultrafast、medium、veryslow)
-c:a copy音频无重新编码直接传递(节省时间并保持音质)

滤镜与编辑操作

滤镜使用场景
scale改变分辨率(例如 scale=1920:-1 表示宽度为 1920 自动计算高度)
crop剪裁边缘区域(例如 crop=w:h:x:y
transpose旋转视频(1=顺时针90度,2=逆时针90度)
fps调整帧率(例如 fps=30
drawtext添加文字叠加层或水印
overlay实现画中画效果或图像水印叠加
fade添加淡入/淡出效果(例如 fade=in:0:30 表示前 30 帧渐显)
volume调整音频音量(例如 volume=1.5 表示提升至 150%)
setpts改变视频播放速度(例如 setpts=0.5*PTS 表示加速一倍)
atempo改变音频播放速度但不改变音高(范围 0.5 到 2.0)

信息检查与元数据管理

工具/选项使用场景
ffprobe -v error -show_format -show_streams获取文件详细技术信息
-metadata title="Name"设置全局元数据标签
-map选择特定音视频流(例如 -map 0:v:0 -map 0:a:1

高级应用:复杂滤镜图

当需要处理多个输入源或构建非线性滤镜链时,请使用 filter_complex

# 示例:在右下角添加水印
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=main_w-overlay_w-10:main_h-overlay_h-10" output.mp4

# 示例:垂直堆叠(两个视频)
ffmpeg -i top.mp4 -i bottom.mp4 -filter_complex "vstack=inputs=2" output.mp4

# 示例:水平拼接(两个视频)
ffmpeg -i left.mp4 -i right.mp4 -filter_complex "hstack=inputs=2" output.mp4

# 示例:网格布局(四个视频 2×2)
ffmpeg -i v1.mp4 -i v2.mp4 -i v3.mp4 -i v4.mp4 -filter_complex "[0:v][1:v]hstack=inputs=2[top];[2:v][3:v]hstack=inputs=2[bottom];[top][bottom]vstack=inputs=2" output.mp4

# 示例:淡入淡出过渡(两个片段之间的简单交叉淡化)
# 需要手动计算偏移量,使用 xfade 更佳
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "xfade=transition=fade:duration=1:offset=9" output.mp4

硬件加速支持

平台编码格式命令参数
NVIDIA (NVENC)H.264-c:v h264_nvenc
Intel (QSV)H.264-c:v h264_qsv
Apple (VideoToolbox)H.265-c:v hevc_videotoolbox

限制与错误处理

  • 流映射:对于复杂文件,务必使用 -map 明确指定所需音视频轨道,避免误选。
  • 定位:若需快速定位,请将 -ss 放在 -i 之前(输入定位);若需精准定位,则放在 -i 之后(输出定位)。
  • 容器格式支持:确保输出文件的容器格式(扩展名)支持所选编码格式。
L
@liudu2326526

已收录 1 个 Skill

相关推荐