tmix 时间运动模糊预设
tmix 滤镜是什么
FFmpeg 的 tmix 滤镜把当前帧和前几帧按权重混合,产生时间方向的运动模糊。数学上:
输出帧 = 当前帧×权重 + 上一帧×权重 + 上上帧×权重 + ...
权重可以自己配,但 ZenConverter 在 v0.2.4 版本里直接提供了预设,用户不需要手动算权重。
和补帧的区别
很多人会把运动模糊和补帧混为一谈,它们做的是完全不同的事:
| 功能 | 效果 | 对帧数的影响 |
|---|---|---|
| RIFE/minterpolate 补帧 | 相邻帧之间插入合成的中间帧 | 增加帧数(2×) |
| tmix 运动模糊 | 帧与帧之间产生平滑过渡的拖影 | 不改变帧数,只模糊过渡 |
举个例子:一段快速奔跑的视频,源是 30fps。
- 只补帧:变成 60fps,每帧之间有真实感的过渡帧,运动更顺滑,但没有拖影;
- 只加 tmix:还是 30fps,但每一帧都带运动拖影,像相机长曝光拍出来的效果;
- 先补帧再加 tmix:先变成 60fps 更顺滑的帧序列,然后在这 60fps 的基础上加运动模糊,效果会更自然——因为 60fps 的帧间距小,拖影更短更细密。
预设档位
ZenConverter 给 tmix 提供了几个预设(具体档位名和权重需要看应用内实际展示),大致按"拖影长度"分:
| 预设 | 效果 | 典型场景 |
|---|---|---|
| 轻微 | 极短拖影,看起来更平滑但没有明显拖影 | 给补帧后的 60fps 视频加一点柔和 |
| 中等 | 能看出拖影的运动 | 给运动视频增加电影感 |
| 强 | 长拖影,有"速度感" | 赛车、滑板、街舞等动感素材 |
技术参数(对好奇底层的人)
tmix 的核心参数是 frames=N 和 weights=w1 w2 ... wN:
frames:混合多少帧(包含当前帧)。frames=2 就是当前帧和上一帧混合;weights:每帧的权重。常用"当前帧最重,前面的递减"的权重分布,比如0.5 0.3 0.2(3 帧混合,当前帧 50%,上一帧 30%,上上帧 20%);- 如果权重和不等于 1,tmix 会自动归一化。
和补帧联动的建议
如果你想要最自然的"流畅 + 运动感"效果,推荐这个管线:
源视频 (30fps) → RIFE/minterpolate 补帧 → 60fps → tmix 轻微预设 → 编码输出
补帧让帧间距变小(从 33ms 变 16ms),然后在更密集的帧序列上加运动模糊,拖影会更自然不生硬。直接在 30fps 源上加 tmix 可能会出现明显的"拖影断层",因为 33ms 的帧间距太大了。
已知边界
- 纯 CPU 滤镜:tmix 是 FFmpeg 内置 CPU 滤镜,没有 GPU 加速,处理时间会比补帧更长;
- 权重不暴露:用户只能选预设档位,不能手动改权重——这是设计选择,避免大多数用户配出奇怪的效果;
- 只在视频互转和补帧路线里可选:不能单独作为一个"滤镜包"导出——必须和输出格式一起选。
使用场景
- 电影感运动画面:赛车镜头、城市夜景车流、人物奔跑,加一层运动模糊增加动感;
- timelapse 平滑过渡:补帧后的 timelapse 再加一层轻微 tmix,过渡更丝滑;
- 对比试验:同一个快速运动场景,试一下"纯补帧 vs 补帧 + tmix"的区别——你会发现加 tmix 的版本更有电影感。
相关页面
- AI 补帧:RIFE 2× 与光流 minterpolate —— 补帧和 tmix 常一起用
- 手动编码与高级滤镜 —— tmix 在高级滤镜选项里暴露