做一个自己的动画

导出参数、ffmpeg 命令与投稿向导

自己做一段并不难:剪一条 5–10 秒的视频,按下面的参数导出,再投到社区。

导出参数

项目建议原因
容器 / 编码mp4,H.264 + AACWindows 自带解码器最稳,兼容性最好
分辨率2560×1440 为主社区主流屏幕是 1440p;4K 单个几十 MB,下载明显更慢
时长5–10 秒登录后超过 10 秒会让人等得烦
体积≤ 30 MB 体验最好用户会挑小的;超过 10 MB 拖不进投稿表单,贴个直链就行(机器人会替你托管),硬上限 2 GB
索引必须 faststart否则播放器要读完整个文件才出画面,表现为黑屏卡住

ffmpeg 命令

只把索引表前置,不重编码,最快:

ffmpeg -i 原片.mp4 -c copy -movflags +faststart 输出.mp4

需要缩放或重新编码时(下面这组参数就是内置四段用的):

ffmpeg -i 原片.mp4 -vf "unsharp=5:5:0.9:5:5:0.0,scale=2560:1440:flags=lanczos" -c:v libx264 -crf 20 -preset medium -pix_fmt yuv420p -movflags +faststart -an 输出.mp4

不需要声音就保持上面的 -an;要带音轨就把 -an 换成 -c:a aac。内置四段都是 2560×1440、24fps、无音轨。CRF 取 20 就够了:实测 CRF 20 与 18 的锐度只差一点点,体积却差 10 MB。

用网站上的投稿向导

本站首页有「投稿向导」。把 mp4 拖进去,剩下的事在浏览器本地就做完了:

  • 本地算出 sha256(视频不会上传到我们这里)。
  • 读出分辨率、时长、体积,并从视频里抽一帧当预览。
  • 按社区规范校验:体积超过 2 GB 或时长超过 30 秒会直接标为不合规;超过 10 MB(拖不进表单,需要贴直链)、超过 200 MB、超过 12 秒、或者本身是 4K,会给出提醒。
  • 生成一份可直接粘进 GitHub 表单的元数据,以及带好参数的投稿链接。

先让向导过一遍,能省掉一轮返工。

别用「逐帧 AI 放大」去补细节。逐帧图片模型会为每一帧想象出不同的微观纹理,连起来就是明显的帧间闪烁(实测闪烁指标从「无」跳到 6.18,属于严重),而对「多加出来的细节层」做时间平滑几乎压不掉这种抖动(实测只压掉 1.8%)。母带本身没有的细节,编码参数也救不回来。真要补细节,用天生带时间维度的视频超分模型。


这篇没解决你的问题?去 仓库提 Issue,或者先看 排错 与 恢复。