write-post-event-highlight-reel-script
将活动笔记转化为社交平台用的简短回顾脚本。
下载 438
基于 FFmpeg 的视频音频处理指令生成工具,支持转码、剪辑、滤镜等操作。
openclaw skills install @liudu2326526/ffmpeg-master命令、参数、文件名以原文为准
适用于专业视频与音频处理的完整指南,基于 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 libx265 | H.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 之后(输出定位)。已收录 1 个 Skill