V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
ZGeek
V2EX  ›  NAS

如何在 CPU 为 3865U 的小主机上启用 Jellyfin 的硬解功能

  •  
  •   ZGeek · 18 天前 · 1613 次点击

    如题:硬件总是报遇到致命错误 docker 镜像为:nyanmisaka/jellyfin:lastest ffmpeg 的报错日志为:

    /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f matroska -init_hw_device vaapi=va:/dev/dri/renderD128,driver=iHD -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -noautorotate -i file:"/media/nas/电影/哈利波特/哈利波特 2:消失的密室 BD 国英双语中英双字.mkv" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 av1_qsv -preset veryfast -b:v 400000 -maxrate 400000 -bufsize 800000 -profile:v:0 main -level 53 -g:v:0 96 -keyint_min:v:0 96 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale_vaapi=w=960:h=540:format=nv12:extra_hw_frames=24,hwmap=derive_device=qsv,format=qsv" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 4 -hls_segment_type fmp4 -hls_fmp4_init_filename "77f37e1baa54d62016d7552ac7f4f091-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/77f37e1baa54d62016d7552ac7f4f091%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/cache/transcodes/77f37e1baa54d62016d7552ac7f4f091.m3u8"
    
    
    ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers
      built with gcc 12 (Debian 12.2.0-14)
      configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
      libavutil      59.  8.100 / 59.  8.100
      libavcodec     61.  3.100 / 61.  3.100
      libavformat    61.  1.100 / 61.  1.100
      libavdevice    61.  1.100 / 61.  1.100
      libavfilter    10.  1.100 / 10.  1.100
      libswscale      8.  1.100 /  8.  1.100
      libswresample   5.  1.100 /  5.  1.100
      libpostproc    58.  1.100 / 58.  1.100
    DRM_IOCTL_VERSION, unsupported drm device by media driver: vmwg
    DRM_IOCTL_VERSION, unsupported drm device by media driver: vmwg
    [AVHWDeviceContext @ 0x55a71d72f280] libva: /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so init failed
    [AVHWDeviceContext @ 0x55a71d72f280] Failed to initialise VAAPI connection: 18 (invalid parameter).
    Device creation failed: -5.
    Failed to set value 'vaapi=va:/dev/dri/renderD128,driver=iHD' for option 'init_hw_device': Input/output error
    Error parsing global options: Input/output error
    
    14 条回复    2024-12-27 23:01:09 +08:00
    colincat
        1
    colincat  
       18 天前
    别折腾了 哈哈
    ZGeek
        2
    ZGeek  
    OP
       18 天前
    @colincat 怎么了
    A3m0n
        3
    A3m0n  
       18 天前
    启动容器的时候需要把显卡设备传进去。

    例如:/dev/dri/renderD128
    ZGeek
        4
    ZGeek  
    OP
       18 天前
    @A3m0n 传进去了的
    qiaoqiao1235
        5
    qiaoqiao1235  
       18 天前
    要在外面给权限
    chmod 777 /dev/dri/renderD128
    我用 plex 是可以的
    colincat
        6
    colincat  
       18 天前
    @ZGeek 没啥意思。
    Suaxi
        7
    Suaxi  
       18 天前 via Android
    docker-compose.yml 或者 docker run 命令里加上 root 权限试试

    privileged: true
    Panameragt
        8
    Panameragt  
       18 天前
    以前折腾过很久,成功后感觉真没啥意思
    fish3125
        9
    fish3125  
       18 天前
    我觉得还蛮有用的,硬解在看一些不得不转码的视频 cpu 占用很低。
    - 进容器 ls /dev/dri 看看文件是否正确传进去。
    日记里似乎有 qsv ,硬解先选择兼容性好的 vaapi 试试,而非 qsv 。
    wannianma
        10
    wannianma  
       18 天前
    别折腾了,买个极空间,所有问题都搞定。
    cslive
        11
    cslive  
       18 天前
    裸机系统还是 pve ,如果是 pve 还得核显直通
    yanxin1111
        12
    yanxin1111  
       17 天前
    doveyoung
        13
    doveyoung  
       17 天前
    我启用硬解后体验了两天,然后关闭了硬解,配置太差性能跟不上,客户端解的时候播放更流畅。
    如果有不支持的编码,那就放弃这个编码的资源。
    kakki
        14
    kakki  
       17 天前
    最后选择用 PR 直接转换格式。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5916 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:12 · PVG 10:12 · LAX 18:12 · JFK 21:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.