SuperAPI AI 工具集

video-to-line

设计与创作

查看项目

更新于 10-15 17:31

技能介绍

用途:把视频转成能在 LINE 聊天中内联播放的 H.264 mp4,并自动校验输出。

主要能力:脚本 scripts/to_line.sh 完成转换与自检。音频有则转 AAC 128 kb/s,无则 -an;奇数宽高会裁掉一像素边缘以满足 yuv420p;编码参数为 libx264 -preset fast -crf 23 -pix_fmt yuv420p -profile:v high -movflags +faststart。校验项包括视频编码 h264、像素格式 yuv420p、moov 在 mdat 之前、视频轨时长与输入相差 0.1 秒内、文件时长低于 300 秒、有音频时编码为 aac,并报告 PSNR。

使用方式:运行 bash <skill-dir>/scripts/to_line.sh <input> [--crf N] 2>&1。输出与输入同目录,命名为 <input name>_line.mp4;长视频会拆分为 <input name>line<i>of<n>.mp4 分片,需按顺序发送。输入文件不会被修改。成功标志为退出码 0 且末行 RESULT: PASS。--crf 可调体积与画质,数值越高越小越柔。

限制:LINE 会截断超过 5 分钟的聊天视频,故超过 299 秒会等分为 ceil(秒数/299) 段,每段从自身起点重新编码,1 秒余量为推测值。仅无音频、偶数尺寸路径的手动命令确认可在 LINE 播放,脚本各路径输出在合成测试文件上通过校验但未在 LINE 验证;分片亦未实际发送验证。LINE 文件大小上限未确认。分辨率与帧率保留,4K60 输入会生成较大文件,兼容性未测。源元数据(如 GPS、标题)会复制到输出,LINE 是否剥离未确认。iPhone HDR/10-bit HEVC 会转为 8-bit H.264 但仍带 HDR 色彩标签,无色调映射,显示效果未确认。退出码 1 表示输出已存在、输入不可读、临时文件无法创建、转换失败或校验未通过;130/143 为中断;2 为用法错误或缺少 ffmpeg/ffprobe(macOS 可 brew install ffmpeg)。