VAAPI decode not working on Intel GPU / Encode works fine #419

Closed
opened 2026-02-06 19:41:06 +03:00 by OVERLORD · 3 comments
Owner

Originally created by @fightforlife on GitHub (Feb 14, 2019).

Describe the bug
With VAAPI enabled, but Hardware encoding disabled, there is no GPU usage. If you enable hardware encoding, gpu usage goes up. (CPU always at 100%)
So I think VAAPI decoding is not working correctly.

Also trancoding performance with qsv on Windows was much better.
Same questions got asked here:
https://video.stackexchange.com/questions/24116/why-in-ffmpeg-do-i-have-vaapi-encoders-but-no-vaapi-decoders

To Reproduce
Play HEVC file with and without HW encoding activated.
Monitor GPU usage, while transcoding.

Expected behavior
Decoding the videostream should happen on the gpu. GPU usage should go up even if hw encoding is disabled.

On Windows with QSV it looks like this:
#0:0 -> #0:0 (hevc (hevc_qsv) -> h264 (h264_qsv))

Shoudn't the equivalent on linux be like this for HW transcode (HW de- and encode):
#0:0 -> #0:0 (hevc (hevc_vaapi) -> h264 (h264_vaapi))

Logs and Screenshots
All testfiles from here: https://www.h265files.com/

VAAPI enabled, HW encoding disabled
image

http://jellyfin.domain.tld:8096/emby/videos/a5126834-3cd2-9aff-078e-050e401a7442/hls1/main/0.ts?DeviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzcyLjAuMzYyNi45NiBTYWZhcmkvNTM3LjM2fDE1NTAxNTUxNTA0NTc1&MediaSourceId=a51268343cd29aff078e050e401a7442&VideoCodec=h264&AudioCodec=mp3,aac&AudioStreamIndex=1&VideoBitrate=622030222&AudioBitrate=192000&PlaySessionId=8a61983c1be54022b3220d3ce1ffe14e&api_key=575f0931d84a42bea1acdb7d40fe4690&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=d1ece5b943f85d69095bfef61db928ba&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline,high10&h264-level=51

{"Protocol":"File","Id":"a51268343cd29aff078e050e401a7442","Path":"/media/Videos/Test/video-h265.mkv","Type":"Default","Container":"mkv,webm","Size":5291494,"Name":"video-h265","IsRemote":false,"ETag":"d1ece5b943f85d69095bfef61db928ba","RunTimeTicks":161600000,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":true,"VideoType":"VideoFile","MediaStreams":[{"Codec":"hevc","TimeBase":"1/1000","CodecTimeBase":"1/25","VideoRange":"SDR","DisplayTitle":"1080P HEVC","IsInterlaced":false,"BitRate":2619551,"RefFrames":1,"IsDefault":true,"IsForced":false,"Height":960,"Width":1920,"AverageFrameRate":25,"RealFrameRate":25,"Profile":"1","Type":"Video","AspectRatio":"2:1","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"PixelFormat":"yuv420p","Level":120},{"Codec":"aac","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"1/48000","Title":"Stereo","DisplayTitle":"Eng AAC stereo Default","IsInterlaced":false,"ChannelLayout":"stereo","BitRate":192000,"Channels":2,"SampleRate":48000,"IsDefault":true,"IsForced":false,"Profile":"1","Type":"Audio","Index":1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0}],"Formats":[],"Bitrate":2811551,"RequiredHttpHeaders":{}}

/usr/local/bin/ffmpeg -i file:"/media/Videos/Test/video-h265.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 23 -maxrate 622030222 -bufsize 1244060444 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames "expr:gte(t,n_forced*3)" -copyts -vsync -1 -codec:a:0 libmp3lame -ac 2 -ab 192000  -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 3  -individual_header_trailer 0 -segment_format mpegts -segment_list_type m3u8 -segment_start_number 0 -segment_list "/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8" -y "/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95%d.ts"


ffmpeg version 4.0.3 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04)
  configuration: --disable-debug --disable-doc --disable-ffplay --enable-vaapi --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-postproc --enable-small --enable-version3 --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --extra-libs=-ldl --prefix=/opt/ffmpeg
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
Input #0, matroska,webm, from 'file:/media/Videos/Test/video-h265.mkv':
  Metadata:
    ENCODER         : Lavf55.12.0
  Duration: 00:00:16.16, start: 0.099000, bitrate: 2619 kb/s
    Stream #0:0: Video: hevc, yuv420p(tv, bt709), 1920x960 [SAR 1:1 DAR 2:1], 25 fps, 25 tbr, 1k tbn, 25 tbc (default)
    Stream #0:1(eng): Audio: aac, 48000 Hz, stereo, fltp (default)
    Metadata:
      title           : Stereo
      LANGUAGE        : eng
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
[libx264 @ 0x55a4c87d8380] using SAR=1/1
[libx264 @ 0x55a4c87d8380] VBV bitrate (622030) > level limit (50000)
[libx264 @ 0x55a4c87d8380] VBV buffer (1244060) > level limit (62500)
[libx264 @ 0x55a4c87d8380] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x55a4c87d8380] profile Main, level 4.1
[libx264 @ 0x55a4c87d8380] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=4 chroma_me=0 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=622030 vbv_bufsize=1244060 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
[segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce950.ts' for writing
Output #0, segment, to '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95%d.ts':
  Metadata:
    encoder         : Lavf58.12.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 1920x960 [SAR 1:1 DAR 2:1], q=-1--1, 25 fps, 90k tbn, 25 tbc (default)
    Metadata:
      encoder         : Lavc58.18.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 622030000/0/0 buffer size: 1244060000 vbv_delay: -1
    Stream #0:1: Audio: mp3 (libmp3lame), 48000 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      encoder         : Lavc58.18.100 libmp3lame
frame=   21 fps=0.0 q=28.0 size=N/A time=00:00:00.91 bitrate=N/A dup=1 drop=0 speed=1.74x    
frame=   41 fps= 38 q=28.0 size=N/A time=00:00:01.72 bitrate=N/A dup=1 drop=0 speed=1.62x    
frame=   64 fps= 41 q=28.0 size=N/A time=00:00:02.64 bitrate=N/A dup=1 drop=0 speed=1.68x    
frame=   85 fps= 41 q=28.0 size=N/A time=00:00:03.48 bitrate=N/A dup=1 drop=0 speed=1.68x    
[segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8.tmp' for writing
[segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce951.ts' for writing
frame=  109 fps= 42 q=28.0 size=N/A time=00:00:04.44 bitrate=N/A dup=1 drop=0 speed=1.72x    
frame=  136 fps= 44 q=28.0 size=N/A time=00:00:05.52 bitrate=N/A dup=1 drop=0 speed= 1.8x    
frame=  162 fps= 45 q=28.0 size=N/A time=00:00:06.57 bitrate=N/A dup=1 drop=0 speed=1.84x    
[segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8.tmp' for writing
[segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce952.ts' for writing
frame=  185 fps= 45 q=28.0 size=N/A time=00:00:07.48 bitrate=N/A dup=1 drop=0 speed=1.83x    
frame=  210 fps= 45 q=28.0 size=N/A time=00:00:08.49 bitrate=N/A dup=1 drop=0 speed=1.84x    
frame=  236 fps= 46 q=28.0 size=N/A time=00:00:09.52 bitrate=N/A dup=1 drop=0 speed=1.85x    
[segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8.tmp' for writing
[segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce953.ts' for writing
frame=  260 fps= 46 q=28.0 size=N/A time=00:00:10.48 bitrate=N/A dup=1 drop=0 speed=1.85x    
frame=  283 fps= 46 q=28.0 size=N/A time=00:00:11.42 bitrate=N/A dup=1 drop=0 speed=1.85x    
frame=  307 fps= 46 q=28.0 size=N/A time=00:00:12.38 bitrate=N/A dup=1 drop=0 speed=1.85x    
[segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8.tmp' for writing
[segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce954.ts' for writing
frame=  332 fps= 46 q=28.0 size=N/A time=00:00:13.36 bitrate=N/A dup=1 drop=0 speed=1.86x    
frame=  358 fps= 46 q=28.0 size=N/A time=00:00:14.40 bitrate=N/A dup=1 drop=0 speed=1.87x    
frame=  385 fps= 47 q=28.0 size=N/A time=00:00:15.48 bitrate=N/A dup=1 drop=0 speed=1.88x    
[segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8.tmp' for writing
[segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce955.ts' for writing
[segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8.tmp' for writing
frame=  401 fps= 47 q=-1.0 Lsize=N/A time=00:00:16.03 bitrate=N/A dup=1 drop=0 speed=1.86x 

VAAPI enabled, HW encoding enabled
image

http://jellyfin.domain.tld:8096/emby/videos/a5126834-3cd2-9aff-078e-050e401a7442/hls1/main/0.ts?DeviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzcyLjAuMzYyNi45NiBTYWZhcmkvNTM3LjM2fDE1NTAxNTUxNTA0NTc1&MediaSourceId=a51268343cd29aff078e050e401a7442&VideoCodec=h264&AudioCodec=mp3,aac&AudioStreamIndex=1&VideoBitrate=622030222&AudioBitrate=192000&PlaySessionId=4f61180fb0784f92a41294cb81632c50&api_key=575f0931d84a42bea1acdb7d40fe4690&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=d1ece5b943f85d69095bfef61db928ba&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline,high10&h264-level=51

{"Protocol":"File","Id":"a51268343cd29aff078e050e401a7442","Path":"/media/Videos/Test/video-h265.mkv","Type":"Default","Container":"mkv,webm","Size":5291494,"Name":"video-h265","IsRemote":false,"ETag":"d1ece5b943f85d69095bfef61db928ba","RunTimeTicks":161600000,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":true,"VideoType":"VideoFile","MediaStreams":[{"Codec":"hevc","TimeBase":"1/1000","CodecTimeBase":"1/25","VideoRange":"SDR","DisplayTitle":"1080P HEVC","IsInterlaced":false,"BitRate":2619551,"RefFrames":1,"IsDefault":true,"IsForced":false,"Height":960,"Width":1920,"AverageFrameRate":25,"RealFrameRate":25,"Profile":"1","Type":"Video","AspectRatio":"2:1","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"PixelFormat":"yuv420p","Level":120},{"Codec":"aac","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"1/48000","Title":"Stereo","DisplayTitle":"Eng AAC stereo Default","IsInterlaced":false,"ChannelLayout":"stereo","BitRate":192000,"Channels":2,"SampleRate":48000,"IsDefault":true,"IsForced":false,"Profile":"1","Type":"Audio","Index":1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0}],"Formats":[],"Bitrate":2811551,"RequiredHttpHeaders":{}}

/usr/local/bin/ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 -i file:"/media/Videos/Test/video-h265.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi  -b:v 622030222 -maxrate 622030222 -bufsize 1244060444 -profile:v high -level 41 -force_key_frames "expr:gte(t,n_forced*3)" -vf "format=nv12|vaapi,hwupload" -copyts -vsync -1 -codec:a:0 libmp3lame -ac 2 -ab 192000  -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 3  -individual_header_trailer 0 -segment_format mpegts -segment_list_type m3u8 -segment_start_number 0 -segment_list "/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8" -y "/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee%d.ts"


ffmpeg version 4.0.3 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04)
  configuration: --disable-debug --disable-doc --disable-ffplay --enable-vaapi --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-postproc --enable-small --enable-version3 --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --extra-libs=-ldl --prefix=/opt/ffmpeg
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
Input #0, matroska,webm, from 'file:/media/Videos/Test/video-h265.mkv':
  Metadata:
    ENCODER         : Lavf55.12.0
  Duration: 00:00:16.16, start: 0.099000, bitrate: 2619 kb/s
    Stream #0:0: Video: hevc, yuv420p(tv, bt709), 1920x960 [SAR 1:1 DAR 2:1], 25 fps, 25 tbr, 1k tbn, 25 tbc (default)
    Stream #0:1(eng): Audio: aac, 48000 Hz, stereo, fltp (default)
    Metadata:
      title           : Stereo
      LANGUAGE        : eng
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_vaapi))
  Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
[segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee0.ts' for writing
Output #0, segment, to '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee%d.ts':
  Metadata:
    encoder         : Lavf58.12.100
    Stream #0:0: Video: h264 (h264_vaapi), vaapi_vld, 1920x960 [SAR 1:1 DAR 2:1], q=0-31, 622030 kb/s, 25 fps, 90k tbn, 25 tbc (default)
    Metadata:
      encoder         : Lavc58.18.100 h264_vaapi
    Stream #0:1: Audio: mp3 (libmp3lame), 48000 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      encoder         : Lavc58.18.100 libmp3lame
frame=   38 fps=0.0 q=-0.0 size=N/A time=00:00:01.60 bitrate=N/A dup=1 drop=0 speed=3.21x    
[segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8.tmp' for writing
[segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee1.ts' for writing
frame=   81 fps= 79 q=-0.0 size=N/A time=00:00:03.33 bitrate=N/A dup=1 drop=0 speed=3.26x    
frame=  126 fps= 83 q=-0.0 size=N/A time=00:00:05.11 bitrate=N/A dup=1 drop=0 speed=3.35x    
[segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8.tmp' for writing
[segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee2.ts' for writing
frame=  168 fps= 82 q=-0.0 size=N/A time=00:00:06.81 bitrate=N/A dup=1 drop=0 speed=3.34x    
frame=  210 fps= 82 q=-0.0 size=N/A time=00:00:08.49 bitrate=N/A dup=1 drop=0 speed=3.33x    
[segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8.tmp' for writing
[segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee3.ts' for writing
frame=  249 fps= 82 q=-0.0 size=N/A time=00:00:10.03 bitrate=N/A dup=1 drop=0 speed=3.29x    
frame=  291 fps= 82 q=-0.0 size=N/A time=00:00:11.73 bitrate=N/A dup=1 drop=0 speed=3.29x    
[segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8.tmp' for writing
[segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee4.ts' for writing
frame=  327 fps= 80 q=-0.0 size=N/A time=00:00:13.17 bitrate=N/A dup=1 drop=0 speed=3.24x    
frame=  370 fps= 81 q=-0.0 size=N/A time=00:00:14.90 bitrate=N/A dup=1 drop=0 speed=3.26x    
[segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8.tmp' for writing
[segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee5.ts' for writing
[segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8.tmp' for writing

System (please complete the following information):

  • OS: Ubuntu 18.10 with Docker 18.06 on J3455 Asrock board
  • Browser: Chrome 73
  • Jellyfin Version: master

Additional context
This could also be a ffmpeg error or I am just missing something.
I took a look at these pages:
https://trac.ffmpeg.org/wiki/Hardware/VAAPI
http://www.ffmpeg.org/ffmpeg-codecs.html#Video-Decoders
but couldnt get any more information.

Originally created by @fightforlife on GitHub (Feb 14, 2019). **Describe the bug** With VAAPI enabled, but Hardware encoding disabled, there is no GPU usage. If you enable hardware encoding, gpu usage goes up. (CPU always at 100%) So I think VAAPI **decoding** is not working correctly. Also trancoding performance with qsv on Windows was much better. Same questions got asked here: https://video.stackexchange.com/questions/24116/why-in-ffmpeg-do-i-have-vaapi-encoders-but-no-vaapi-decoders **To Reproduce** Play HEVC file with and without HW encoding activated. Monitor GPU usage, while transcoding. **Expected behavior** Decoding the videostream should happen on the gpu. GPU usage should go up even if hw encoding is disabled. On Windows with QSV it looks like this: `#0:0 -> #0:0 (hevc (hevc_qsv) -> h264 (h264_qsv))` Shoudn't the equivalent on linux be like this for HW transcode (HW de- and encode): `#0:0 -> #0:0 (hevc (hevc_vaapi) -> h264 (h264_vaapi))` **Logs and Screenshots** All testfiles from here: https://www.h265files.com/ **_VAAPI enabled, HW encoding disabled_** ![image](https://user-images.githubusercontent.com/5511687/52796599-6e841400-3074-11e9-92ef-98671898b151.png) ``` http://jellyfin.domain.tld:8096/emby/videos/a5126834-3cd2-9aff-078e-050e401a7442/hls1/main/0.ts?DeviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzcyLjAuMzYyNi45NiBTYWZhcmkvNTM3LjM2fDE1NTAxNTUxNTA0NTc1&MediaSourceId=a51268343cd29aff078e050e401a7442&VideoCodec=h264&AudioCodec=mp3,aac&AudioStreamIndex=1&VideoBitrate=622030222&AudioBitrate=192000&PlaySessionId=8a61983c1be54022b3220d3ce1ffe14e&api_key=575f0931d84a42bea1acdb7d40fe4690&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=d1ece5b943f85d69095bfef61db928ba&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline,high10&h264-level=51 {"Protocol":"File","Id":"a51268343cd29aff078e050e401a7442","Path":"/media/Videos/Test/video-h265.mkv","Type":"Default","Container":"mkv,webm","Size":5291494,"Name":"video-h265","IsRemote":false,"ETag":"d1ece5b943f85d69095bfef61db928ba","RunTimeTicks":161600000,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":true,"VideoType":"VideoFile","MediaStreams":[{"Codec":"hevc","TimeBase":"1/1000","CodecTimeBase":"1/25","VideoRange":"SDR","DisplayTitle":"1080P HEVC","IsInterlaced":false,"BitRate":2619551,"RefFrames":1,"IsDefault":true,"IsForced":false,"Height":960,"Width":1920,"AverageFrameRate":25,"RealFrameRate":25,"Profile":"1","Type":"Video","AspectRatio":"2:1","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"PixelFormat":"yuv420p","Level":120},{"Codec":"aac","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"1/48000","Title":"Stereo","DisplayTitle":"Eng AAC stereo Default","IsInterlaced":false,"ChannelLayout":"stereo","BitRate":192000,"Channels":2,"SampleRate":48000,"IsDefault":true,"IsForced":false,"Profile":"1","Type":"Audio","Index":1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0}],"Formats":[],"Bitrate":2811551,"RequiredHttpHeaders":{}} /usr/local/bin/ffmpeg -i file:"/media/Videos/Test/video-h265.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 23 -maxrate 622030222 -bufsize 1244060444 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames "expr:gte(t,n_forced*3)" -copyts -vsync -1 -codec:a:0 libmp3lame -ac 2 -ab 192000 -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 3 -individual_header_trailer 0 -segment_format mpegts -segment_list_type m3u8 -segment_start_number 0 -segment_list "/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8" -y "/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95%d.ts" ffmpeg version 4.0.3 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04) configuration: --disable-debug --disable-doc --disable-ffplay --enable-vaapi --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-postproc --enable-small --enable-version3 --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --extra-libs=-ldl --prefix=/opt/ffmpeg libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 1.100 / 5. 1.100 libswresample 3. 1.100 / 3. 1.100 libpostproc 55. 1.100 / 55. 1.100 Input #0, matroska,webm, from 'file:/media/Videos/Test/video-h265.mkv': Metadata: ENCODER : Lavf55.12.0 Duration: 00:00:16.16, start: 0.099000, bitrate: 2619 kb/s Stream #0:0: Video: hevc, yuv420p(tv, bt709), 1920x960 [SAR 1:1 DAR 2:1], 25 fps, 25 tbr, 1k tbn, 25 tbc (default) Stream #0:1(eng): Audio: aac, 48000 Hz, stereo, fltp (default) Metadata: title : Stereo LANGUAGE : eng Stream mapping: Stream #0:0 -> #0:0 (hevc (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame)) Press [q] to stop, [?] for help [libx264 @ 0x55a4c87d8380] using SAR=1/1 [libx264 @ 0x55a4c87d8380] VBV bitrate (622030) > level limit (50000) [libx264 @ 0x55a4c87d8380] VBV buffer (1244060) > level limit (62500) [libx264 @ 0x55a4c87d8380] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 [libx264 @ 0x55a4c87d8380] profile Main, level 4.1 [libx264 @ 0x55a4c87d8380] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=4 chroma_me=0 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=622030 vbv_bufsize=1244060 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00 [segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce950.ts' for writing Output #0, segment, to '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95%d.ts': Metadata: encoder : Lavf58.12.100 Stream #0:0: Video: h264 (libx264), yuv420p, 1920x960 [SAR 1:1 DAR 2:1], q=-1--1, 25 fps, 90k tbn, 25 tbc (default) Metadata: encoder : Lavc58.18.100 libx264 Side data: cpb: bitrate max/min/avg: 622030000/0/0 buffer size: 1244060000 vbv_delay: -1 Stream #0:1: Audio: mp3 (libmp3lame), 48000 Hz, stereo, fltp, 192 kb/s (default) Metadata: encoder : Lavc58.18.100 libmp3lame frame= 21 fps=0.0 q=28.0 size=N/A time=00:00:00.91 bitrate=N/A dup=1 drop=0 speed=1.74x frame= 41 fps= 38 q=28.0 size=N/A time=00:00:01.72 bitrate=N/A dup=1 drop=0 speed=1.62x frame= 64 fps= 41 q=28.0 size=N/A time=00:00:02.64 bitrate=N/A dup=1 drop=0 speed=1.68x frame= 85 fps= 41 q=28.0 size=N/A time=00:00:03.48 bitrate=N/A dup=1 drop=0 speed=1.68x [segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8.tmp' for writing [segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce951.ts' for writing frame= 109 fps= 42 q=28.0 size=N/A time=00:00:04.44 bitrate=N/A dup=1 drop=0 speed=1.72x frame= 136 fps= 44 q=28.0 size=N/A time=00:00:05.52 bitrate=N/A dup=1 drop=0 speed= 1.8x frame= 162 fps= 45 q=28.0 size=N/A time=00:00:06.57 bitrate=N/A dup=1 drop=0 speed=1.84x [segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8.tmp' for writing [segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce952.ts' for writing frame= 185 fps= 45 q=28.0 size=N/A time=00:00:07.48 bitrate=N/A dup=1 drop=0 speed=1.83x frame= 210 fps= 45 q=28.0 size=N/A time=00:00:08.49 bitrate=N/A dup=1 drop=0 speed=1.84x frame= 236 fps= 46 q=28.0 size=N/A time=00:00:09.52 bitrate=N/A dup=1 drop=0 speed=1.85x [segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8.tmp' for writing [segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce953.ts' for writing frame= 260 fps= 46 q=28.0 size=N/A time=00:00:10.48 bitrate=N/A dup=1 drop=0 speed=1.85x frame= 283 fps= 46 q=28.0 size=N/A time=00:00:11.42 bitrate=N/A dup=1 drop=0 speed=1.85x frame= 307 fps= 46 q=28.0 size=N/A time=00:00:12.38 bitrate=N/A dup=1 drop=0 speed=1.85x [segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8.tmp' for writing [segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce954.ts' for writing frame= 332 fps= 46 q=28.0 size=N/A time=00:00:13.36 bitrate=N/A dup=1 drop=0 speed=1.86x frame= 358 fps= 46 q=28.0 size=N/A time=00:00:14.40 bitrate=N/A dup=1 drop=0 speed=1.87x frame= 385 fps= 47 q=28.0 size=N/A time=00:00:15.48 bitrate=N/A dup=1 drop=0 speed=1.88x [segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8.tmp' for writing [segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce955.ts' for writing [segment @ 0x55a4c87bfe40] Opening '/config/transcoding-temp/f88abced6289209a249cf6c659d4ce95.m3u8.tmp' for writing frame= 401 fps= 47 q=-1.0 Lsize=N/A time=00:00:16.03 bitrate=N/A dup=1 drop=0 speed=1.86x ``` **_VAAPI enabled, HW encoding enabled_** ![image](https://user-images.githubusercontent.com/5511687/52796719-a3906680-3074-11e9-94a0-71db3238cd9a.png) ``` http://jellyfin.domain.tld:8096/emby/videos/a5126834-3cd2-9aff-078e-050e401a7442/hls1/main/0.ts?DeviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzcyLjAuMzYyNi45NiBTYWZhcmkvNTM3LjM2fDE1NTAxNTUxNTA0NTc1&MediaSourceId=a51268343cd29aff078e050e401a7442&VideoCodec=h264&AudioCodec=mp3,aac&AudioStreamIndex=1&VideoBitrate=622030222&AudioBitrate=192000&PlaySessionId=4f61180fb0784f92a41294cb81632c50&api_key=575f0931d84a42bea1acdb7d40fe4690&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=d1ece5b943f85d69095bfef61db928ba&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline,high10&h264-level=51 {"Protocol":"File","Id":"a51268343cd29aff078e050e401a7442","Path":"/media/Videos/Test/video-h265.mkv","Type":"Default","Container":"mkv,webm","Size":5291494,"Name":"video-h265","IsRemote":false,"ETag":"d1ece5b943f85d69095bfef61db928ba","RunTimeTicks":161600000,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":true,"VideoType":"VideoFile","MediaStreams":[{"Codec":"hevc","TimeBase":"1/1000","CodecTimeBase":"1/25","VideoRange":"SDR","DisplayTitle":"1080P HEVC","IsInterlaced":false,"BitRate":2619551,"RefFrames":1,"IsDefault":true,"IsForced":false,"Height":960,"Width":1920,"AverageFrameRate":25,"RealFrameRate":25,"Profile":"1","Type":"Video","AspectRatio":"2:1","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"PixelFormat":"yuv420p","Level":120},{"Codec":"aac","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"1/48000","Title":"Stereo","DisplayTitle":"Eng AAC stereo Default","IsInterlaced":false,"ChannelLayout":"stereo","BitRate":192000,"Channels":2,"SampleRate":48000,"IsDefault":true,"IsForced":false,"Profile":"1","Type":"Audio","Index":1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0}],"Formats":[],"Bitrate":2811551,"RequiredHttpHeaders":{}} /usr/local/bin/ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 -i file:"/media/Videos/Test/video-h265.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -b:v 622030222 -maxrate 622030222 -bufsize 1244060444 -profile:v high -level 41 -force_key_frames "expr:gte(t,n_forced*3)" -vf "format=nv12|vaapi,hwupload" -copyts -vsync -1 -codec:a:0 libmp3lame -ac 2 -ab 192000 -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 3 -individual_header_trailer 0 -segment_format mpegts -segment_list_type m3u8 -segment_start_number 0 -segment_list "/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8" -y "/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee%d.ts" ffmpeg version 4.0.3 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04) configuration: --disable-debug --disable-doc --disable-ffplay --enable-vaapi --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-postproc --enable-small --enable-version3 --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --extra-libs=-ldl --prefix=/opt/ffmpeg libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 1.100 / 5. 1.100 libswresample 3. 1.100 / 3. 1.100 libpostproc 55. 1.100 / 55. 1.100 Input #0, matroska,webm, from 'file:/media/Videos/Test/video-h265.mkv': Metadata: ENCODER : Lavf55.12.0 Duration: 00:00:16.16, start: 0.099000, bitrate: 2619 kb/s Stream #0:0: Video: hevc, yuv420p(tv, bt709), 1920x960 [SAR 1:1 DAR 2:1], 25 fps, 25 tbr, 1k tbn, 25 tbc (default) Stream #0:1(eng): Audio: aac, 48000 Hz, stereo, fltp (default) Metadata: title : Stereo LANGUAGE : eng Stream mapping: Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_vaapi)) Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame)) Press [q] to stop, [?] for help [segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee0.ts' for writing Output #0, segment, to '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee%d.ts': Metadata: encoder : Lavf58.12.100 Stream #0:0: Video: h264 (h264_vaapi), vaapi_vld, 1920x960 [SAR 1:1 DAR 2:1], q=0-31, 622030 kb/s, 25 fps, 90k tbn, 25 tbc (default) Metadata: encoder : Lavc58.18.100 h264_vaapi Stream #0:1: Audio: mp3 (libmp3lame), 48000 Hz, stereo, fltp, 192 kb/s (default) Metadata: encoder : Lavc58.18.100 libmp3lame frame= 38 fps=0.0 q=-0.0 size=N/A time=00:00:01.60 bitrate=N/A dup=1 drop=0 speed=3.21x [segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8.tmp' for writing [segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee1.ts' for writing frame= 81 fps= 79 q=-0.0 size=N/A time=00:00:03.33 bitrate=N/A dup=1 drop=0 speed=3.26x frame= 126 fps= 83 q=-0.0 size=N/A time=00:00:05.11 bitrate=N/A dup=1 drop=0 speed=3.35x [segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8.tmp' for writing [segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee2.ts' for writing frame= 168 fps= 82 q=-0.0 size=N/A time=00:00:06.81 bitrate=N/A dup=1 drop=0 speed=3.34x frame= 210 fps= 82 q=-0.0 size=N/A time=00:00:08.49 bitrate=N/A dup=1 drop=0 speed=3.33x [segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8.tmp' for writing [segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee3.ts' for writing frame= 249 fps= 82 q=-0.0 size=N/A time=00:00:10.03 bitrate=N/A dup=1 drop=0 speed=3.29x frame= 291 fps= 82 q=-0.0 size=N/A time=00:00:11.73 bitrate=N/A dup=1 drop=0 speed=3.29x [segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8.tmp' for writing [segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee4.ts' for writing frame= 327 fps= 80 q=-0.0 size=N/A time=00:00:13.17 bitrate=N/A dup=1 drop=0 speed=3.24x frame= 370 fps= 81 q=-0.0 size=N/A time=00:00:14.90 bitrate=N/A dup=1 drop=0 speed=3.26x [segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8.tmp' for writing [segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee5.ts' for writing [segment @ 0x562451fda580] Opening '/config/transcoding-temp/2b80bc6dce7fe300530d33c43e81dcee.m3u8.tmp' for writing ``` **System (please complete the following information):** - OS: Ubuntu 18.10 with Docker 18.06 on J3455 Asrock board - Browser: Chrome 73 - Jellyfin Version: master **Additional context** This could also be a ffmpeg error or I am just missing something. I took a look at these pages: https://trac.ffmpeg.org/wiki/Hardware/VAAPI http://www.ffmpeg.org/ffmpeg-codecs.html#Video-Decoders but couldnt get any more information.
OVERLORD added the bugstale labels 2026-02-06 19:41:06 +03:00
Author
Owner

@fightforlife commented on GitHub (Feb 14, 2019):

If I run the following command inside the jellyfin docker container (it forces GPU decoding only) with the same file used above. I get some GPU usage:
/usr/local/bin/ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -i /media/Videos/Test/video-h265.mkv -c:v libx264 -crf 20 /media/Videos/Test/video-h265_2.mkv

image

This means GPU decoding with vaapi is working in the included ffmpeg build.

@fightforlife commented on GitHub (Feb 14, 2019): If I run the following command inside the jellyfin docker container (it forces GPU decoding only) with the same file used above. I get some GPU usage: `/usr/local/bin/ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -i /media/Videos/Test/video-h265.mkv -c:v libx264 -crf 20 /media/Videos/Test/video-h265_2.mkv` ![image](https://user-images.githubusercontent.com/5511687/52799480-31bb1b80-307a-11e9-8d20-9dc6713beffe.png) This means GPU decoding with vaapi is working in the included ffmpeg build.
Author
Owner

@JustAMan commented on GitHub (Feb 15, 2019):

AFAIK you cannot enable HW acceleration partially right now.
It's either used for both decoding and encoding, or not used at all.

@JustAMan commented on GitHub (Feb 15, 2019): AFAIK you cannot enable HW acceleration partially right now. It's either used for both decoding and encoding, or not used at all.
Author
Owner

@stale[bot] commented on GitHub (Jul 30, 2019):

Issues go stale after 60d of inactivity. Mark the issue as fresh by adding a comment or commit. Stale issues close after an additional 7d of inactivity. If this issue is safe to close now please do so. If you have any questions you can reach us on Matrix or Social Media.

@stale[bot] commented on GitHub (Jul 30, 2019): Issues go stale after 60d of inactivity. Mark the issue as fresh by adding a comment or commit. Stale issues close after an additional 7d of inactivity. If this issue is safe to close now please do so. If you have any questions you can reach us on [Matrix or Social Media](https://jellyfin.readthedocs.io/en/latest/getting-help/).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#419