12代集显没法硬解YUV444p10
本帖最后由 mitsukaze 于 2024-1-6 22:33 编辑买了个N100的小主机,之前也查了这个u支持HEVC YUV444p10的硬解.
但是经过测试,无论是jellyfin还是mpv都有着极高的CPU占用.请问大佬有知道为什么么?
BTW我用的win系统,这是dxva checker检测的结果
这是开了个网页版jellyfin player通过transcode观看绯弹的亚里亚, vcb压的YUV444p10
同时也试了其他的一些视频源,有些很高码率的YUV420p10都能很轻松的转码,cpu占用率几乎没有,也有很多动画同样cpu占用率很高.
麻了,不知道发生啥了
看了眼log,这个是jellyfin调用ffmpeg的命令
ffmpeg -analyzeduration 200M -ss 00:07:06.000 -init_hw_device d3d11va=dx11:,vendor=0x8086 -init_hw_device qsv=qs@dx11 -filter_hw_device qs -autorotate 0 -i file:"D:\Downloads\ Hidan no Aria .mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_qsv -low_power 1 -preset 7 -look_ahead 0 -b:v 5820027 -maxrate 5820027 -bufsize 11640054 -g:v:0 72 -keyint_min:v:0 72 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(1920\,1080*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(1920/a\,1080))/2)*2,format=yuv420p" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 142 -hls_segment_filename "D:\Programs\JellyfinData\transcodes\f8bb279c3461a2920f96ba98c1608697%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "D:\Programs\JellyfinData\transcodes\f8bb279c3461a2920f96ba98c1608697.m3u8"
本帖最后由 孤雨独火 于 2024-1-7 12:57 编辑
你确定ffmpeg的d3d11va支持过这个格式?我印象中主线里没人做过
你mpv调用的是哪个api?
vulkan-copy ?
qsv-copy ?
d3d12va-copy ?
jellyfin添加了d3d11下的HEVC Rext支持,但是还没启用。我等今年有时间给它加上。
https://github.com/jellyfin/jellyfin-ffmpeg/blob/jellyfin/debian/patches/0040-add-d3d11va-dxva2-hevc-422-444-decoding.patch nyanmisaka 发表于 2024-1-7 17:52
jellyfin添加了d3d11下的HEVC Rext支持,但是还没启用。我等今年有时间给它加上。
https://github.com/jel ...
大佬是maintainer?太强了...
btw我又试了一下,貌似ffmpeg是可以调用qsv硬解的,只是jellyfin调用ffmpeg的parameter不一样.
这个转码指令是好用的
# HW transcode YUV444 HEVC to NV12 HEVC (or h264 -- replace hevc_qsv with h264_qsv)
.\ffmpeg.exe -hwaccel qsv -c:v hevc_qsv -i file:"D:\Downloads\AIR 2005 EP07 - yan04000985.mkv" -vf vpp_qsv=format=nv12 -c:v hevc_qsv -b:v 5M "D:\Downloads\transcode_output.mp4"
本帖最后由 shadows 于 2024-1-7 23:51 编辑
mpv,默认按键绑定下,按I(大写的i),会显示状态信息,如果是硬解,可以看到Video那一行的末尾HW:xxx就是使用了xxx硬解
另外也建议看日志或者控制台(默认按键下,按`这个按键,可以显示控制台),会提供mpv尝试硬解的过程,会说明为啥硬解用不了
不过楼上已经说明清楚了,ffmpeg不支持这样硬解……
参考:
https://github.com/Nevcairiel/LAVFilters/issues/547
之前也搞了我很久,最后换MPC-BE了 这个编码不就是软解用的吗,又不是工业制式编码,能硬解? 本帖最后由 mitsukaze 于 2024-3-2 23:49 编辑
nyanmisaka 发表于 2024-1-7 17:52
jellyfin添加了d3d11下的HEVC Rext支持,但是还没启用。我等今年有时间给它加上。
https://github.com/jel ...
这帖子居然又被顶上来了...
大佬这里有update么?会不会有个pre-release可用的哈
Update:
用了 v6.0.1-3 https://github.com/jellyfin/jellyfin-ffmpeg/releases/tag/v6.0.1-3
现在好像jellyfin硬解能调用了,但是编码的时候好像还是cpu在干活...
nepnep 发表于 2024-2-29 20:14
这个编码不就是软解用的吗,又不是工业制式编码,能硬解?
intel和nv早就能了 本帖最后由 mitsukaze 于 2024-3-2 23:32 编辑
zzy2000129 发表于 2024-2-29 14:23
参考:
https://github.com/Nevcairiel/LAVFilters/issues/547
之前也搞了我很久,最后换MPC-BE了 ...
其实本地播放不管是ios还是台式机都可以硬解
jellyfin主要是为了给电视转码用的
页:
[1]
2