11 hours ago
I looked at the logs and I found the following in one of the transcoding logs:
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?
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?