Jellyfin transcoding on Synology NAS - voidtrance - 2025-01-09
Hi,
I have a DS-920+, which should support transcoding according to the documentation that I've found. I am running Jellyfin using a docker container and I have plumbed /dev/dri from the host to the container. How can I verify that Jellyfin has access to the GPU and is using it to transcode?
I tried using the method described in the docs by installing and using intel_gpu_top in the container but that return the error Failed to initialize PMU! (Invalid argument).
Thank you.
RE: Jellyfin transcoding on Synology NAS - Efficient_Good_5784 - 2025-01-09
Enable HWA, then play a stream that will transcode.
If it plays, it's working fine. If not, the stream will fail to start.
RE: Jellyfin transcoding on Synology NAS - voidtrance - 2025-01-09
(2025-01-09, 12:54 AM)Efficient_Good_5784 Wrote: Enable HWA, then play a stream that will transcode.
If it plays, it's working fine. If not, the stream will fail to start.
How would I know if the file would transcode?
RE: Jellyfin transcoding on Synology NAS - Efficient_Good_5784 - 2025-01-09
You can force a transcode by lowering the bitrate low enough to where its lower than the video's actual bitrate.
RE: Jellyfin transcoding on Synology NAS - voidtrance - 2025-10-13
(2025-01-09, 04:33 AM)Efficient_Good_5784 Wrote: You can force a transcode by lowering the bitrate low enough to where its lower than the video's actual bitrate.
I forced the Home Network bandwidth in the iOS Jellyfin player to the lowest setting (480Kbps) and played a video that has a bit rate of 1641 kbps. The video played but the CPU usage of the Synology NAS jumped to about 35%. When I set the Home Network bandwidth back to Auto and played the same video, the CPU usage was 0%.
So, based on the CPU usage, it doesn't look like transcoding is working but the video does still play.
Would videos even play if HW transcoding is enabled but doesn't work? If so, why would my video play?
RE: Jellyfin transcoding on Synology NAS - voidtrance - 2025-10-13
I looked at the logs and I found the following in one of the transcoding logs:
Code: 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
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
Input #0, matroska,webm, from 'file:/data/media/TvShows/Are You Being Served/Season 7/Are You Being Served - S07E06 - Anything You Can Do.mkv':
Metadata:
encoder : libebml v1.3.6 + libmatroska v1.4.9
creation_time : 2020-03-17T17:28:07.000000Z
Writing frontend: StaxRip v1.9.0.0
Duration: 00:27:19.32, start: 0.000000, bitrate: 1641 kb/s
Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, unknown/bt709/bt709), 768x576, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 1k tbn (default)
Metadata:
title : Encoded by MONOLITH
BPS-eng : 1415324
DURATION-eng : 00:27:19.320000000
NUMBER_OF_FRAMES-eng: 40983
NUMBER_OF_BYTES-eng: 290021290
_STATISTICS_WRITING_APP-eng: mkvmerge v26.0.0 ('In The Game') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2020-03-17 17:28:07
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:1(eng): Audio: eac3, 48000 Hz, stereo, fltp, 224 kb/s
Metadata:
BPS-eng : 224000
DURATION-eng : 00:27:19.264000000
NUMBER_OF_FRAMES-eng: 51227
NUMBER_OF_BYTES-eng: 45899392
_STATISTICS_WRITING_APP-eng: mkvmerge v26.0.0 ('In The Game') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2020-03-17 17:28:07
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:2(eng): Subtitle: subrip (srt)
Metadata:
BPS-eng : 116
DURATION-eng : 00:26:56.866000000
NUMBER_OF_FRAMES-eng: 699
NUMBER_OF_BYTES-eng: 23472
_STATISTICS_WRITING_APP-eng: mkvmerge v26.0.0 ('In The Game') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2020-03-17 17:28:07
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> hevc (hevc_qsv))
Stream #0:1 -> #0:1 (eac3 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
[hls @ 0x55fa2e4d0480] Opening '/cache/transcodes/66d83b420de92896ea5be4bec93ce7e5-1.mp4' for writing
Output #0, hls, to '/cache/transcodes/66d83b420de92896ea5be4bec93ce7e5.m3u8':
Metadata:
encoder : Lavf61.1.100
Stream #0:0: Video: hevc (hvc1 / 0x31637668), qsv(tv, bt709, progressive), 768x576 [SAR 1:1 DAR 4:3], q=2-31, 292 kb/s, 25 fps, 12800 tbn (default)
Metadata:
encoder : Lavc61.3.100 hevc_qsv
Side data:
cpb: bitrate max/min/avg: 292000/0/292000 buffer size: 584000 vbv_delay: N/A
Stream #0:1: Audio: aac, 48000 Hz, stereo, s16, 128 kb/s
Metadata:
encoder : Lavc61.3.100 libfdk_aac
It seems that ffmpeg is using the hevc_qsv library for video transcoding (I am using the Intel QSV), so my guess would be that it's using HW transcoding but why would the CPU usage be so high?
RE: Jellyfin transcoding on Synology NAS - voidtrance - 2025-10-21
Any help on this would be appreciated. Thank you.
|