SuperAPI AI 工具集

convert-video

设计与创作

查看项目

更新于 10-15 22:11

技能介绍

用途:处理用户的视频转换与编辑请求,包括格式转换、裁剪片段、变速、缩放、旋转翻转和抽帧。

主要能力与用法:先识别操作类型,再套用对应命令模式;多操作(如裁剪+缩放+转换)应合并到单次 ffmpeg 调用,避免中间文件。流程为:识别操作、按需探测(转换格式时探测编码,缩放时探测尺寸;变速、旋转、翻转、抽帧无需探测)、构造命令、运行前与用户确认、运行后报告输出路径与大小。

格式转换:先探测编码判断 -c copy 是否安全,ffprobe -v quiet -show_streams "$INPUT" | grep codec_name。同编码换容器用 ffmpeg -i input.mkv -c copy output.mp4;需换编码用 ffmpeg -i input.avi -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4。

裁剪:优先用 -c copy 快速裁剪,如 ffmpeg -ss 00:01:30 -to 00:03:45 -i "$INPUT" -c copy "$OUTPUT";若出现音画不同步或需切在非关键帧,再改用重编码。

变速:setpts 系数为 1/倍速,atempo 范围为 0.5–2.0,更高倍速需串联,如 atempo=2.0,atempo=2.0 实现 4 倍;无声视频可省略 -filter:a。

缩放:先探测尺寸,如 scale=1280:-2;限制在边界框内且不放大时用 force_original_aspect_ratio=decrease 配合 pad。

旋转翻转:transpose=1 顺时针 90°,transpose=2 逆时针 90°,两次 transpose=1 为 180°,hflip 水平翻转,vflip 垂直翻转。

抽帧:单帧用 -frames:v 1 -q:v 2;按间隔用 -vf "fps=1/$N"。

关键决策:绝不放大;多滤镜用逗号串联在单个 -vf 中,但 -filter:v 与 -filter:a 须分开;重编码时除非音频格式需变,否则用 -c:a copy;若 ffprobe 发现 rotate 元数据,用 transpose 将旋转写入像素,因 -c copy 只保留元数据不旋转画面。

限制:依赖 ffmpeg 与 ffprobe 环境;具体安装方式、收费与平台支持暂未提供。