我買錯卡了嗎?沒有 NVENC 裝置

我現在用 GTX 1650,嗯……一直試著讓它恢復正常。大約三個月前(九月)它還跑得飛快,當時用的是 2019/9/5 的 MCEBuddy 2.5.1 版,那是我用過最快的版本,甚至比後來的新版還快兩倍左右(至少對我是這樣,原因不明)。現在換成 2019/12/24 的 2.5.3 版後,不但出現一堆 WARNINGS 與 ERRORS,轉檔時間也從 2 分鐘飆到 6 分鐘……抱歉,我手邊只剩新版的 log,舊的已經沒了。我已經盡力重現當時環境:重裝相同驅動、反覆用 DDU 清乾淨、換不同 FFmpeg、調各種 profile,只剩這張九月留下的 GIF 還能看出當時 CPU 大概吃 70%。

still

Bob’s Burgers - 3x18 - It Snakes a Village.mkv-mp4 fast-2019-12-30T21-55-22.5802682-06-00.log

2.5.3 2019/12/24 版,CPU 約 70%(501.1 KB)slow|369x500

您的日志显示 MCEBuddy 检测到了您的 nvenc 编码器,但 ffmpeg 无法使用它:

2019-12-30T21:56:20 MCEBuddy.AppWrapper.FFmpeg → [h264_nvenc @ 00000000028e5d40] No NVENC capable devices found

然而,HandBrake 却能使用它,转换速度约为 98fps。

听起来像是您的显卡驱动发生了变化,导致 ffmpeg 出现问题。请尝试将驱动更换为更稳定的版本,或回滚到旧版本。

关于 GPU 利用率,请参见此主题了解更多详情。

我需要一些幫助,把影片從 High 10 轉換成 8 bit
這是我正在用的設定
[MP4 Fast]
Description=Fast MP4 (H.264/AAC)
order=ffmpeg,handbrake
ffmpeg-general=-threads 0 -hwaccel auto
ffmpeg-video=-ss 0 -vcodec libx264 -b 1000k -x264opts cabac=0:ref=2:bframes=1:weightp=0:8x8dct=0:trellis=0:subq=6:me=hex:b-adapt=0:threads=auto -map 0:v -sn
ffmpeg-audio=-acodec aac -ab 128k -map 0:a
ffmpeg-audioac3=-acodec aac -ab 160k -map 0:a
ffmpeg-ext=.mp4
ffmpeg-audiodelay=skip
handbrake-general=–loose-anamorphic --verbose=2 -f mp4 -O
handbrake-video=–start-at duration:0 -e x264 -b 1000 -x cabac=0:ref=2:bframes=1:weightp=0:8x8dct=0:trellis=0:subq=6:me=hex:b-adapt=0:threads=auto
handbrake-audio=-E faac -R auto -B 128 -D 0 -a 1,2,3,4,5
handbrake-audioac3=-E faac -R auto -B 160 -D 0 -a 1,2,3,4,5
handbrake-ext=.mp4
handbrake-audiodelay=skip
PreConversionCommercialRemover=true
AutoDeinterlace=false

Plex 現在對所有 High 10 的檔案都得轉碼

這種東西超出我的能力範圍,任何幫助都非常感謝

Plex 不是会根据播放设备的能力进行转码吗?也许先弄清楚播放设备支持什么格式,再选一个对应的配置文件。

我要怎麼把影片從 High 10 轉成 8 bit?ffmpeg-video=-ss 0 -vcodec libx264 -b 1000k -x264opts cabac=0:ref=2:bframes=1:weightp=0:8x8dct=0:trellis=0:subq=6:me=hex:b-adapt=0:threads=auto -map 0:v -sn
我完全看不懂這些是什麼意思

我对 ffmpeg 的选项不熟,但它们在 ffmpeg.org 网站上有文档说明。
如果你用 Handbrake,10 位和 12 位有各自的编码器,例如 “x264” 是 8 位编码器,“x264_10bit” 是 10 位编码器。所以从你配置文件里的选项就能看出是否被下转换成 8 位。

我一点也不惊讶 ffmpeg 的编码器选项也是这么选的。如果你想确保,就在配置文件里把转码引擎优先级设成使用 Handbrake 的 8 位编码器,别用 FFMPEG。

看了 FFMPEG 官網,參考資料在這裡:

9.10.1 支援的像素格式

x264 支援 8 至 10 位元色彩空間,確切的位元深度在 x264 的 configure 階段決定。FFmpeg 在單一編譯版本裡只支援一種位元深度;換句話說,無法在同一個 FFmpeg 裡同時編入多個不同位元深度的 x264 版本。

所以真正的關鍵是:你從誰/哪裡取得 libx264 編碼器函式庫,以及他們在編譯時設定了哪些選項。

十之八九,大家編譯的 libx264 都是 8 位元色彩空間。你的播放程式/裝置(例如 VLC、Plex 等)也必須支援相同的色彩空間。

Goose 大概能說明 FFMPEG 裡的 libx264 是怎麼編譯的;MCEBuddy 的 FFMPEG 則表示只是用了預設/隨附的 libx264。