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

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

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

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

  •  
  •   ZGeek · 16 小时 7 分钟前 · 738 次点击

    如题:硬件总是报遇到致命错误 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
    
    9 条回复    2024-12-26 20:06:13 +08:00
    colincat
        1
    colincat  
       16 小时 6 分钟前
    别折腾了 哈哈
    ZGeek
        2
    ZGeek  
    OP
       16 小时 0 分钟前
    @colincat 怎么了
    A3m0n
        3
    A3m0n  
       15 小时 54 分钟前
    启动容器的时候需要把显卡设备传进去。

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

    privileged: true
    Panameragt
        8
    Panameragt  
       14 小时 9 分钟前
    以前折腾过很久,成功后感觉真没啥意思
    fish3125
        9
    fish3125  
       11 小时 48 分钟前
    我觉得还蛮有用的,硬解在看一些不得不转码的视频 cpu 占用很低。
    - 进容器 ls /dev/dri 看看文件是否正确传进去。
    日记里似乎有 qsv ,硬解先选择兼容性好的 vaapi 试试,而非 qsv 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1377 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 23:54 · PVG 07:54 · LAX 15:54 · JFK 18:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.