FFmpeg Processor Skill
FFmpeg 视频/音频处理工具,提供丰富的媒体处理功能。
功能特性
🎥 格式转换
- MP4 / WebM / AVI / MOV / MKV 互转
- 视频转 GIF
- 视频转 MP3 / AAC / WAV / FLAC
✂️ 视频编辑
- 裁剪视频
- 调整尺寸
- 调整速度
- 旋转视频
- 提取视频帧
📦 视频处理
📊 媒体信息
使用方法
Python API
from skills.ffmpeg_processor import FFmpegProcessor
ff = FFmpegProcessor()
# 检查 FFmpeg 是否可用
print(f"FFmpeg 可用: {ff.check_ffmpeg()}")
# 格式转换
ff.to_mp4('input.avi', 'output.mp4')
ff.to_mp3('input.mp4', 'output.mp3')
# 获取媒体信息
info = ff.get_video_info('video.mp4')
print(f"分辨率: {info['video_resolution']}")
print(f"时长: {info['duration']}秒")
# 裁剪视频
ff.trim_video('input.mp4', 'output.mp4',
start_time='00:00:10',
duration='00:00:30')
# 调整尺寸
ff.resize_video('input.mp4', 'output.mp4', 1280, 720)
# 视频转 GIF
ff.video_to_gif('input.mp4', 'output.gif', fps=15)
# 添加水印
ff.add_watermark('input.mp4', 'output.mp4',
'logo.png', position='br')
# 提取帧
frames = ff.extract_all_frames('video.mp4', 'frames/', fps=1)
API 参考
FFmpegProcessor 类
初始化
FFmpegProcessor(ffmpeg_path='ffmpeg', ffprobe_path='ffprobe')
检查与信息
check_ffmpeg() - 检查 FFmpeg 是否可用
get_file_info(filepath) - 获取文件详细信息
get_video_info(filepath) - 获取视频信息
get_ffmpeg_version() - 获取 FFmpeg 版本
格式转换
convert_format(input, output, video_codec, audio_codec, ...) - 通用格式转换
to_mp4(input, output, codec) - 转换为 MP4
to_webm(input, output, codec) - 转换为 WebM
to_avi(input, output, codec) - 转换为 AVI
to_mp3(input, output, bitrate) - 转换为 MP3
to_aac(input, output, bitrate) - 转换为 AAC
视频编辑
resize_video(input, output, width, height, keep_aspect_ratio) - 调整尺寸
trim_video(input, output, start_time, duration, end_time) - 裁剪视频
extract_frame(input, output, time) - 提取单帧
extract_all_frames(input, output_dir, format, fps) - 提取所有帧
change_speed(input, output, speed) - 调整速度
rotate_video(input, output, rotation) - 旋转视频
视频处理
video_to_gif(input, output, fps, width) - 视频转 GIF
create_video_from_images(image_dir, output, pattern, fps) - 从图片创建视频
add_watermark(input, output, watermark, position, opacity) - 添加水印
add_subtitle(input, output, subtitle_path) - 添加字幕
merge_videos(file_list, output, use_concat_demuxer) - 合并视频
音频处理
extract_audio(input, output, codec, bitrate) - 提取音频
1---2name: ffmpeg-processor3description: FFmpeg 视频/音频处理工具 - 格式转换、裁剪、合并、水印、字幕、GIF转换等4---56# FFmpeg Processor Skill78FFmpeg 视频/音频处理工具,提供丰富的媒体处理功能。910## 功能特性1112### 🎥 格式转换13- MP4 / WebM / AVI / MOV / MKV 互转14- 视频转 GIF15- 视频转 MP3 / AAC / WAV / FLAC1617### ✂️ 视频编辑18- 裁剪视频19- 调整尺寸20- 调整速度21- 旋转视频22- 提取视频帧2324### 📦 视频处理25- 合并多个视频26- 添加水印27- 添加字幕28- 图片合成视频2930### 📊 媒体信息31- 获取视频信息32- 获取音频信息33- 获取格式信息3435## 使用方法3637### Python API3839```python40from skills.ffmpeg_processor import FFmpegProcessor4142ff = FFmpegProcessor()4344# 检查 FFmpeg 是否可用45print(f"FFmpeg 可用: {ff.check_ffmpeg()}")4647# 格式转换48ff.to_mp4('input.avi', 'output.mp4')49ff.to_mp3('input.mp4', 'output.mp3')5051# 获取媒体信息52info = ff.get_video_info('video.mp4')53print(f"分辨率: {info['video_resolution']}")54print(f"时长: {info['duration']}秒")5556# 裁剪视频57ff.trim_video('input.mp4', 'output.mp4', 58 start_time='00:00:10', 59 duration='00:00:30')6061# 调整尺寸62ff.resize_video('input.mp4', 'output.mp4', 1280, 720)6364# 视频转 GIF65ff.video_to_gif('input.mp4', 'output.gif', fps=15)6667# 添加水印68ff.add_watermark('input.mp4', 'output.mp4', 69 'logo.png', position='br')7071# 提取帧72frames = ff.extract_all_frames('video.mp4', 'frames/', fps=1)73```7475## API 参考7677### FFmpegProcessor 类7879#### 初始化80```python81FFmpegProcessor(ffmpeg_path='ffmpeg', ffprobe_path='ffprobe')82```8384#### 检查与信息85- `check_ffmpeg()` - 检查 FFmpeg 是否可用86- `get_file_info(filepath)` - 获取文件详细信息87- `get_video_info(filepath)` - 获取视频信息88- `get_ffmpeg_version()` - 获取 FFmpeg 版本8990#### 格式转换91- `convert_format(input, output, video_codec, audio_codec, ...)` - 通用格式转换92- `to_mp4(input, output, codec)` - 转换为 MP493- `to_webm(input, output, codec)` - 转换为 WebM94- `to_avi(input, output, codec)` - 转换为 AVI95- `to_mp3(input, output, bitrate)` - 转换为 MP396- `to_aac(input, output, bitrate)` - 转换为 AAC9798#### 视频编辑99- `resize_video(input, output, width, height, keep_aspect_ratio)` - 调整尺寸100- `trim_video(input, output, start_time, duration, end_time)` - 裁剪视频101- `extract_frame(input, output, time)` - 提取单帧102- `extract_all_frames(input, output_dir, format, fps)` - 提取所有帧103- `change_speed(input, output, speed)` - 调整速度104- `rotate_video(input, output, rotation)` - 旋转视频105106#### 视频处理107- `video_to_gif(input, output, fps, width)` - 视频转 GIF108- `create_video_from_images(image_dir, output, pattern, fps)` - 从图片创建视频109- `add_watermark(input, output, watermark, position, opacity)` - 添加水印110- `add_subtitle(input, output, subtitle_path)` - 添加字幕111- `merge_videos(file_list, output, use_concat_demuxer)` - 合并视频112113#### 音频处理114- `extract_audio(input, output, codec, bitrate)` - 提取音频