使用 MCEBuddy 的高级概念
请参考 MCEBuddy 配置简介 页面了解基本的配置创建
注意:
- 高级转换参数适用于 profiles.conf
- 请勿修改 mcebuddy.conf。从 v2.3.13 版本开始,mcebuddy.conf 中的所有高级配置参数(FFmpegBackupRemux 除外)均可通过图形界面(GUI)中的 “设置” → “专家设置” 页面进行访问
- 切勿用旧文件替换新的配置文件,因为每个版本都会添加/更新新文件中的参数。
目录
- MCEBuddy 图形界面启动选项
- MCEBuddy 命令行界面 (CLI)
- 调整 Comskip 广告检测
- 转换后的文件中的多个音轨
- 调整 ShowAnalyzer 广告检测
- 文件名和节目名模式匹配
- 按节目名或文件名自定义多个转换任务
- 自定义文件重命名模式
- 音频同步/缺失问题
- 使用自定义文件名和自定义元数据
- 使用自定义 EDL 文件
- 使用自定义 SRT 文件
- 多线程支持
-
(profiles.conf) 高级转换参数
- 插入特殊命令
- ForceWTVStreamsRemuxing
- DisableDVRMSStreamsRemuxing
- AllowAllCopyRemuxing
- AllowH264CopyRemuxing
- AllowH265CopyRemuxing
- AllowAV1CopyRemuxing
- UseWTVRemuxsupp
- ForceEDL
- ForceEDLP
- FixedResolution
- SkipCropping
- SubtitleBurn
- 2ChannelAudio
- MEncoderEDLSkip
- UniversalCommercialRemover
- PreConversionCommercialRemover
- CommercialMergeTool
- CutMP4Alternate
- CommercialSkipCut
- CopyPropertiesFile
- CopyLogFile
- AutoDeinterlace
- <encoder>-AudioDelay
- <encoder>-AudioOptimized
- <encoder>-VideoOptimized
- <encoder>-unsupported
- <encoder>-UsingHardwareEncoding
- <encoder>-DisableSoftwareEncoderFallback
- DisableEncoderReordering
- 运行自定义命令
-
(mcebuddy.conf) 高级配置参数
MCEBuddy 图形界面启动选项
MCEBuddy 在启动图形界面 (MCEBuddy.GUI.exe) 时支持以下选项。通过右键单击“开始”菜单中的应用程序快捷方式并将其添加到目标路径中来包含这些参数。
/startmin - 启动最小化的图形界面
/startengine - 强制启动引擎(在与引擎建立连接之后)例如:
"C:\Program Files\MCEBuddy2x\MCEBuddy.GUI.exe" /startmin /startengine注意:参数应放在双引号闭合之后,且每个参数之间用空格隔开
MCEBuddy 命令行界面 (CLI)
MCEBuddy 提供了一个功能有限的 CLI,用于与 MCEBuddy 引擎进行交互,作为图形界面的替代方案。这在与自定义命令和脚本配合使用时非常有用。运行不带任何参数的 MCEBuddy.UserCLI.exe 即可获取支持的命令列表和使用详情。
调整 Comskip 广告检测
有关更多信息,请参阅此主题:Tuning Comskip and Custom Comskip INI's (Country / Channel specific)
调整 ShowAnalyzer 广告检测 (v2.1.2+)
MCEBuddy 支持 ShowAnalyzer 1.0 及更高版本。下载并安装 ShowAnalyzer 后,它将作为转换配置页面上广告检测下的一个选项显示。有关更多信息,请参阅此主题:Tuning ShowAnalyzer
转换后的文件中的多个音轨 (v2.3.12+)
这仅适用于基于 FFMPEG 的配置,且源文件必须包含多个音轨。Handbrake 和 MEncoder 不支持转换/复制多个音轨。
在转换选项中选择 <Default> 作为音频语言,并在 FFMPEG 配置的 ffmpeg-video 部分添加 -map 0:a -map 0:v,它将复制/转换所有音轨。
文件名和节目名模式匹配 (v2.2.3+)
MCEBuddy 支持使用 ; 运算符进行多个通配符名称匹配,以匹配节目名和文件名。例如,可以指定
*.wtv;*.avi*.mpg*作为名称选择标准,或者指定ncis*;house*.mpg*来匹配所有以 ncis 和 house 开头(以 .mpg 结尾)的名称。如果要指定要排除的名称列表,即选择所有/abc 文件但排除 xyz,请在名称选择标准前加上 ~ 运算符。例如,
ncis*;~ncis miami*将选择所有以 ncis 开头但不以 ncis miami 开头的文件。例如,*.*;~*.mp4;~*.avi将选择除以 .mp4 和 .avi 结尾之外的所有文件。名称匹配不区分大小写。
要选择所有默认视频类型,请使用表达式 [video],它将匹配以下表达式 *.dvr-ms;*.wtv;*.asf;*.avi;*.divx;*.dv;*.flv;*.gxf;*.m1v;*.m2v;*.m2ts;*.m4v;*.mkv;*.mov;*.mp2;*.mp4;*.mpeg;*.mpeg1;*.mpeg2;*.mpeg4;*.mpg;*.mts;*.mxf;*.ogm;*.ts;*.vob;*.wmv;*.ts
对于高级用户,MCEBuddy 还支持 REGEX 表达式。要提供正则表达式,请在 regex 匹配模式前加上 regex:,然后输入正则表达式(这是一个非常高级的概念)。
按节目名或文件名自定义多个转换任务 (v2.2.3+)
请参阅上文的“文件名和节目名称模式匹配”,了解如何为文件名和节目名称创建模式。
您可以在 MCEBuddy 中创建多个转换任务。每个转换任务将处理队列中的每个文件。在创建文件名和节目名称筛选器时,转换任务的顺序并不重要。如果您想为不同的文件/节目创建自定义转换任务,可以在“转换任务设置”页面的“高级设置”下,借助文件名或节目名称模式匹配筛选器来完成。
例如,如果您想创建 3 个任务:一个处理所有 NCIS 文件,一个处理所有 Star Trek 文件,另一个处理所有其他文件(即默认文件)。为此,您首先需要创建 3 个转换任务。
在要处理 NCIS 的第一个转换任务中,在文件名或节目名称筛选器下(取决于您是要根据文件名还是从元数据中获取的节目名称进行筛选),输入 NCIS*。这会告诉转换任务仅处理以 NCIS 开头的文件。
在要处理 Star Trek 文件的第二个转换任务中,在文件名或节目名称筛选器下输入 Star Trek*。
在第三个转换任务中,如果您想处理所有其他文件(即默认文件),则输入以下内容:*;~NCIS*;~Star Trek*。第一个 * 告诉转换任务处理所有文件,~NCIS* 告诉任务不要处理以 NCIS 开头的文件,而 ~Star Trek* 告诉任务不要处理以 Star Trek 开头的文件,即处理除前两个任务正在处理的文件之外的所有文件。
自定义文件重命名模式 (v2.1.6+)
MCEBuddy 允许您使用文件中存储的以及从互联网下载的元数据,创建您自己的自定义文件名和目录结构。
MCEBuddy 目前支持以下命令:
- %originalfilename% - 源文件的名称(不含路径或扩展名)
- %originalext% - 源文件的扩展名(不含 .)
- %relativesourcepath% - 源文件相对于监视根路径的相对文件夹路径。(v2.4.6+)
- %showname% - 节目名称 / 标题
- %episodename% - 单集名称 / 副标题
- %season%## - 季号,每个数字对应一个 #
- %episode%## - 集号,每个数字对应一个 #
- %network% - 录制该节目的广播网络/频道 (v2.1.10+)
- %rating% - 家长分级 (v2.3.14+)
- %premiereyear% - 系列首播年份 (v2.3.14+)
- %premieremonth% - 系列首播月份 (v2.3.14+)
- %premieremonthshort% - 系列首播月份名称缩写 (v2.3.14+)
- %premieremonthlong% - 系列首播月份全称 (v2.3.14+)
- %premiereday% - 系列首播日期 (v2.3.14+)
- %premieredayshort% - 系列首播星期缩写 (v2.3.14+)
- %premieredaylong% - 系列首播星期全称 (v2.3.14+)
- %airyear% - 原始播出年份
- %airmonth% - 原始播出月份
- %airmonthshort% - 原始播出月份名称缩写 (v2.3.11+)
- %airmonthlong% - 原始播出月份全称 (v2.3.11+)
- %airday% - 原始播出日期
- %airdayshort% - 原始播出星期缩写 (v2.3.11+)
- %airdaylong% - 原始播出星期全称 (v2.3.11+)
- %airhour% - 播出时间的 24 小时制小时 (v2.3.6+)
- %airhour12% - 播出时间的 12 小时制小时 (v2.4.2+)
- %airhourampm% - 播出时间的小时 (AM/PM) (v2.3.12+)
- %airminute% - 播出时间的分钟 (v2.3.6+)
- %recordyear% - 视频录制年份
- %recordmonth% - 视频录制月份
- %recordmonthshort% - 视频录制月份名称缩写 (v2.3.11+)
- %recordmonthlong% - 视频录制月份全称 (v2.3.11+)
- %recordday% - 视频录制日期
- %recorddayshort% - 视频录制星期缩写 (v2.3.11+)
- %recorddaylong% - 视频录制星期全称 (v2.3.11+)
- %recordhour% - 视频录制的 24 小时制小时 (v2.1.10+)
- %recordhour12% - 视频录制的 12 小时制小时 (v2.4.2+)
- %recordhourampm% - 视频录制的小时 (AM/PM) (v2.1.12+)
- %recordminute% - 视频录制的分钟 (v2.1.10+)
- %ismovie%<RenamePatternIfTrue,RenamePatternIfFalse> - 如果录制内容是电影,则使用 True 模式重命名,否则使用 False 模式重命名 (v2.3.12+)
- %issport%<RenamePatternIfTrue,RenamePatternIfFalse> - 如果录制内容是体育节目,则使用 True 模式重命名,否则使用 False 模式重命名 (v2.3.15+)
- %ifseason%<RenamePatternIfTrue,RenamePatternIfFalse> - 如果季号大于 0,则使用 True 模式重命名,否则使用 False 模式重命名 (v2.4.2+)
- %ifepisode%<RenamePatternIfTrue,RenamePatternIfFalse> - 如果集号大于 0,则使用 True 模式重命名,否则使用 False 模式重命名 (v2.4.2+)
- %ifpremieredate%<RenamePatternIfTrue,RenamePatternIfFalse> - 如果存在系列首播日期,则使用 True 模式重命名,否则使用 False 模式重命名 (v2.4.10+)
- %ifairdate%<RenamePatternIfTrue,RenamePatternIfFalse> - 如果存在原始播出日期,则使用 True 模式重命名,否则使用 False 模式重命名 (v2.4.10+)
- %ifrecorddate%<RenamePatternIfTrue,RenamePatternIfFalse> - 如果存在视频录制日期,则使用 True 模式重命名,否则使用 False 模式重命名 (v2.4.10+)
- %imdbmovieid% - IMDb 电影 ID (v2.5.8+)
- %movieid% - TMDB 电影 ID (v2.5.8+)
- %seriesid% - TVDB 系列 ID (v2.5.8+)
- %airingdbid% - 来自 SageTV Airing 标签的 sageDbId (v2.4.1+)
- %mediafiledbid% - 来自 SageTV MediaFile 标签的 sageDbId (v.2.4.1+)
- \ - 目录分隔符
例如:TVShows\%showname%\Season %season%\%showname% - S%season%##E%episode%## - %episodename% - %airyear%_%airmonth%_%airday%
将生成:
TVShows\CSI\Season 1\CSI - S01E02 - Best of times - 2012_01_06.<ext>
例如:Recording\%ismovie%<Movies\%showname%,TVShows\%showname%\Season %season%\%showname% - S%season%##E%episode%##>-Converted
将生成:
Recording\Movies\Star Wars-Converted.<ext>(针对电影)或
Recording\TVShows\CSI\Season 1\CSI - S01E02-Converted.<ext>(针对非电影)
扩展名会根据配置文件规格自动添加。结尾处用于“剧集”(Episode)和“季”(Season)的 # 数量表示所写数字的位数。例如,%season%## 的输出结果为 01,而 %season%### 的输出结果为 001。# 是可选的,将其省略则会直接写入数字而不进行任何格式化,即 %season% 的输出结果为 1。
音频同步/缺失问题
有时,由于视频开头处存在损坏,会导致音视频不同步。为解决此问题,请在配置文件的 <encoder>-video 参数的开头添加参数 -ss 10。请勿将此参数放入通用参数部分。(不要忘记 ss 前面的减号,并确保 ss 和 10 之间有一个空格)
例如
ffmpeg-video=-ss 10这表示 ffmpeg 在解码视频/音频后,将跳过前 10 秒(如果您将其放入通用参数部分,编码器将跳过前 10 个,这并不能解决问题;必须先解码视频/音频,将其丢弃,然后再重新同步)。
您可以调整该数字以找到最佳组合,根据损坏程度,它可以小至 3 或大至 30。您可能会惊讶于有多少视频在开头处存在损坏,并且 FFMPEG 对音频同步方面的损坏非常敏感。您通常在播放视频时看不到损坏(它看起来很正常),这些损坏存在于帧级别,并且经常被播放器忽略。
还可以尝试调整 AudioDelay 参数(如上所述)。将其设置为 skip,看看是否能解决问题。如果音视频仍然不同步,请尝试将 AudioDelay 数字设置为正数或负数,以提前或延迟音频同步,并观察其表现。这是一个反复试验的过程。
如果您在配置文件中使用 FFMPEG 或 Handbrake 作为编码器,并且您的输出扩展名为 .MP4 或 .M4V,并且您的音频仅在去除广告时才出现不同步(即未去除广告时音频是同步的),请尝试在配置文件中使用命令 CutMP4Alternative=true 来使用备用的广告去除方式。
如果这不管用,请尝试在配置文件中使用 UniversalCommercialRemover=true。有关更多详细信息,请参阅上文。
有时音频会在视频中间完全中断。请尝试在配置文件中使用 PreConversionCommercialRemover=true。有关更多详细信息,请参阅上文。
使用自定义文件名和自定义元数据 (v2.3.12+)
有关更多详细信息,请参阅 Metadata matching, extraction, renaming from files and downloading from the Internet。
此外,如果 MCEBuddy 找到了在转换过程中创建的 XML 文件(例如来自 Comskip),它会将该 XML 文件连同转换后的文件一起复制到目标目录中。
使用自定义 EDL 文件 (v2.3.12+)
MCEBuddy 会查找与原始源视频放在一起(具有相同的源视频文件名)的 EDL 文件。如果它找到与源视频匹配的 EDL 文件,就会将该 EDL 文件连同转换后的文件一起复制到输出目录中。
MCEBuddy 优先使用自定义 EDL 文件,而不是 Comskip/ShowAnalyzer 生成的 EDL 文件。
使用自定义 SRT 文件 (v2.1.8+)
MCEBuddy 会在原始源视频旁边或临时工作目录中查找 SRT 文件(具有相同的源视频文件名)。如果在任何一个地方找到 SRT 文件,它就会将该 SRT 文件连同转换后的视频一起复制到输出目录中(优先选择临时工作目录中的 SRT 文件)。
如果在 Conversion Task -> Advanced Settings 中启用了 ExtractCC,它将裁剪自定义 SRT 文件,使其与 EDL 文件(去除广告)保持同步。MCEBuddy 优先使用自定义 SRT 文件,而不是 CC 生成的 SRT 文件。
可以将 Comskip 设置为生成 SRT 文件(output_srt=1),或者在转换过程中使用来自 Custom Commands 的 CCExtractor(如果 GUI 中的 ExtractCC 无法正常工作)来生成 SRT 文件。生成后,MCEBuddy 会将它们连同转换后的文件一起复制到输出目录中。
多线程支持 (v2.1.2+)
MCEBuddy 默认会计算程序以最佳状态运行所需的线程数。不过,可以通过在每个配置文件和编码器类型的配置文件中的通用参数中指定线程数来手动覆盖此设置。
(profiles.conf) 高级转换参数
(适用于 profiles.conf 中的每个配置文件)
配置文件参数一经指定,将覆盖任何转换任务选项 (v2.3.14+)
例如 SkipCropping 和 AutoDeInterlace
插入特殊命令 (v2.3.12+)
您可以让 MCEBuddy 在配置文件的 4 个部分中插入特殊命令
- <encoder>-general
- <encoder>-video
- <encoder>-audio
- <encoder>-audioac3
MCEBuddy 将在运行时替换以下特殊命令:
- <source_without_ext> - 不带扩展名的源文件名
- <source> - 源文件名
- <converted_without_ext> - 不带扩展名的输出文件名
- <converted> - 输出文件名
例如
mencoder-general = -sub "<converted_without_ext>.srt" -ss 3
将在运行时被替换为(假设输出文件为 c:\temp\test file.avi):
mencoder-general = -sub "c:\temp\Test File.srt" -ss 3
注意: MCEBuddy 不会在替换参数周围加引号,某些命令需要引号,请确保在需要的地方加上引号。
ForceWTVStreamsRemuxing=true (v2.3.12+)
此参数指示 MCEBuddy 首先使用 DirectShow 从 WTV 文件中提取音频和视频流,并将其重新混流(remux)到 TS 文件中。这样做的好处是它使用 Windows 编解码器,速度快,并且还支持加密/受版权保护的内容。缺点是它只支持 WTV 文件中的一个音频流和一个视频流。
注意:如果所有其他方法都失败,流重新混流也将用作 WTV 文件的最后选项。
DisableDVRMSStreamsRemuxing=true (v2.4.9+)
此参数指示 MCEBuddy 跳过 DirectShow,转而回退到特殊的 FFMPEG 重新混流器,将 DVRMS 文件中的音频和视频流重新混流到 TS 文件中。请注意,DirectShow 的优点在于它使用 Windows 编解码器,速度快,并且还支持加密/受版权保护的内容。如果 Windows DirectShow 编解码器在重新混流文件时遇到问题,请使用此选项。
注意:默认情况下,首先使用 DirectShow 流重新混流器;如果 DirectShow 重新混流器对 DVRMS 文件失败,则随后使用特殊的 FFMPEG 重新混流器。
AllowAllCopyRemuxing=true (v2.3.15+)
此参数告知 MCEBuddy 内部允许将所有视频编解码器格式直接重新封装(remuxing)为 TS 格式,而无需首先将其转换为 MPEG2 视频。当用户想要更改容器格式同时又想保留原始视频而不进行重新编码时,可以使用此功能。例如,从 WMV 转为 MP4、从 WTV 转为 MKV 或从 WTV 转为 TS,甚至从 WMV 转为 WMV 并移除广告等。
注意:使用此选项时,其他底层程序(如 comskip、ccextractor 等)可能不支持正在复制的视频代码,并可能会导致运行不正常。
AllowH264CopyRemuxing=true (v2.3.12+)
此参数告知 MCEBuddy 内部允许将 H264 视频重新封装为 TS 格式,而无需首先将其转换为 MPEG2 视频。当用户想要更改容器格式同时又想保留原始 H264 视频而不进行重新编码时,可以使用此功能。例如,从 WTV 转为 MP4、从 WTV 转为 MKV 或从 WTV 转为 TS,甚至从 WTV 转为 WTV 并移除广告等。
注意:默认情况下此功能已启用。同时请记住,免费版 Comskip 检测 H264 广告的速度较慢。请升级到最新版本的 MCEBuddy,或使用赞助版(Donator) Comskip([http://www.comskip.org/](Comskip forum - Index page)),或者使用 ShowAnalyzer 来加快 H264 广告的检测速度。
(v2.3.12 - v2.3.13) 注意:默认情况下此功能已禁用。其局限性在于,这些 MCEBuddy 版本中包含的免费版 Comskip 不支持 H264 广告检测,不过可以使用 ShowAnalyzer 来替代它。
AllowH265CopyRemuxing=true (v2.4.10+)
此参数告知 MCEBuddy 内部允许将 H265 视频重新封装为 TS 格式,而无需首先将其转换为 MPEG2 视频。当用户想要更改容器格式同时又想保留原始 H265 视频而不进行重新编码时,可以使用此功能。例如,从 MKV 转为 MP4、从 MP4 转为 TS,甚至从 MKV 转为 MKV 并移除广告等。
注意:默认情况下此功能已启用。同时请记住,ShowAnalyzer 不支持 H.265,且免费版 Comskip 检测 H265 广告的速度较慢。请升级到最新版本的 MCEBuddy,或使用赞助版(Donator) Comskip([http://www.comskip.org/](Comskip forum - Index page)),以加快 H265 广告的检测速度。
AllowAV1CopyRemuxing=true (v2.6.2+)
此参数告知 MCEBuddy 内部允许将 AV1 视频重新封装为 TS 格式,而无需首先将其转换为 MPEG2 视频。当用户想要更改容器格式同时又想保留原始 AV1 视频而不进行重新编码时,可以使用此功能。例如,从 MKV 转为 MP4、从 MP4 转为 TS,甚至从 MKV 转为 MKV 并移除广告等。
注意:默认情况下此功能已启用。同时请记住,ShowAnalyzer 和免费版 Comskip 均不支持 AV1。请升级到最新版本的 MCEBuddy,或使用赞助版(Donator) Comskip([http://www.comskip.org/](Comskip forum - Index page)),以加快 AV1 广告的检测速度。
UseWTVRemuxsupp=true (v2.3.11+)
此参数告知 MCEBuddy 在尝试其他重新封装工具之前,首先使用 Remuxsupp 来重新封装 WTV 文件。这可以解决某些视频(较罕见)无法通过 FFMPEG 或其他重新封装工具正常重新封装,但可以使用 Remuxsupp 的问题。通常,Remuxsupp 并不适用于许多视频。
注意:这仅在 FFMPEG 重新封装的文件无法被 MEncoder 转换的特定情况下有效。
ForceEDL=true (v2.1.4+)
这仅在启用了 Comskip 且未提供自定义 EDL 文件时才有效。当广告移除选项设置为 Comskip 时,它会告知 MCEBuddy 强制使用 Comskip 的 EDL 文件,而不是 EDLP 文件。EDL/EDLP 文件指示要剪切的视频部分(时间戳)(即广告),但不同视频格式的时间戳略有不同,有些使用 EDL,另一些则使用 EDLP。如果您的视频/节目在广告前/后被多剪或少剪了几秒钟,请尝试使用此参数。
注意:默认情况下,MCEBuddy 对 .TS 文件使用 EDL,对所有其他文件使用 EDLP。
ForceEDLP=true (v2.1.4+)
这仅在启用了 Comskip 且未提供自定义 EDL 文件时才有效。当广告移除选项设置为 Comskip 时,它会告知 MCEBuddy 使用 Comskip 的 EDLP 文件,而不是 EDL 文件。EDL/EDLP 文件指示要剪切的视频部分(时间戳)(即广告),但不同视频格式的时间戳略有不同,有些使用 EDL,另一些则使用 EDLP。如果您的视频/节目在广告前/后被多剪或少剪了几秒钟,请尝试使用此参数。
注意:默认情况下,MCEBuddy 对 .TS 文件使用 EDL,对所有其他文件使用 EDLP。
FixedResolution=true (v2.1.4+)
这会告知 MCEBuddy 在转换时不要更改源视频分辨率(保持源分辨率)。设置此参数后,MCEBuddy 将忽略转换任务 -> 高级设置页面上的*最大宽度(Max Width)*滑块。
(v2.3.13+) 设置此项后,它还会将比特率固定为配置文件中指定的比特率。通常,MCEBuddy 会根据配置文件中指定的内容调整比特率(该比特率针对 720 像素宽度进行了优化),以补偿由最大宽度滑块限制的转换后视频分辨率的变化(向上或向下)。如果用户不想限制分辨率,则应将转换任务设置 -> 高级设置页面上的最大宽度滑块一直向右拖动到底。
SkipCropping=true (v2.1.4+)
这会告知 MCEBuddy 不要自动检测裁剪信息并跳过视频裁剪。当视频边缘被切断,或者您的视频两侧没有需要移除的黑边时,这会有所帮助,它将加快转换过程。自动裁剪有时也会扭曲宽高比,因此设置此项将使 MCEBuddy 跳过裁剪。
SubtitleBurn=true (v2.4.1+)
此参数仅适用于 ffmpeg 和 handbrake 配置文件。如果启用此功能,MCEBuddy 将查找有效的 SRT(字幕)文件,如果在转换过程中找到,它将在转换过程中使用该 SRT 文件将字幕烧录到视频中。这仅在对视频进行编码时有效(即不使用复制编解码器)。这仅在存在有效的 SRT 文件时有效。因此,请确保原始视频附带了一个 SRT 文件(MCEBuddy 会复制它),或者您已在“转换任务”设置中启用了提取隐藏式字幕(Extract Closed Caption)。字幕成功烧录后,SRT 文件将被删除,不会复制到输出目录。
2ChannelAudio=true (v2.1.5 - v2.1.9, v2.2.13+)
设置此参数后,MCEBuddy 会将输出音频限制为 2 个声道,无论输入声道数量如何。
这在专用设备/软件只能读取 2 个声道(立体声)时非常有用。
注意:默认情况下,MCEBuddy 将输出声道设置为与输入声道数量相同。
(从 2.1.10 开始,这也可以在转换任务 GUI 中设置 - 配置文件会覆盖 GUI 设置)
MEncoderEDLSkip=true (v2.1.4+)
此参数告诉 MCEBuddy 在转换期间不要将 EDL 命令与 MEncoder 一起使用来从视频中移除广告(这可以节省时间,但在极少数情况下有时会导致音频不同步)。
如果设置了此参数,MCEBuddy 将在转换完成后使用 MP4Box 切割广告来移除广告。使用此参数时,请勿设置 CutMP4Alternative=true。
如果使用 Mencoder 转换在移除广告时导致音频不同步(如果禁用了广告剥离,则没有影响)且其他所有参数(-ss 30 或 mencoder-audiodelay=skip)均无效,则可以使用此参数。
UniversalCommercialRemover=true (v2.3.11+)
设置此参数后,它会指示 MCEBuddy 在转换完成后使用通用广告移除器(而默认情况下,每个文件类型都有非常具体的广告移除功能,但它们有时会失效,因为它们对错误和同步问题非常敏感)。当标准配置文件失败或在广告移除阶段导致音频问题时,这会有所帮助。虽然这个切割器在视频被切割的地方可能会留下一些伪影,但它适用于所有文件类型,并且可以成功工作而不会出现任何音频同步问题。
UniversalCommercialRemover=true 的另一个优点是它支持包含多个音轨的文件并在其他机制可能会或可能不会根据文件类型进行支持的情况下保留它们。
(v2.3.12+) 除非设置了 PreConversionCommercialRemover=true,否则设置 UniversalCommercialRemover=true 将强制在转换后切割所有广告。如果广告移除失败或正在使用 MCEBuddy 原生不支持的新文件格式,则可以将此选项用作一种选择。
PreConversionCommercialRemover=true (v2.3.12+)
设置此参数后,它会指示 MCEBuddy 在转换前使用通用广告移除器来移除广告(而不是通常在转换后移除广告的情况)。当转换在广告移除阶段失败时,这会有所帮助。虽然这个切割器在视频被切割的地方可能会留下一些伪影,但它适用于所有文件类型,并且可以成功工作而不会出现任何音频同步问题。此选项独立于 UniversalCommercialRemover。如果转换前广告移除失败,它将自动回退到转换后广告移除器。
CommercialMergeTool=ffmpeg/avidemux (v2.3.14+)
有两个工具用于在移除广告后合并视频片段。可以设置此参数来强制使用该工具。默认情况下,MCEBuddy 将确定要使用的最佳工具,但如果转换挂起或者您愿意,可以更改此设置。这些工具是 ffmpeg 和 avidemux。avidemux 非常适合单音轨和大多数常规用途,但由于其中的错误,有时可能会导致 MCEBuddy 挂起。ffmpeg 是一个非常稳定的工具,支持多个音轨,但在合并片段时,有时会在合并片段的帧处留下伪影。偶尔 ffmpeg 可能会合并失败,但不会导致 MCEBuddy 挂起。
例如:
CommercialMergeTool=ffmpeg
注意:如果将
CommercialMergeTool=avidemux用于非 TS 配置文件,则还应设置PreConversionCommercialRemover=true。
CutMP4Alternate=true (v2.1.4+)
设置此参数后,它会指示 MCEBuddy 使用替代机制在转换完成后从 MP4 和 M4V 文件中移除广告。默认情况下,MCEBuddy 在最后一步使用 MP4Box 移除广告,如果设置了此参数,它将使用 MEncoder 移除广告。在使用 Comskip/ShowAnalyzer 后音频与视频不同步但在没有 Comskip 的情况下同步时,这有时会有所帮助。
注意:此参数仅在使用 FFMPEG 或 Handbrake 编码器时有效。当使用 mEncoder 作为编码器时,此参数无效,因为广告将始终在转换本身期间被剥离(与 FFMPEG 和 Handbrake 不同,它们的广告在转换完成后被剥离)。
CommercialSkipCut=true (v2.1.4+)
如果设置了此参数,它会指示 MCEBuddy 进行广告扫描,但不要切割广告。相反,它会将生成的 EDL 文件以及转换后的文件复制到输出目录中。
Comskip 生成 2 种类型的文件:EDL 和 EDLP。使用 ForceEDL 和 ForceEDLP 命令指定要使用哪个文件。有关更多详细信息,请参见上文。
注意:设置此参数后,生成的隐藏式字幕/SRT 文件将不会被修剪以匹配 EDL 文件。
CopyPropertiesFile=true (v2.3.15+)
如果设置了此参数,它会指示 MCEBuddy 复制 SageTV 属性文件(如果找到的话)以及原始视频。属性文件与转换后的文件一起复制到输出目录中。
CopyLogFile=true (v2.3.14+)
如果设置了此参数,它会指示 MCEBuddy 复制 Comskip 在广告检测期间生成的日志文件。日志文件与转换后的文件一起复制到输出目录中。
AutoDeinterlace=true (v2.3.14+)
如果设置了此参数,它会指示 MCEBuddy 自动检测视频的扫描类型(隔行扫描、逐行扫描或胶片转场)并覆盖配置文件参数以优化视频质量。
<encoder>-AudioDelay=xxx/auto/skip (v2.1.2-2.2.18, 2.2.19+)
为每种编码器类型设置此参数,例如
ffmpeg、mencoder 或 handbrake
当
xxx设置为 skip 时,它会指示 MCEBuddy 跳过音频延迟(同步)的自动校正。这对于某些文件格式(例如 AVI)非常有用,在这些格式中,音频在自动校正时会发生偏斜。
如果此参数设置为数值,则此参数用于手动指定音频延迟校正以校正音频同步,
xxx是以秒为单位的正数或负数。
值为 0 意味着 MCEBuddy 将跳过任何延迟校正。
如果该值等于 auto,它会将指定的延迟加到或减去为视频自动计算的音频延迟。
默认情况下,此参数设置为 skip。
例如:
mencoder-AudioDelay=0.85
<encoder>-AudioOptimized=true (v2.4.1+)
为每种编码器类型(例如 ffmpeg、mencoder 或 handbrake)设置此参数。
设置后,这会指示 MCEBuddy 音频参数配置文件 (<encoder>-audio) 已经过优化和固定,MCEBuddy 不得更改配置文件该部分中的任何参数。这意味着 MCEBuddy 不会调整任何音频参数,如 DRC、音频语言选择、音量调整、声道选择等。
<encoder>-VideoOptimized=true (v2.4.1+)
为每种编码器类型(例如 ffmpeg、mencoder 或 handbrake)设置此参数。
设置后,这会指示 MCEBuddy 视频参数配置文件 (<encoder>-video) 已经过优化和固定,MCEBuddy 不得更改配置文件该部分中的任何参数。这意味着 MCEBuddy 不会调整任何音频参数,如裁剪、缩放、比特率、隔行扫描等。
<encoder>-unsupported=<(optional) extension + (optional) video codec + (optional) audio codec> (v2.3.3+)
e.g.
mencoder-unsupported=ts+h264,wtv+h264+ac3,mpeg2+aac,dts,h265,wmv对于 order 中的每个编码器,可以指定容器、视频和音频编解码器的不受支持的组合,每个组合之间用
+分隔。多个条件之间用,分隔。如果源视频包含这些组合中的任何一个,则该特定编码器的转换将被强制失败,并将继续尝试使用 order 参数中指定的下一个编码器进行转换。
当您尝试将编码器和文件格式分开时,这会很有用,例如,您希望对 WTV HD 录像使用 ffmpeg,而对所有其他内容使用 MEncoder。
<encoder>-UsingHardwareEncoding=<true/false> (v.2.3.15)+
e.g.
handbrake-UsingHardwareEncoding=true当设置为 true 时,此标志将指示 MCEBuddy 不要检测/自动调整硬件编码器编解码器或任何与硬件编码相关的设置,因为此 profile 已经针对硬件编码进行了优化。
目前 MCEBuddy 仅支持对 Handbrake 进行自动硬件启用/调优,因此此设置仅适用于 Handbrake profiles。FFMpeg 和 MEncoder profiles 需要手动编写/优化以处理硬件编码。
<encoder>-DisableSoftwareEncoderFallback=<true/false> (v.2.4.3)+
e.g.
handbrake-DisableSoftwareEncoderFallback=true当设置为 true 时,此标志将指示 MCEBuddy 在硬件编码失败时,不要回退到该编码器工具的软件编码器。
DisableEncoderReordering=<true/false> (v.2.4.3)+
e.g.
DisableEncoderReordering=true当设置为 true 时,此标志将指示 MCEBuddy 不要更改 profile 中指定的编码器的顺序。默认情况下,MCEBuddy 将查看指定的编码器在(针对该系统和当前任务)顺序中的硬件编码能力,并将对编码器进行重新排序,以便优先使用最佳硬件编码器,从而在可用时优化硬件编码。
运行自定义命令 (v2.1.8+)
MCEBuddy 可以为用户提供在转换过程中的以下时间点按此顺序运行单个命令的选项:
请参阅转换过程概述以了解每个自定义命令的确切位置。
1. (v2.3.14+) 在转换过程的最开始,就在从源文件提取元数据之前(在重新封装、广告检测或转换之前)。可以带以下参数执行此自定义命令。为此,需要为需要运行转换前自定义命令的配置文件定义前 4 个参数。
注意:由于这是在元数据提取之前运行的,因此唯一可用的信息是关于原始/源文件名/路径以及诸如配置文件/任务名称等转换参数的信息。没有关于录制元数据的信息。
PreMetaCustomCommandPath=<可执行文件的完整路径/相对路径>
PreMetaCustomCommandParameters=<要传递的可选参数 - 列表见下文>
PreMetaCustomCommandHangPeriod=<0 或正数秒数>
PreMetaCustomCommandCritical=<true 或 false>
PreMetaCustomCommandUISession=<true 或 false>
PreMetaCustomCommandShowWindow=<true 或 false>
PreMetaCustomCommandExitCodeCheck=<true 或 false>2. (v2.3.13+) 在转换过程开始时,刚从源文件提取元数据之后(在重新封装、广告检测或转换之前)。可以带以下参数执行此自定义命令。为此,需要为需要运行转换前自定义命令的配置文件定义前 4 个参数。
PreCustomCommandPath=<可执行文件的完整路径/相对路径>
PreCustomCommandParameters=<要传递的可选参数 - 列表见下文>
PreCustomCommandHangPeriod=<0 或正数秒数>
PreCustomCommandCritical=<true 或 false>
PreCustomCommandUISession=<true 或 false>
PreCustomCommandShowWindow=<true 或 false>
PreCustomCommandExitCodeCheck=<true 或 false>3. (v2.3.15+) 在重新封装、隐藏式字幕提取和广告检测完成后,就在剪切广告之前。可以带以下参数执行此自定义命令。为此,需要为需要运行转换前自定义命令的配置文件定义前 4 个参数。
PreCommercialRemovalCustomCommandPath=<可执行文件的完整路径/相对路径>
PreCommercialRemovalCustomCommandParameters=<要传递的可选参数 - 列表见下文>
PreCommercialRemovalCustomCommandHangPeriod=<0 或正数秒数>
PreCommercialRemovalCustomCommandCritical=<true 或 false>
PreCommercialRemovalCustomCommandUISession=<true 或 false>
PreCommercialRemovalCustomCommandShowWindow=<true 或 false>
PreCommercialRemovalCustomCommandExitCodeCheck=<true 或 false>4. (v.2.1.8+) 在转换过程结束时,文件重命名之后且移动到目标目录之前。为此,需要为需要运行转换后自定义命令的配置文件定义前 4 个参数。
CustomCommandPath=<可执行文件的完整路径/相对路径>
CustomCommandParameters=<要传递的可选参数 - 列表见下文>
CustomCommandHangPeriod=<0 或正数秒数>
CustomCommandCritical=<true 或 false>
CustomCommandUISession=<true 或 false>
CustomCommandShowWindow=<true 或 false>
CustomCommandExitCodeCheck=<true 或 false>5. (v.2.3.14+) 在转换过程的最末端,所有文件都移动到目标目录之后。为此,需要为需要运行转换后自定义命令的配置文件定义前 4 个参数。
PostCustomCommandPath=<可执行文件的完整路径/相对路径>
PostCustomCommandParameters=<要传递的可选参数 - 列表见下文>
PostCustomCommandHangPeriod=<0 或正数秒数>
PostCustomCommandCritical=<true 或 false>
PostCustomCommandUISession=<true 或 false>
PostCustomCommandShowWindow=<true 或 false>
PostCustomCommandExitCodeCheck=<true 或 false>在 PreMetaCustomCommandParameters、PreCustomCommandParameters、PreCommercialRemovalCustomCommand、CustomCommandParameters 和 PostCustomCommandParameters 中,你可以使用以下参数:
- %convertedfile% - 将替换为(对于 PreMetaCustom 为空)(v2.4.3+ 对于 PreCommercialRemovalCustom 和 PreCustom 为预期的目标文件名)(对于 Custom 为转换并重命名后的文件)(对于 PostCustom 为移动/目标转换后的文件名) 的完整名称和路径,作为传递给自定义程序的参数的一部分。
- %convertedfilename% - 转换后的文件的名称(不含路径或扩展名)(v2.4.9+)
- %convertedext% - 转换后的文件的扩展名(不含 .)(v2.4.1+)
- %destinationpath% - 保存转换后文件的目标文件夹的完整路径 (v2.3.15+)
- %convertedfilesizemb% - 将替换为转换后的视频的大小(以 MB 为单位,保留 2 位小数)。(如果有错误则为 -1,如果文件不存在则为 0)(v2.4.4+)
- %sourcefile% - 将替换为原始源视频的名称和路径。
- %originalfilepath% - 源文件的完整路径
- %originalfilename% - 源文件的名称(不含路径或扩展名)
- %originalext% - 源文件的扩展名(不含 .)(v2.4.1+)
- %relativesourcepath% - 源文件相对于监视根路径的相对文件夹路径。(v2.4.6+)
- %sourcefilesizemb% - 将替换为原始源视频的大小(以 MB 为单位,保留 2 位小数)。(如果有错误则为 -1,如果文件不存在则为 0)(v2.4.4+)
- %remuxfile% - 如果源视频是 WTV 或 DVR-MS 文件,则将替换为在临时工作目录中生成的中间 .TS 文件的名称和路径。请注意,如果源视频不是 WTV 或 DVR-MS 文件,则此项为空。以下数据在可用时从源视频元数据中提取
- %workingpath% - 临时文件夹的完整路径lder where the converted file is kept (v2.3.12+)
- %srtfile% - SRT 文件的完整路径(如果存在,否则为空)(v2.3.12+)
- %edlfile% - EDL 文件的完整路径(如果存在,否则为空)(v2.3.12+)
- %taskname% - 正在使用的任务名称 (v2.3.13+)
- %profile% - 正在使用的配置文件名称 (v2.3.13+)
- %showname% - 节目标题
- %episodename% - 节目副标题
- %episodedescription% - 节目描述
- %season%## - 季数,每个数字对应一个 #
- %episode%## - 集数,每个数字对应一个 #
- %bannerfile% - 已下载横幅文件的完整路径
- %bannerurl% - 横幅文件的 URL
- %genre% - 流派
- %ismovie% - 如果视频是电影则为 True 或 False
- %issport% - 如果视频是体育节目则为 True 或 False (v2.3.15+)
- %premiereyear% - 系列首播年份 (v2.3.14+)
- %premieremonth% - 系列首播月份 (v2.3.14+)
- %premieremonthshort% - 系列首播月份名称缩写 (v2.3.14+)
- %premieremonthlong% - 系列首播月份全称 (v2.3.14+)
- %premiereday% - 系列首播日期 (v2.3.14+)
- %premieredayshort% - 系列首播星期缩写 (v2.3.14+)
- %premieredaylong% - 系列首播星期全称 (v2.3.14+)
- %airyear% - 播出年份
- %airmonth% - 播出月份
- %airmonthshort% - 播出月份缩写 (v2.3.11+)
- %airmonthlong% - 播出月份全称 (v2.3.11+)
- %airday% - 播出日期 (v2.3.6+)
- %airdayshort% - 播出星期缩写 (v2.3.11+)
- %airdaylong% - 播出星期全称 (v2.3.11+)
- %airhour% - 播出时间的 24 小时制小时 (v2.3.6+)
- %airhour12% - 播出时间的 12 小时制小时 (v2.4.2+)
- %airhourampm% - 上下午形式的播出小时 (v2.3.12+)
- %airminute% - 播出时间的分钟 (v2.3.6+)
- %recordyear% - 视频录制年份
- %recordmonth% - 视频录制月份
- %recordmonthshort% - 视频录制月份缩写 (v2.3.11+)
- %recordmonthlong% - 视频录制月份全称 (v2.3.11+)
- %recordday% - 视频录制日期 (v2.3.11+)
- %recorddayshort% - 视频录制日期的星期缩写 (v2.3.11+)
- %recorddaylong% - 视频录制日期的星期全称 (v2.3.11+)
- %recordhour% - 视频录制时间的 24 小时制小时 (v2.3.12+)
- %recordhour12% - 视频录制时间的 12 小时制小时 (v2.4.2+)
- %recordhourampm% - 上下午形式的视频录制小时 (v2.3.12+)
- %recordminute% - 视频录制分钟
- %network% - 录制该节目的网络频道
- %rating% - 家长分级 (v2.3.14+)
- %imdbmovieid% - IMDb 电影 ID
- %movieid% - TMDB 电影 ID
- %seriesid% - TVDB 系列 ID
- %airingdbid% - 来自 SageTV Airing 标签的 SageDbId (v2.4.1+)
- %mediafiledbid% - 来自 SageTV MediaFile 标签的 SageDbId (v.2.4.1+)
CustomCommandParameters 区分大小写。
例如
CustomCommandPath = C:\Test 1\test.exe例如
CustomCommandParameters = /i "%convertedfile%" /o "%sourcefile%" -t在上面的示例中,%convertedfile% 将被替换为转换后文件的完整路径和文件名。%sourcefile% 将被替换为原始源视频的完整路径和名称。
如果你的
CustomCommandXXX行以双引号开头并以双引号结尾,那么你必须将整行内容用额外的双引号括起来,否则 MCEBuddy 将无法读取它。例如
如果你希望传递的参数为:
"%convertedfile%" "D:\Media\TV Shows"那么你必须将其写作:
CustomCommandParameters = ""%convertedfile%" "D:\Media\TV Shows""(v2.1.4 - v2.3.12) MCEBuddy 将参数用双引号括起来。
(v2.3.12+) MCEBuddy 不会将参数用双引号括起来。某些应用程序要求参数必须带有双引号,因此你需要像上面示例中那样,在参数周围添加双引号。
(v2.3.15+) 对于 CustomCommandPath,MCEBuddy 可以接受相对路径(相对于 MCEBuddy 的安装目录),在此之前只能使用完整路径。
结尾处 # 的数量表示剧集和季数字符串中的位数。例如 %season%## 的输出将是 01,而 %season%### 的输出将是 001。# 是可选的,省略它们将直接输出数字而不进行任何格式化。即 %season% 的输出将是 1。
注意:在运行自定义命令时,输出会重定向到带有调试日志状态的日志文件中。还要注意,并非所有参数在 PreMetaCustomCommandParameters 和 PreCustomCommandParameters 中都具有有效值,因为此命令是在转换过程开始时运行的(例如 %convertedfile%、%remuxfile% 将返回空值,因为它们尚不存在;或者 PreMetaCustomCommandParameters 中的 %airday% 将返回空值,因为数据尚未提取)。
CustomCommandHangPeriod 表示 MCEBuddy 将等待的秒数,在此期间如果未检测到输出且未记录到日志文件中,它将判定进程挂起并将其终止。将其设置为 0 可禁用挂起检测。请注意,如果禁用挂起检测,MCEBuddy 将无休止地等待进程完成再继续(或者直到任务被删除/停止)。
CustomCommandCritical,当此项设置为 true 时,如果自定义命令无效或进程被终止(由于挂起检测),MCEBuddy 将导致整个转换失败。如果设置为 false,则无论自定义命令失败还是成功,MCEBuddy 都将继续转换处理,除非转换后的文件已被重命名或删除。默认值为 false。
CustomCommandUISession (v2.3.15+) 设置为 to true,如果您希望程序在 UI 空间(Session 1\)而不是内核/服务空间(Session 0\)中运行(这不会创建 UI 界面,只是在 UI 空间中运行程序)。这仅在您运行访问硬件启用 API(例如 QuickSync、CUDA、DirectX 等)的程序时才有用,因为 MCEBuddy 作为服务在内核空间运行,而某些操作系统不允许从内核空间直接访问硬件 API。请仅在需要时使用此参数。它还有其他影响,例如,Unicode 文件名将无法工作,并且 MCEBuddy 映射的网络共享不可用(因为这是 UI 会话,而 MCEBuddy 在服务会话中映射共享)等。
CustomCommandShowWindow (v2.3.15+) 如果您希望 MCEBuddy 显示其正在运行的程序的窗口,则设置为 true;若要隐藏窗口,则设置为 false。
CustomCommandExitCodeCheck (v2.4.1+) 如果您希望 MCEBuddy 检查自定义命令应用程序的退出代码,则设置为 true。如果返回代码为 0(默认值),则被视为成功,如果不是 0(正数或负数),则被视为失败。如果退出代码失败,MCEBuddy 将停止进一步处理并使转换失败。
**注意:**如果自定义命令删除或重命名了转换后的文件 (%convertedfile%),MCEBuddy 将使转换过程失败。另请注意,如果自定义命令找不到指定的文件,它将失败(避免在网络驱动器上使用可执行文件,因为 MCEBuddy 使用 Windows 服务帐户访问网络驱动器,有时由于凭据问题,这些驱动器映射不正确)
(mcebuddy.conf) 高级配置参数
注意:从 v2.3.13 开始,MCEBuddy.conf 中的所有高级配置参数(FFmpegBackupRemux 除外)都可以通过图形界面 设置 -> 专家设置 页面进行访问。您不需要手动编辑 mcebuddy.conf 文件。
FFMpegBackupRemux (v2.1.12+)
这是配置文件中的一个特殊部分,用于存储 ReMux 操作的命令参数。如果主 ReMuxSupp 应用程序失败/未使用来重新封装视频,则使用 FFMPEG 执行这些操作。首先使用 CopyRemux,如果失败,则使用 SlowRemux。CopyRemux 首先用于 MPEG2 视频文件,以便在不重新编码视频的情况下对视频进行流复制。如果原始视频不是 MPEG2 或者 CopyRemux 失败,则使用 SlowRemux 参数来重新封装视频。除非备份重新封装完全失败,否则不应更改这些参数。这些条目中的每一个后面都会有一个数字,例如 CopyRemux0、CopyRemux1、SlowRemux0、SlowRemux1 等。这些数字表示在前一个失败的情况下要尝试的连续重新封装参数,即如果 SlowRemux0 失败,MCEBuddy 将寻找 SlowRemux1,如果失败,则寻找 SlowRemux2 等。
您还可以在重新封装参数中指定 -i <source> 作为输入文件名的占位符,MCEBuddy 将在运行时对其进行替换。如果您想在 FFMPEG 参数命令中的输入文件之前指定参数,这会很有用。
例如
CopyRemux0 = -fflags +genpts -i <source> -map 0:a -map 0:v -vcodec copy -acodec copyMCEBuddy 通过在 CopyRemux 和 SlowRemux 的 FFMPEG 重新封装参数中使用 -r auto 自动检测视频的帧率。可以通过删除 -r auto 来禁用此功能。也可以通过手动指定要使用的帧率来覆盖它(如果丢帧和/或重复帧的平均率非常高导致视频卡顿,这会很有用)。
例如
-r auto
例如-r 25
例如-r 30*1000/1001MCEBuddy 监视丢帧平均率和重复帧平均率,关键是平均率而不是绝对值。如果超过阈值,则自动检测的帧率不正确,需要更正。这些阈值可以在参数 RemuxDropThreshold 和 RemuxDuplicateThreshold 中指定。如果超过该阈值,您可能需要手动指定帧率(见上文)。
例如
RemuxDropThreshold=3.0
例如RemuxDuplicateThreshold=3.0[FFMpegBackupRemux]
CopyRemux0=<FFMPEG 重新封装参数>
SlowRemux0=<FFMPEG 重新封装参数>
SlowRemux1=<FFMPEG 重新封装参数>
RemuxDropThreshold=<丢帧平均率阈值>
RemuxDuplicateThreshold=<重复帧平均率阈值>