Videocut:高清化

视频高清导出。2-pass编码 + 锐化,匹配或超越原片画质。

hwj123hwj Updated

File contents

高清化

2-pass 编码 + 锐化,像剪映一样导出高清

设计理念

剪映的做法:剪辑时不管画质,导出时统一渲染成高清

我们的管线:

  • 剪口播 cut_video.sh 已经做了帧级精确切割 + 匹配码率重编码
  • 高清化是可选的额外增强,用 2-pass + 更高码率 + 锐化,让画质超过原片

流程

0. 定位视频文件(自动查找或用户指定)
    ↓
1. 检测原片编码参数
    ↓
2. Pass 1: 分析画面复杂度
    ↓
3. Pass 2: 编码 + 锐化
    ↓
4. 输出 _hd.mp4

执行

# 简单用法:自动检测参数,1.2x 码率,2-pass
bash skills/高清化/scripts/hd_export.sh input.mp4

# 指定输出
bash skills/高清化/scripts/hd_export.sh input.mp4 output_hd.mp4

# 自定义码率倍率(1.5 = 原片的 1.5 倍码率)
bash skills/高清化/scripts/hd_export.sh input.mp4 output_hd.mp4 1.5

参数说明

参数 默认值 说明
码率倍率 1.2x 相对原片码率的倍数
preset slow 编码速度
锐化 开启 轻微锐化补偿量化损失
编码 2-pass 两遍编码,码率分配更均匀

原理

为什么 2-pass 比 1-pass 好?

  • 1-pass:按固定规则分配码率,简单画面可能过度分配,复杂画面码率不足
  • 2-pass:第一遍分析全片复杂度,第二遍按分析结果精准分配码率
  • 同码率下,2-pass 画质更好

为什么加锐化?

  • 任何重编码都会引入微小的模糊
  • 轻微锐化(unsharp=5:5:0.3)补偿这个损失

匹配原片参数

自动检测并匹配:

  • -profile:v → 原片的 profile(通常是 high)
  • -pix_fmt → 原片的像素格式(通常是 yuv420p)
  • -b:v → 原片码率 × 倍率

hwj123hwj/custom-skills/tree/main/skills/videocut/skills/高清化 commit 5fcc6949e2

Frequently asked questions

npx skillmds@latest add hwj123hwj/videocut-5