jellyfin / jellyfin-web

Web Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.37k stars 1.26k forks source link

Audio Transcoding Fails for AV1 Videos When 'Prefer fMP4-HLS Container' is Disabled #6153

Open rlauuzo opened 1 month ago

rlauuzo commented 1 month ago

Describe The Bug When the 'Prefer fMP4-HLS Container' setting is disabled, audio transcoding fails to work properly for AV1 videos. This issue affects multiple platforms and results in playback problems:

  1. Firefox: Playback gives a warning that the format is unsupported.
  2. Android and WebOS: Video plays, but there is no audio. The playback information states that it's direct playing DTS.

The issue is resolved when 'Prefer fMP4-HLS Container' is enabled, which correctly converts the audio to AAC.

Steps To Reproduce

  1. Disable the 'Prefer fMP4-HLS Container' setting in Playback Settings.
  2. Attempt to play an AV1 video that requires audio transcoding.
  3. Observe the playback issues.
  4. Enable 'Prefer fMP4-HLS Container' and verify that audio playback works correctly.

Expected Behavior Audio transcoding should work correctly for AV1 videos regardless of the 'Prefer fMP4-HLS Container' setting.

System (please complete the following information):

dmitrylyzo commented 1 month ago

Is Allow video playback that requires transcoding enabled for the user? AV1 codec isn't currently allowed in TS container.

rlauuzo commented 1 month ago

Thank you for your response. The Allow video playback that requires transcoding setting is indeed not enabled. I assumed the system would automatically fall back to fMP4 if TS doesn't work, especially since enabling 'Prefer fMP4-HLS Container' resolves the issue.

dmitrylyzo commented 1 month ago

In fact (from the implementation), Prefer fMP4-HLS Container enables/disables fMP4 and should be called Enable fMP4-HLS Container. But when fMP4 is enabled, it is also preferred. 🤷‍♂️