AV1 transcoding

When will plex provide support for AV1 transcoding?

On the same machine I run both plex and jellyfin media server. Plex only does h264 transcoding while jellyfin a free app provides three options av1, h264 and hevc transcoding.

Performance and quality of jellyfin transcoding is miles ahead of anything plex offers and that’s a free app. On the same TV when I run an 80mbit bitrate movie 4k hdr to 4k hdr transcode, it is buffering constantly with plex while jellyfin plays it smooth as butter, doing it at more than 60 fps.

My media server runs on an intel 14600t, arc 750 gpu and latest linuxserver docker container. Jellyfin actually knows how to take advantage of my newer hardware while plex still thinks I run a server from 2010 and movies are 1080p.

The only reason people pay for plex pass is for the hw transcoding, please get your engineers to focus on what matters.

  1. Do you have embedded PGS subtitles in your videos? I bet you do.
    They are the single biggest reason for stuttering (CPU can’t handle high bit rate and your i5 is no exception

  2. If Plex thought you had hardware from 2010, you wouldn’t be able to use that RaptorLake for anything except a paperweight. :slight_smile:

  3. ARC GPUs are on the To-Do list along with finishing AMD support

  4. Priority at this moment -

  • Fix all the damaged caused by the 6.8 kernel with the QSV customers (the majority)

  • Update our FFMPEG base and complete:
    – HEVC output (which includes HDR output
    – PGS hardware transcoding (it’s done but on hold as we fix the QSV problems)

  • PMS will already decode AV1 video if the hardware supports it.
    – You’ll be able to decode AV1 → HEVC output

I cannot speak to AV1 encoding plans because the number of users with AV1 encoding-capable GPUs is still a very small segment of the userbase.

Not making excuses here but ask you consider how much our 1.5 person team (the new team after the staff reduction) can do knowing the that this is unfortunately a prioritization game (most customers supported with each task)


Regarding your stuttering CPU while playing that 80 Mbps video, if you’ll do the following, I would like to see what’s actually happening.

  1. Confirm DEBUG logging is enabled (SAVE if changed)
  2. Recreate the stutering
  3. Download the logs ZIP file
  4. Upload / Attach here.
2 Likes

I hope the logs will help you because I see no benefit in continuing to pay for HW transcoding when plex isn’t capable of using the latest Intel hardware and does software transcoding on the CPU.

Jellyfin is free and open source, you can install it yourself run both and notice how big of a difference it is between them when it comes to transcoding.

80% of my media is in the highest bitrate available, 4k HDR in 60 GB to 120 GB files and yes most of them have PGS subtitles.

Making sure your software provides the best and up to date HW transcoding in the world should be your first priority.

Plex Media Server Logs_2024-07-01_03-15-08.zip (5.2 MB)

Thank you for the logs.

  1. I am seeing ‘BURN’ in your playbacks.
    – Check that your players are set to “automatic” and not forcing “burn”.

Jul 01, 2024 02:54:31.944 [22959492180792] DEBUG - Completed: [192.168.1.215:55175] 200 GET /video/:/transcode/universal/start.mpd?hasMDE=1&path=%2Flibrary%2Fmetadata%2F2197&mediaIndex=0&partIndex=0&protocol=dash&fastSeek=1&directPlay=0&directStream=1&subtitleSize=100&audioBoost=100&location=lan&addDebugOverlay=0&autoAdjustQuality=1&directStreamAudio=0&mediaBufferSize=102400&session=bw4bx5mfayb3gpkqo33h03ck&subtitles=burn&Accept-Language=en (14 live) #344d3 TLS GZIP 285ms 1089 bytes (pipelined: 9)

&subtitles=burn&

  1. Also in the log, because the libraries are installed, the ARC 750 is being utilized
Jul 01, 2024 02:54:32.789 [22959305534264] DEBUG - [Req#3451d/Transcode] [Universal] Using local file path instead of URL: /data/media/movies/Pearl (2022) {imdb-tt18925334}/Pearl (2022) {imdb-tt18925334} [Remux-2160p][DV HDR10][TrueHD Atmos 7.1][HEVC]-CiNEPHiLES.mkv
Jul 01, 2024 02:54:32.789 [22959305534264] INFO - [Req#3451d/Transcode] Preparing driver icr for GPU DG2 [Arc A750]
Jul 01, 2024 02:54:32.789 [22959305534264] DEBUG - [Req#3451d/Transcode/DriverDL/icr] Skipping download; already exists
Jul 01, 2024 02:54:32.792 [22959305534264] DEBUG - [Req#3451d/Transcode] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (DG2 [Arc A750])
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x41524742 -> bgra.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x42475241 -> argb.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x41424752 -> rgba.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x52474241 -> abgr.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x58524742 -> bgr0.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x42475258 -> 0rgb.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x58424752 -> rgb0.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x52474258 -> 0bgr.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x30335241 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x30334241 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x30335258 -> x2rgb10le.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x30334258 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x36314752 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x56555941 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x56555958 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x30303859 -> gray.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x3231564e -> nv12.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x3132564e -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x32595559 -> yuyv422.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x59565955 -> uyvy422.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x32315659 -> yuv420p.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x30323449 -> yuv420p.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x50313134 -> yuv411p.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x48323234 -> yuv422p.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x56323234 -> yuv440p.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x50343434 -> yuv444p.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x33434d49 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x30313050 -> p010le.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x32313050 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x36313050 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x30313259 -> y210le.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x32313259 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x36313259 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x30313459 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x32313459 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x36313459 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x50424752 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Format 0x50524742 -> unknown.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Created surface 0.
Jul 01, 2024 02:54:32.804 [22959305534264] DEBUG - [Req#3451d/Transcode] [FFMPEG] - Direct mapping possible.
Jul 01, 2024 02:54:32.805 [22959305534264] INFO - [Req#3451d/Transcode] Preparing driver imd for GPU DG2 [Arc A750]
Jul 01, 2024 02:54:32.805 [22959305534264] DEBUG - [Req#3451d/Transcode/DriverDL/imd] Skipping download; already exists
Jul 01, 2024 02:54:32.807 [22959305534264] DEBUG - [Req#3451d/Transcode] TPU: hardware transcoding: final decoder: vaapi, final encoder: vaapi
Jul 01, 2024 02:54:32.807 [22959305534264] DEBUG - [Req#3451d/Transcode/JobRunner] Job running: EAE_ROOT=/tmp/pms-c10ecd51-e60e-4c63-898f-f5f3ddcd9e68/EasyAudioEncoder EnableAIL=0 FFMPEG_EXTERNAL_LIBS='/config/Library/Application\ Support/Plex\ Media\ Server/Codecs/ad47460-ffe81d9cd51bd27cb3fbbe09-linux-x86_64/' LIBVA_DRIVERS_PATH="/config/Library/Application Support/Plex Media Server/Cache/va-dri-linux-x86_64" NEOReadDebugKeys=1 OCL_ICD_VENDORS="/config/Library/Application Support/Plex Media Server/Cache/cl-icds-linux-x86_64" X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx cl_cache_dir="/config/Library/Application Support/Plex Media Server/Cache/Shaders/icr-3e693db9c71d966fa83dfabd-linux-x86_64/" "/usr/lib/plexmediaserver/Plex Transcoder" -codec:0 hevc -hwaccel:0 vaapi -hwaccel_fallback_threshold:0 10 -hwaccel_output_format:0 vaapi -hwaccel_device:0 vaapi -codec:1 truehd_eae -eae_prefix:1 4d8j0qbsz0at23jt6jjvfqif_ -analyzeduration 20000000 -probesize 20000000 -i "/data/media/movies/Pearl (2022) {imdb-tt18925334}/Pearl (2022) {imdb-tt18925334} [Remux-2160p][DV HDR10][TrueHD Atmos 7.1][HEVC]-CiNEPHiLES.mkv" -filter_complex "[0:0]hwupload[0];[0]scale_vaapi=w=3840:h=2160:format=p010[1];[1]hwmap=derive_device=opencl[2];[2]tonemap_opencl=tonemap=mobius:format=nv12:m=bt709:p=bt709:r=tv[3];[3]hwmap=derive_device=vaapi:reverse=1[4];[4]hwupload[5]" -map "[5]" -metadata:s:0 language=eng -codec:0 h264_vaapi -crf:0 16 -maxrate:0 82944k -bufsize:0 165888k -r:0 23.975999999999999 -force_key_frames:0 "expr:gte(t,n_forced*1)" -filter_complex "[0:1] aresample=async=1:ochl='stereo':rematrix_maxval=0.000000dB:osr=48000[6]" -map "[6]" -metadata:s:1 language=eng -codec:1 aac -b:1 256k -f dash -seg_duration 1 -dash_segment_type mp4 -init_seg_name 'init-stream$RepresentationID$.m4s' -media_seg_name 'chunk-stream$RepresentationID$-$Number%05d$.m4s' -window_size 5 -delete_removed false -skip_to_segment 1 -time_delta 0.0625 -manifest_name "http://127.0.0.1:32400/video/:/transcode/session/4d8j0qbsz0at23jt6jjvfqif/b1110b84-02c8-4cc8-a8ce-a61e2161b215/manifest?X-Plex-Http-Pipeline=infinite" -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 dash -start_at_zero -copyts -vsync cfr -init_hw_device vaapi=vaapi:/dev/dri/renderD128,driver=iHD -filter_hw_device vaapi -y -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/4d8j0qbsz0at23jt6jjvfqif/b1110b84-02c8-4cc8-a8ce-a61e2161b215/progress

This addresses two of your concerns:

  1. Subtitle burn-in — Known and will be released as soon as we finish the 6.8 kernel fire

  2. Arc GPU support – Is as I have stated elsewhere in this forum; Arc will work when the drivers are installed via the VAAPI interface just as AMD does.

To address your stuttering issues, I recommend using a remux tool (MKVToolNix) to remove unwanted subs from the file without altering the video or audio streams. This will alleviate the burden on your CPU until such time as we resolve the current forest fire and release hardware subtitle burning.

THEN – If there are no other :fire: , we’ll be able to do the major transcoder upgrade we’ve been trying to do for a few months now.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.