目前,我在 Windows(10 Pro x64)上的主要媒体播放器是 VLC,但我注意到,当我想要播放 UHD 内容(2K、4K 视频)时,它会冻结。
我的电脑配置:Intel i7 3770、16GB RAM、512GB SSD、nVidia GTX 970 4GB。
声音正常,但图像冻结(每秒 2-3 帧分钟)。
我尝试设置编解码器或启用/禁用 GPU 加速,但没有成功。
我应该如何设置才能流畅地播放这种内容?
附言:Media Player Classic 播放相同文件非常流畅,但我想保留 VLC 作为主播放器。
答案1
我已成功使用 VLC 版本 2.2.4 重现该问题。
仅当“硬件加速解码”设置为“禁用”以外的其他设置时,才会出现冻结问题。
显然,VLC 现在支持 GPU 解码,但我认为它以一种非常低效的方式完成。
文章
如何在 VLC 中启用 GPU 加速解码
说:
数据在解码阶段由 GPU 解码,然后传回播放器,以便处理其他阶段,例如过滤和流式传输。
当我将“硬件加速解码”设置为“禁用”时,我获得了更好的帧率。这会将整个负担都放在 CPU 上,因此需要强大的 CPU。
用户 Journeyman Geek 建议增加“工具/首选项/视频编解码器”/FFMPEG/线程下的线程数,但对我来说,默认值 0(表示“自动”)就足够了。您可以进一步尝试其他线程值。我只是指出,FFMPEG 库并不适用于所有视频格式。
VLC 目前(2016 年)显然不支持 x265 编解码器,因为从以下位置下载的 x265 视频无法播放:4ksamples.com。但是,使用 Media Player Classic 一切都运行顺利。
编辑(2018):VLC 现在可以成功处理这些文件。
答案2
我一直在尝试4K 小狗洗澡视频来自 4ksamples.com 以及其他一些网站。我找到了一个适合我的测试视频的组合。我注意到,合理快速的存储对于高质量播放至关重要。考虑到需要反复试验,请备份当前设置。这些设置适用于 3770、16GB 内存和 gforce 980TI,我知道它们支持 4k
我更改了不少高级设置,以便让它正常工作。在理论我想启用 DXVA,但这会导致 VLC 崩溃。
在偏好设置的简单模式下,转到工具->偏好设置和输入/编解码器,然后在跳过 H.264 循环去块过滤器的下拉框中将其更改为全部。VLC 推荐此产品
切换到“偏好设置”下的“显示全部”并尝试这些更改
我关掉了全部视频滤镜下的滤镜。这是我做的最后一件事,似乎帮助最大,所以我从这里开始
在“视频编解码器”-> FFMPEG 下,我将线程设置为 3。您可能想尝试更高或更低的数字。
确保输出模块/DirectX 下的所有内容都未勾选。
这些改变似乎已经奏效。
作为参考,一旦我删除注释行,我的 vlcrc 看起来像
[directdraw]
directx-hw-yuv=0
directx-3buffering=0
[direct3d]
direct3d-shader=Disabled
[swscale]
swscale-mode=9
[qt4]
qt-privacy-ask=0
[x264]
sout-x264-profile=main
sout-x264-preset=veryfast
sout-x264-tune=film
[qsv]
sout-qsv-software=1
sout-qsv-h264-profile=decide
sout-qsv-h264-level=decide
sout-qsv-mpeg2-profile=decide
sout-qsv-mpeg2-level=decide
[avcodec]
avcodec-skiploopfilter=4
avcodec-hw=any
avcodec-threads=3
[waveout]
waveout-volume=0.700000
[directsound]
directx-volume=0.700000
[filesystem]
filetypes=m3u,db,nfo,ini,jpg,jpeg,ljpg,gif,png,pgm,pgmyuv,pbm,pam,tga,bmp,pnm,xpm,xcf,pcx,tif,tiff,lbm,sfv,txt,sub,idx,srt,cue,ssa
[core]
aout=any
video-deco=0
vout=direct3d
video-filter=swscale
vod-server=any