jellyfin / jellyfin-server-windows

The Windows tray app and installer for Jellyfin Server on Windows.
https://jellyfin.org
MIT License
79 stars 26 forks source link

need to log in to Windows to encode video #135

Open Qmymy opened 1 month ago

Qmymy commented 1 month ago

In all versions of Jellyfin for Windows 10.9, it's necessary to keep the Windows account logged in to allow the GPU to decode video. I am using Intel integrated graphics. When I remotely access my server via RDP and keep it logged in, video decoding works properly. However, if I log out, playing videos results in an error. Logging in again resolves the issue and enables normal decoding.

Qmymy commented 1 month ago

I tried 10. 8. 13, it can be used normally, it is unnecessary to keep the login of the Windows account, 10. All versions of 9 require a Windows account to be logged in to encode and decode

anthonylavado commented 1 month ago

Do you have it installed under basic mode or advanced/service mode?

anthonylavado commented 1 month ago

I think there was a regression in the Intel QSV driver for Windows, that's why I ask.

I also should have figured it was service mode since you said "must log in". Can you provide logs from a failed stream?

nyanmisaka commented 1 month ago

@Qmymy In addition to the FFmpeg logs, can you also share the following CPU model, GPU driver version, and Windows version?

Qmymy commented 1 month ago

@anthonylavado @nyanmisaka After following the suggestions provided, I've tried changing both the integrated graphics drivers and the installation method for Jellyfin, but none have solved the issue. The driver versions I've attempted are 31.0.101.5379, 31.0.101.5590, and 31.0.101.5535, all of which are Intel's drivers released after March. I also tried installing Jellyfin using the second server installation option, but even then, it's impossible to utilize the integrated graphics without being logged onto the computer. Regardless of the installation method (basic mode or advanced/service mode), version 10.8.13 of Jellyfin could transcode without requiring a Windows login, but this isn’t the case with the current 10.9 series.

My computer specifications are as follows:

There are no errors in the ffmpeg log during normal playback. The following is the log when an error occurs:

ffmpeg -analyzeduration 200M -probesize 1G -init_hw_device d3d11va=dx11:,vendor=0x8086 -init_hw_device qsv=qs@dx11 -filter_hw_device qs -hwaccel d3d11va -hwaccel_output_format d3d11 -threads 2 -noautorotate -i file:"E:\Jellyfin\DATA-VEDIO\影视剧\庆余年\庆余年.S02.E18.mkv" -noautoscale -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 veryfast -look_ahead 0 -b:v 9426818 -maxrate 9426818 -bufsize 18853636 -g:v:0 75 -keyint_min:v:0 75 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,hwmap=derive_device=qsv,scale_qsv=format=nv12" -codec:a:0 libfdk_aac -ac 2 -vbr:a 5 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "E:\Jellyfin\cache\transcodes\378fc8aa74a71ea0b1672cdf4a048883-1.mp4" -start_number 0 -hls_segment_filename "E:\Jellyfin\cache\transcodes\378fc8aa74a71ea0b1672cdf4a048883%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "E:\Jellyfin\cache\transcodes\378fc8aa74a71ea0b1672cdf4a048883.m3u8"
ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 13-win32 (GCC)
  configuration: --prefix=/opt/ffmpeg --arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32- --pkg-config=pkg-config --pkg-config-flags=--static --extra-version=Jellyfin --disable-ffplay --disable-debug --disable-doc --disable-sdl2 --disable-ptx-compression --disable-w32threads --enable-pthreads --enable-shared --enable-lto --enable-gpl --enable-version3 --enable-schannel --enable-iconv --enable-libxml2 --enable-zlib --enable-lzma --enable-gmp --enable-chromaprint --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libwebp --enable-libvpx --enable-libzimg --enable-libx264 --enable-libx265 --enable-libsvtav1 --enable-libdav1d --enable-libfdk-aac --enable-opencl --enable-dxva2 --enable-d3d11va --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
[AVHWDeviceContext @ 000002533d2eacc0] Using device 8086:a7a0 (Intel(R) Iris(R) Xe Graphics).
[AVHWDeviceContext @ 000002533b7aa300] Error creating a MFX session: -9.
Device creation failed: -1313558101.
Failed to set value 'qsv=qs@dx11' for option 'init_hw_device': Unknown error occurred
Error parsing global options: Unknown error occurred

Thank you once again for paying attention to the issue I'm facing.

Qmymy commented 1 month ago

It is worth noting that I tried to transcode on NVIDIA's video card, and I can transcode normally even without logging in Windows11, so I think it may be the problem of the new version of jellyfin 10.9 series and intel video card driver

nyanmisaka commented 1 month ago

I have forwarded the issue upstream. Let's wait and see.