跳转至内容

MeGUI/指南/高清电视转码指南

来自维基教科书,开放世界中的开放书籍

设置源

[编辑 | 编辑源代码]

首先,你需要准备好你的视频,以便你可以对其进行编码。

MPEG2 源
对于 MPEG2 传输流,首选工具是 DGIndex
  • 加载 ts 文件。
  • 选择流菜单,然后点击 "检测 PIDS/PMT"。
  • 选择 MPEG2 视频,然后按设置视频。
  • 选择 AC3/DTS 音频,按设置音频,然后完成。
  • 确保音频->输出方法设置为 "解复用所有轨道"。
  • 按 F4,选择一个目录来保存 d2v(视频)和 ac3(音频)文件。
h264 源
  • 如果你试图编码 h264 源,你需要两个程序
  • ProjectX 将允许你从你的传输流中提取 ac3 音频。打开 ProjectX 并打开你的 ts 文件。
  • 按快速启动(等待它完成,然后关闭 ProjectX)。
  • 你的 AC3 音频将与你的传输流位于同一目录。
  • 使用 PTSCalc 打开 TS 文件,按计算。
  • 这个方便的小程序会帮你计算出音频延迟。重命名你的 ac3 文件,并将 DELAY xx(xx 是 PTSCalc 所说的延迟,但保持为整数)放在文件名中。(例如:'The 4400 S01E01 DELAY -300ms.ac3')
其他源
  • 对于其他源,你不需要进行任何预处理。

创建你的 avs 文件

[编辑 | 编辑源代码]

在这里,你可以根据需要调整视频大小并应用滤镜。

  • sourceforge 下载并安装最新的稳定版 Avisynth。
  • 这里 下载最新版本的 TIVTC 包。将 dll 文件解压缩到你的 avisynth\plugins 目录。
  • 将 DGDecode.dll 文件从你的 DGIndex 目录移动到 avisynth\plugins 目录。
  • 创建一个空白文件,将其命名为 encode.avs,并使用记事本(或你选择的文本编辑器)打开它。

加载视频源

[编辑 | 编辑源代码]
MPEG2 源
MPEG2Source("C:\myvideo.d2v")
确保 d2v 文件的路径正确
h264 源
  • 要加载视频,请输入
directshowsource("C:\myvideo.ts",fps=###)
确保 d2v 文件的路径正确
将 '###' 替换为正确的帧率。对于 BBC 捕捉,帧率为 25。
如果 FFDShow 可以正确解码流,优先使用它,而不是 CoreAVC,因为 CoreAVC 在某些情况下会出现阻塞伪像。最新的 CoreAVC 据说已修复了这个问题(1.3.0.0),但尚未得到确认,而旧版本存在问题。
其他源
不同的源需要以不同的方式加载。新的格式,如高清 DVD 和 BD,可能难以加载,你需要在论坛中找到最新的信息,以便以最佳方式加载它们。如果存在疑问,请尝试
directshowsource("path\to\file.ext")

隔行扫描消除/隔行转换去除

[编辑 | 编辑源代码]

下一步涉及将流转换为一系列具有正确帧率的逐行扫描帧。目前,你可能以三种主要类型的流开始

你可以通过打开你目前已创建的脚本(它应该只是一行)并在媒体播放器中逐帧地查看快速运动的部分来确定源是隔行扫描还是逐行扫描的。如果视频在某些或所有帧中出现 梳状效应,那么视频是隔行扫描的或隔行转换的。如果所有帧都很干净,那么视频是逐行扫描的。

逐行扫描源(例如:720p 和 1080p 捕捉)
这些源要么以正确的帧率,要么以更快的速率提供。例如,大多数 720p 捕捉以 60fps 的速率提供,这比原始帧率更快。
  • 如果帧率为 23.976fps、25fps 或 29.970fps,则不需要做任何事情!
  • 如果帧率为 59.94fps,则有三种选择
  • 保持原始帧率。 有时,当你有一个体育捕捉或其他以高帧率进行捕捉的视频时,任何帧率降低都会导致图像出现抖动。在这种情况下,你可以选择保持原始帧率,这将需要更高的比特率,但看起来更好。
  • 降帧到 23.976fps。 如果视频最初是电影,或其他以 23.976fps 的速率制作的视频,可以使用 TDecimate 将其恢复到该帧率:tdecimate(mode=0,cycleR=9,cycle=15)
  • 降帧到 29.97fps。 如果你的视频最初是 29.970fps,可以使用 AviSynth 内置命令 SelectEven 将其恢复到该帧率:selecteven()
隔行扫描/隔行转换源(例如:1080i 捕捉)
这些源是包含隔行扫描帧的源。隔行扫描源是隔行扫描帧的连续流,而隔行转换源包含隔行扫描帧和逐行扫描帧的混合。你必须对每种格式进行不同的处理。你可以阅读关于 检测隔行扫描 的文章,了解更多关于如何执行此操作的信息。
  • 如果流是纯隔行扫描的: 你可以使用 TDeint 对其进行隔行扫描消除:tdeint()
  • 如果流是隔行转换的: 你可以使用 TFM 和 TDecimate 进行 隔行转换去除tfm().tdecimate()

裁剪 & 调整大小

[编辑 | 编辑源代码]

裁剪涉及从源中删除所有黑边。你必须以 2 的倍数进行裁剪。一种简单的方法是使用 MeGUI 的 avisynth 脚本创建器 打开视频,并使用其中的动态裁剪工具。然后,从第三个选项卡中获取 crop(...) 行,并将其添加到你的脚本中。注意,你应该裁剪掉所有的黑边,即使这意味着你必须裁剪掉一个视频像素。最终的结果会因此而更好。完成此操作后,你需要调整视频大小。添加一个 spline36 调整大小:spline36resize(1280,720)。这将调整大小到 16:9 的 纵横比,如果视频的原始显示比例不同,则必须更改 720 以适应。例如,一个 2.35:1 AR 视频将变为 1280x544。

如果你的源是 mpeg2,使用 色度矩阵 来校正颜色:colormatrix()

x264 编码

[编辑 | 编辑源代码]

首先,下载 这个 x264 矩阵集合,并解压到任意位置。然后启动 MeGUI 并加载输入 avs 文件。浏览几帧,确保一切正常(影片所有部分都已裁剪,没有过度滤波等),然后关闭预览窗口。

  • **选择编码配置文件:**选择您的 x264 编码配置文件。使用 HQ-_____ 组中的一个(例如 HQ-Slow、Slower、Slowest、Insane)。较慢的配置文件能带来更好的结果,但每次质量提升都会降低。
  • **验证双遍编码:**打开编解码器配置,并确认已选择“自动双遍编码”以及已启用“turbo”。如果您的源文件干净且没有颗粒,您可以提高去块设置,但对于正常影片,不要高于 -1,-1。单击“确定”。
  • **设置自定义矩阵:**在第四个选项卡中,将“量化矩阵”设置为自定义,并选择 eqm_avc-hr.cfgM4G HRM V2.cfg。前者在比特率略微不足时效果更好,而后者可以帮助您接近透明度。
  • **计算比特率:**前往工具 -> 比特率计算器。首先输入输出大小(可以使用预设之一或手动输入数字)。接下来,设置音频轨道的正确比特率。最后,确保选中“b 帧”,帧速率正确(尽管这两项几乎没有影响),并且您已选择了正确的编解码器 (x264) 和容器 (mkv)。记下平均比特率并单击“应用”。检查编解码器配置中是否已正确应用。
  • **设置编码作业:**如果在存储输入脚本的驱动器上还有 100GB 的空闲空间,您可以选中“添加 预渲染作业”框。单击“加入队列”。作业现在应该出现在作业选项卡中。
  • **开始编码:**在作业选项卡中,单击“开始”。等待此步骤完成,大约需要 16-72 小时。

将音频和视频合并在一起

[编辑 | 编辑源代码]
  • **下载 MKVMerge:**从 主页 下载 MKVToolnix
  • **选择输入文件:**打开 mmg.exe,并添加已编码的视频和包含音频的原始文件作为源文件。
  • **选择输出流:**取消选中所有不需要的流。
  • **设置输出轨道选项:**设置任何音频/字幕流的语言,如果有超过一个,请为它们命名。如果需要,设置任何音频流的正确音频延迟。
  • **合并:**选择保存位置,并单击“开始合并”。

一切完成 :)

华夏公益教科书