HW H265 固定品質設定檔

大家好,

我一直在嘗試開發一個 H265 固定品質硬體加速設定檔。設定檔的內容如下,但我在日誌中完全沒看到 NVEC 相關資訊。

我使用的是 10 核心 i7 搭配 GeForce 1080 顯示卡。編碼一小時的節目大約需要 90 分鐘。工作管理員顯示 GPU 完全沒動靜,但 CPU 卻滿載。我已安裝最新版 GeForce 驅動程式與 CUDA 擴充套件。有人看得出設定檔哪裡有問題嗎?

[----------------------]
[MKV Constant Quality]
Description=WARNING: Handbrake Constant Quality encoding (18).
order=handbrake
handbrake-UsingHardwareEncoding=true
handbrake-general=–decomb --denoise=“weak” --loose-anamorphic --verbose=2 -T -O
handbrake-video=–start-at duration:3 -e x265 -q 18
handbrake-audio=-E ffac3 -R auto -B 192 -D 0 -a 1,2,3,4,5
handbrake-audioac3=-E ffac3 -R auto -B 384 -D 0 -a 1,2,3,4,5
handbrake-ext=.mkv
handbrake-audiodelay=skip
PreConversionCommercialRemover=true


你是指 MCEBuddy 的日誌嗎?設定檔看起來沒問題

是的 - 抱歉 - 本应贴出日志。日志链接如下:

最近录制:Microsoft OneDrive
MCEBuddy.log:Microsoft OneDrive

谢谢!Will。

記錄檔顯示 MCEBuddy 無法存取您的檔案:(只要在記錄檔中尋找「ERROR>」就能知道失敗原因)

ERROR> 2017-10-05T06:46:29 MCEBuddy.Engine.ConversionJob → PreMeta 來源檔案已被自訂命令重新命名或刪除 → \Disk8\Plex\TV\NOVA\Season 44\NOVA (1974) - S44E13 - Secrets of the Shining Knight.ts

选错日志了——每次更新 Windows,我都得在 MCEBuddy 里重新输入 NAS 的网络凭据。

这是一个成功转码文件的日志,看起来没用硬件加速:Microsoft OneDrive

我还需要做什么吗?我装了最新驱动(387.78)和 CUDA(9.0)。

日志里有一行特别醒目:

2017-10-06T01:58:52 MCEBuddy.Transcode.ConvertWithHandbrake --> Auto Enable Hardware Encoding : False

是有什么设置被我漏掉了吗?

谢谢!Will。

這則訊息基本上直接反映了你設定 handbrake-UsingHardwareEncoding=true,這會告訴 MCEBuddy 該設定檔已針對硬體編碼進行最佳化,因此不應更改任何硬體設定或自動啟用硬體。

我應該早點發現這點,抱歉。你使用的是 NVIDIA GPU 與 NvEnc,因此需要使用 FFMPEG 設定檔,而非 Handbrake 設定檔。

Handbrake 僅支援 Intel OpenCL,而 FFMPEG 支援 NVIDIA NvEnc。只要把你的設定檔轉換成 ffmpeg 就能運作。

谢谢。我觉得FFMPEG的文档有点难懂。我觉得这是对的——你能确认一下吗?

[----------------------]
[MKV 恒定质量]
Description=警告:HandBrake 恒定质量编码(18)使用 HEVC。
order=ffmpeg, handbrake
ffmpeg-general=-threads 0 -hwaccel auto
ffmpeg-video=-ss 3 -vf yadif=0:-1:1,hqdn3d -vcodec libx265 -q 18 
ffmpeg-audio=-acodec ac3 -ab 192k -map 0:a
ffmpeg-audioac3=-acodec ac3 -ab 384k -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
handbrake-UsingHardwareEncoding=true
handbrake-general=--decomb --denoise="weak" --loose-anamorphic --verbose=2 -T -O
handbrake-video=--start-at duration:3 -e x265 -q 18 
handbrake-audio=-E ffac3 -R auto -B 192 -D 0 -a 1,2,3,4,5
handbrake-audioac3=-E ffac3 -R auto -B 384 -D 0 -a 1,2,3,4,5
handbrake-ext=.mkv
handbrake-audiodelay=skip
PreConversionCommercialRemover=true

谢谢!Will。

請注意,在這種情況下你使用的是 x265,但尚未為 ffmpeg 指定硬體最佳化,因此 MCEBuddy 應該會在執行時自動替換編解碼器。

我需要做什么来纠正吗?它还能进行硬件加速的H265吗?

啊——我需要加上 ffmpeg-UsingHardwareEncoding=True,對吧?

如果你加上這一行,MCEBuddy 會假設你的設定檔已經準備好並最佳化為硬體編碼,因此不會做任何變更來將軟體編碼轉換成硬體編碼。是的,MCEBuddy 確實支援 h.265 硬體編碼最佳化。

目前你的設定檔告訴 ffmpeg 使用 libx265,這是一個軟體編碼器。

所以:

ffmpeg-video=-ss 3 -vf yadif=0:-1:1,hqdn3d -vcodec nvec_hevc -q 18

谢谢!Will。

如果你使用的是 ffmpeg-UsingHardwareEncoding=True,那就对了。

首先,感谢你的帮助。经过多次尝试和错误,我终于得到了一个适用于恒定质量 H265 的配置。专业提示:H264 和 H265 的恒定质量标度是不同的。

[MKV HVEC Constant Quality]
Description=WARNING: Handbrake Constant Quality encoding (25) with Nvidia HVEC.
order=ffmpeg, handbrake
AllowH264CopyRemuxing=true
FixedResolution=true
SkipCropping=true
AutoDeinterlace=true
ffmpeg-UsingHardwareEncoding=True
ffmpeg-general=-threads 0 -hwaccel auto
ffmpeg-video=-ss 9 -c:v hevc_nvenc -crf 25 -map 0:v
ffmpeg-audio=-acodec ac3 -ab 192k -map 0:a
ffmpeg-audioac3=-acodec ac3 -ab 384k -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
handbrake-UsingHardwareEncoding=true
handbrake-general=--decomb --denoise="weak" --loose-anamorphic --verbose=2 -T -O
handbrake-video=--start-at duration:3 -e x265 -q 18 
handbrake-audio=-E ffac3 -R auto -B 192 -D 0 -a 1,2,3,4,5
handbrake-audioac3=-E ffac3 -R auto -B 384 -D 0 -a 1,2,3,4,5
handbrake-ext=.mkv
handbrake-audiodelay=skip
PreConversionCommercialRemover=true

其次,如果我用 Nvidia 专用版本替换 FFMpeg,会不会出问题?

谢谢!Will。

不應該,你可以試試看。好奇,你想換成哪個版本?

我把它换成了最新的 FFMpeg Win64 静态编译版,版本是 3.3——在此之前(以及在我升级到最新版 MCEBuddy 之后),hevc_nvenc 编码器都无法使用。

能否像自定义配置文件或 comskip 路径那样,允许手动指定 FFMpeg 的位置?

谢谢!Will。

我们将在下一个版本中升级 ffmpeg 的版本,并为硬件编码添加更多优化。如果你对测试 NVENc 相关功能感兴趣,我会通知你。

非常愿意参与测试。我已经是捐赠者了……

via Newton Mail

你可以試試最新的 2.4.8 BETA 版本,使用新的 ffmpeg,然後告訴我 nvenc 編碼(hevc 和 x264)的狀況如何。

另外,如果我沒記錯的話,nvenc 不支援 -crf 參數,但你可以試試看並告訴我結果。請查看你的日誌了解實際情況。

尝试使用 -cq 而不是 -crf,然后告诉我是否有效。我们的 NVIDIA 机器烧坏了,所以在更换之前,我们正在寻找一些测试者 :slight_smile:(或者如果有人愿意捐赠一台 NVIDIA Pascal 机器给我们)。