eltanque
(David Vaitman)
2020 年1 月 29 日 23:51
1
嗨,
首先,感谢这个工具,我已经用了很久,它通过自动化所有与电视录制相关的操作,解决了我的问题。
但我觉得,尽管它能工作,我的配置可能仍有问题,因为处理速度应该更快,而且有时转换结果也有些问题需要解决。
我通过 MCEBuddy 处理的都是电视录制(我在澳大利亚),所有内容应该都是 25fps,大多数是 x265、AC3 音频,分辨率要么是 1080i 要么是 576i。
我用 MCEBuddy 的原因:
想从录制流里提取字幕(大多数情况下都有)。
去除广告很棒。
转换成 MP4,因为我用 PLEX,而 PLEX 无法播放带 .srt 的 .ts 文件。
我遇到的问题:
转换太慢。我猜跟我的配置有关?但不知道改什么。源文件和目标都是 x264,按理说应该很快,但实际却像在做全片重编码。
comskip 基本能用,但会在广告前约 1 秒就切掉,广告尾巴也能看到一点。我试过前后填充,可字幕就全乱了,不是固定延迟,而是每次广告后累积错位。
我有块 nVidia 显卡,不确定有没有被利用。
配置里选手掌 Handbrake,但老失败。我不在乎用哪个工具,只要结果对就行。我觉得 ffmpeg 可以做视频流复制,只把音频转 AAC,应该更快,但不知道怎么配。
补充:
5. 还有个问题,可能更多是 Plex 的事。有时我录的节目会连播 2-3 集,NextPVR 会录成三个独立文件。可录制里似乎没季/集元数据,我只好用超长的命名,包含节目名、日期和时间。但 Plex 会把它们当成同一集,显示成 2-3 份重复,而不是独立集数。有没有更好的整理办法?或者后期处理?
如果有人能帮忙,我已上传了原始文件、转换后文件、配置和调试日志,方便调配置。
谢谢!
Goose
(Goose)
2020 年1 月 30 日 03:34
2
看起来你遇到了驱动问题,无论 MCEBuddy 如何尝试,你的硬件似乎都不配合。从日志看,MCEBuddy 检测到了 Intel QSV 和 NVidia NvEnc 两种硬件编码器:
“gpus”: [
{
“hardwareBrand”: “Intel”,
“codecType”: “Encoder”,
“hardwareCodecPresent”: true,
“h265Codec”: false,
“h264Codec”: true
},
{
“hardwareBrand”: “NVidia”,
“codecType”: “Encoder”,
“hardwareCodecPresent”: true,
“h265Codec”: false,
“h264Codec”: true
}
]
它先尝试使用 Intel QuickSync 硬件编码器,但由于驱动不支持硬件解码而失败:
2020-01-30T10:08:14 MCEBuddy.AppWrapper.Handbrake → [10:08:14] thread b started (“Quick Sync Video encoder (Intel Media SDK)”)
2020-01-30T10:08:14 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 1, 0.00 %
→ Process exited with code 255
接着关闭硬件解码再试,驱动多走了一段又失败:
2020-01-30T10:08:16 MCEBuddy.Transcode.ConvertWithHandbrake → Disabling qsv decoder
2020-01-30T10:10:57 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 1, 25.11 % (61.51 fps, avg 63.42 fps, ETA 00h07m47s)Error code -17, hb_qsv_wait_on_sync 605
2020-01-30T10:10:57 MCEBuddy.AppWrapper.Handbrake → ERROR: encqsv: MFXVideoENCODE_EncodeFrameAsync failed (-17)
然后尝试 NVidia 显卡,但 Nvidia 驱动也不配合:
2020-01-30T10:11:02 MCEBuddy.AppWrapper.Handbrake → [h264_nvenc @ 000000000bcc7880] No NVENC capable devices found
最后只好放弃 handbrake 和硬件,改用 ffmpeg 再次尝试,这次终于成功。
这就是耗时长的原因。你需要更新驱动,参考稳定驱动列表 。
对于 Nvidia 和 handbrake,请检查 BIOS 中的主显卡设置,确保设为 Nvidia 卡,并确保显示器连接到 Nvidia 卡(参考假显示器 技巧),以便 Handbrake 能识别。
另外,先用自带的预设而不是自定义预设。也可以升级到最新的 2.5.3 测试版,我们对 handbrake 和硬件编码的性能做了进一步优化。
eltanque
(David Vaitman)
2020 年1 月 30 日 03:40
3
謝謝,
我會全部試試看,
不過,我是不是更適合做 ffmpeg?正如我所說的,我不在乎用哪個工具來轉換。
Goose
(Goose)
2020 年1 月 30 日 13:33
4
當然。如果你的系統上 ffmpeg 比較穩定,只要把設定檔的順序從 handbrake 優先改成 ffmpeg 優先即可。