短视频生成
视频插帧与超分:让 AI 生成素材更丝滑
▶
AI 视频的"先天不足"
文生视频模型为了节省算力,默认输出往往只有 24fps 甚至 8-16fps、分辨率 720p 上下。直接发布会显得卡顿、发虚。两个经典补救手段:插帧(补出中间帧,提高流畅度)和 超分(放大分辨率,补细节)。
插帧:光流法与神经插帧
传统光流法
先计算相邻两帧的运动矢量(光流),再沿运动方向"平移"像素生成中间帧。ffmpeg 内置的 minterpolate 就是这种思路:
# 用光流插帧,把 15fps 提到 60fps
$ ffmpeg -i input.mp4 -vf "minterpolate=fps=60:mi_mode=mci" out.mp4
光流法在运动大、遮挡多的场景容易产生鬼影和撕裂。
神经插帧:RIFE
RIFE(Real-time Intermediate Flow Estimation)用神经网络同时预测"前向光流"和"后向光流",再融合生成中间帧,实时性极佳:
# RIFE 命令行示例
$ rife -i input.mp4 -o out.mp4 --fps 60 --model rife-v4
# 也可以封装成 ffmpeg 滤镜使用
$ ffmpeg -i input.mp4 -vf "rife=model=rife-v4:factor=4" out.mp4
对比结论:静态/慢速镜头两者差别不大;运动镜头、人物快速转身时 RIFE 明显更干净。
超分:从 ESRGAN 到 Real-ESRGAN
传统放大(最近邻/双三次)只是"插像素",不产生新信息。ESRGAN 用 生成对抗网络:生成器负责放大,判别器逼真"细节像真的",从而"脑补"出纹理。
# Real-ESRGAN 命令行示例(x4 放大)
$ python inference_realesrgan.py \
-n RealESRGAN_x4plus -i input/ -o output/
# 或用 ncnn 版本加速 CPU 推理
$ ./realesrgan-ncnn-vulkan -i input.png -o output.png -n realesrgan-x4plus
流水线集成建议
生成(720p/16fps)
→ 插帧到 30fps 或 60fps
→ 超分到 1080p / 2K
→ 编码 H.264 + AAC(短视频平台标准)
- 先插帧后超分:插帧依赖运动估计,分辨率越低计算越快,先提帧率再放大更划算
- 别贪 4K:竖屏短视频 1080x1920 足够,超分到 4K 收益递减且耗时翻倍
- 人脸场景慎用超分:Gan 可能把脸"脑补"得不像,必要时只对背景超分
插帧负责"顺",超分负责"清晰" -- 两条后处理流水线,能把 AI 素材的观感提升一个档次。