做一个自己的动画
导出参数、ffmpeg 命令与投稿向导
自己做一段并不难:剪一条 5–10 秒的视频,按下面的参数导出,再投到社区。
导出参数
| 项目 | 建议 | 原因 |
|---|---|---|
| 容器 / 编码 | mp4,H.264 + AAC | Windows 自带解码器最稳,兼容性最好 |
| 分辨率 | 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%)。母带本身没有的细节,编码参数也救不回来。真要补细节,用天生带时间维度的视频超分模型。