相关配置:
MCEBuddy 和 Comskip 的捐赠版
显卡:Radeon R7 240,支持 OpenCL
主板:华硕 B85M-E/CSM
我发现,当把显卡物理拔掉后,MCEBuddy 的转码速度明显更快。一段 2 小时的 MPEG2-TS 视频,插卡时需要 2 小时以上,拔卡后不到 1 小时就能完成。
目前我已按 MCEBuddy 建议安装了最新稳定版 Intel 核显驱动,也试过列表里的其他稳定版本,均无效。
试过在配置里加 -P,结果处理速度反而更慢。
BIOS 里只找到两项设置:
- “iGPU Multi-Monitor” 已启用
- “Primary Display” 设为 PCIe 卡
我附上了两份日志:
- 插卡转码的日志(GPU…txt)
- 同文件拔卡后的日志(NO_GPU…txt)
流程:先插卡跑完一次,关机拔卡后不改任何设置(仅让 MCEBuddy 重新识别已转码文件)再跑一次。
编辑:我还装了 Intel Media SDK 2016(Google 上某论坛说有效),依旧无果。
如有任何建议或需要更多信息,请告诉我,万分感谢!
GPU_Dragons’ Den (2006) - S12E01 - Episode 1.ts-Convert to MP4-2017-10-01T08-54-26.5514755-04-00.log (9.2 MB)
NO_GPU_Dragons’ Den (2006) - S12E01 - Episode 1.ts-Convert to MP4-2017-10-01T11-27-25.2532110-04-00.log (3.2 MB)
Goose
(Goose)
2
如果你查看日志,会发现启用了 GPU 的转换中,GPU 转换失败并回退到软件编码。
2017-10-01T09:16:50 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 1, 0.71 % (33.70 fps, avg 28.06 fps, ETA 03h39m13s)[mp4 @ 0000000006297ea0] pts < dts in stream 0
2017-10-01T09:16:50 MCEBuddy.AppWrapper.Handbrake → ERROR: avformatMux: track 0, av_interleaved_write_frame failed with error ‘Error number -22 occurred’
据我所知,可能有两个原因:
- Handbrake 有 bug
- 你的驱动有 bug
首先尝试使用 MCEBuddy 的 2.4.8 BETA 版本,它包含更新版的 Handbrake,或者你也可以从 Handbrake 官网下载最新版本,替换到 MCEBuddy 安装目录。
对于第二个问题,请使用推荐的驱动版本,你当前的版本是:
driver version: 20.19.15.4624
感谢回复,Goose!
抱歉,我阴差阳错地把你建议的顺序搞反了。
我最终换用了另一个文件,不过格式完全一致,应该不会有影响。第二个文件小得多,所以我能更快看到转换进度条并估算剩余时间。从估算结果看速度并没有提升,因此日志并不完整,但应该足够排查问题。
我安装了驱动版本 10.18.10.3379,因为这是唯一能在 Windows 10 上运行的版本(之前没注意到它已标明“仅限 Win10”,必须严格按照下方步骤才能成功安装)。装完后生成了第一个日志文件 GPU_PROPER_DRIVER…txt,转换速度与 GPU…txt 日志相比没有变化。
GPU_PROPER_DRIVER_The Big Bang Theory (2007) - S11E02 - The Retraction Reaction.ts-Convert to MP4-2017-10-02T20-57-45.4762586-04-00.log (3.1 MB)
随后我升级到 MCE Buddy Beta 2.4.8,生成了 GPU_PROPER_DRIVER_MCE248…txt。这次转换时间翻倍,从 30 分钟变成 1 小时。
GPU_PROPER_DRIVER_MCE248_The Big Bang Theory (2007) - S11E02 - The Retraction Reaction.ts-Convert to MP4-2017-10-02T22-32-40.0981448-04-00.log (685.2 KB)
我记得以前处理过同样大小的文件,无 GPU 时估算时间 15 分钟,与“无 GPU 时首文件耗时 1 小时(视频时长/2)”吻合。综上,这些更新并未带来任何速度提升。
Goose
(Goose)
5
您的日志显示您的系统未使用硬件编码,而是回退到软件编码。
2017-10-02T22:38:52 MCEBuddy.AppWrapper.Handbrake → [22:38:52] qsv_enc_init: using ‘software’ implementation, API: 1.23
2017-10-02T22:38:56 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 1, 0.13 %
2017-10-02T22:38:58 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 1, 0.17 %
2017-10-02T22:39:00 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 1, 0.20 % (7.26 fps, avg 13.90 fps, ETA 00h44m30s)
这表明您的显卡驱动或硬件存在问题。请尝试使用其他驱动版本,例如最新的 Microsoft WHQL 驱动,或从 Intel 官网获取的最新版本。您可能需要尝试多个版本,直到找到可用的驱动。
也可以尝试使用这个版本的 Handbrake,看看是否有所改善:
您的其他日志显示编码器因视频损坏而失败:
2017-10-02T21:06:59 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 1, 2.57 % (8.27 fps, avg 8.83 fps, ETA 01h08m25s)[mp4 @ 0000000006af0f00] pts < dts in stream 0
2017-10-02T21:06:59 MCEBuddy.AppWrapper.Handbrake → ERROR: avformatMux: track 0, av_interleaved_write_frame failed with error ‘Error number -22 occurred’
您是在单个视频上遇到此问题,还是所有视频文件都如此?
我原本打算試試使用最新的 Intel 驅動程式。舊版但官方推薦的 Intel 驅動程式在沒有 BETA MCE Buddy 的情況下,竟然比有 BETA 版本時還快,這實在說不過去。
速度問題影響到所有影片。不過我從來沒遇過轉檔失敗,最終都能得到可用的 MPEG-4。
Goose
(Goose)
8
你能把其中一个原始视频上传到 MCEBuddy 服务器吗?让我看看,了解一下情况。我怀疑可能是硬件解码导致的问题,让我试试看。
文件上传方法可在《发帖前必读》中查看:
我的想法是將 Intel GPU 設為主要裝置,這樣 mcebuddy 就能用它來進行硬體轉碼。據我所知,mcebuddy 只支援 Intel 和 NVIDIA 的硬體轉碼。
我该怎么做?
这是否意味着我仍然可以保留我的独立显卡用于游戏,但让 MCE Buddy 只使用集成显卡?
如果是这样,你可能会想,软件应该会自动切换到集成显卡,这样我就不会遇到任何问题了。
谢谢你的帮助!
你之前提到在 BIOS 裡有「Primary Display」的選項,可以試著改一下,但要準備好隨時把螢幕接到 Intel 的 GPU 上。至於遊戲,我不是玩家,所以不清楚。另外,Radeon R7 240 已經很舊了,我建議你把它退掉,換成 Quadro P400。兩者價格差不多,而且 P400 玩遊戲應該夠用,也是單槽、不用額外供電。我提過 MCEBuddy 在這張卡上跑得超順嗎?