jellyfin / jellyfin-media-player

Jellyfin Desktop Client
GNU General Public License v2.0
3.28k stars 323 forks source link

Preferred Transcode Video Codec Ignored #797

Open MrPeteypoo opened 1 week ago

MrPeteypoo commented 1 week ago

Describe the bug Jellyfin 10.10.0 introduced two new settings in "Playback" -> "Video Advanced". These are called "Preferred transcode video codec" and "Preferred transcode audio codec in video playback". Both seem to be ignored by the Jellyfin Media Player but I thoroughly tested the video codec option because it has a greater impact on streaming quality.

The new video codec option allows me to choose from AV1, HEVC or H264 as my preferred codec but it seems like the AV1 option has no effect and the HEVC option only works if I enable "Client Settings" -> "Allow Transcode to HEVC". My Jellyfin server is configured to allow transcoding to AV1 and if I use the web browser I can stream with AV1 and FLAC encoding by configuring the preferred video/audio codec settings correctly. If I try to direct play an MKV file with an AV1 video codec it works perfectly fine without transcoding but I can't get the media player to transcode to AV1 on my M2 Mac Mini or my friends computers running Windows 11 with Nvidia 3000 series GPUs. Also if I disable "Client Settings" -> "Hardware Decoding" AV1 transcoding still doesn't work.

The source files I tested were all MKV files created by ripping my 4K blu-ray collection, some were HEVC with HDR10 and some were HEVC with Dolby Vision 7.6. To test direct playing of AV1 files I transcoded my 4K HEVC DV7.6 copy of Battle Royale to 1080p AV1 DV10.1.

To Reproduce Steps to reproduce the behavior:

  1. Go to the "Playback" user setting
  2. Scroll down to "Video Advanced" -> "Preferred transcode video codec"
  3. Change it to "AV1"
  4. Scroll down to "Save"
  5. Click "Save"
  6. Go to your movie library
  7. Start streaming a movie with a bitrate of more than 10Mbps
  8. Configure your video quality to 10Mbps
  9. Enable the "Playback Info"
  10. Notice how the video codec is H264 and not AV1

Expected behavior If I choose AV1 as my "Preferred transcode video codec" and I can't direct stream/play a video file I expect the transcode codec to be AV1. Same with the "Preferred transcode audio codec in video playback" option in regards to audio codecs.

Screenshots Image Image

Desktop (please complete the following information):

Additional context Here are the logs: Jellyfin Media Player.log