jellyfin / jellyfin-androidtv

Android TV Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.45k stars 415 forks source link

Unnecessarily transcoding audio (EAC3) — Philips Smart TV #2100

Open dglava opened 1 year ago

dglava commented 1 year ago

Describe the bug

The audio track is being transcoded (eac3->aac), despite EAC3 being supported by my hardware (Philips Android TV). I tried playing the file back on the hardware's integrated video player and it worked. Jellyfin is listing the transcode reason as TranscodeReasons=DirectPlayError.

Is there anything faulty on my end and if yes, how can I troubleshoot that? Alternatively, if this is an issue in the Jellyfin Android-TV client, is it something that can be fixed?

Possibly related issues: #1723, #1874, #1400.

Media info of the file

ffprobe version 5.1.1-Jellyfin Copyright (c) 2007-2022 the FFmpeg developers
  built with gcc 10 (Debian 10.2.1-6)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-static --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Input #0, matroska,webm, from 'Archer (2009) - S13E05 - Out of Network [WEBDL-720p][EAC3 5.1][x264]-NTb.mkv':
  Metadata:
    encoder         : libebml v1.4.2 + libmatroska v1.6.3
  Duration: 00:22:17.15, start: 0.000000, bitrate: 1709 kb/s
  Chapters:
    Chapter #0:0: start 0.000000, end 118.008000
      Metadata:
        title           : Chapter 1
    Chapter #0:1: start 118.008000, end 590.016000
      Metadata:
        title           : Chapter 2
    Chapter #0:2: start 590.016000, end 1067.014000
      Metadata:
        title           : Chapter 3
    Chapter #0:3: start 1067.014000, end 1307.015000
      Metadata:
        title           : Chapter 4
    Chapter #0:4: start 1307.015000, end 1337.152000
      Metadata:
        title           : Credits
  Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
    Metadata:
      BPS             : 1451702
      DURATION        : 00:22:17.044000000
      NUMBER_OF_FRAMES: 32057
      NUMBER_OF_BYTES : 242623778
      _STATISTICS_WRITING_APP: mkvmerge v70.0.0 ('Caught A Lite Sneeze') 64-bit
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1(side), fltp, 256 kb/s (default) (original)
    Metadata:
      BPS             : 256000
      DURATION        : 00:22:17.152000000
      NUMBER_OF_FRAMES: 41786
      NUMBER_OF_BYTES : 42788864
      _STATISTICS_WRITING_APP: mkvmerge v70.0.0 ('Caught A Lite Sneeze') 64-bit
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:2(eng): Subtitle: subrip
    Metadata:
      BPS             : 118
      DURATION        : 00:21:55.931000000
      NUMBER_OF_FRAMES: 591
      NUMBER_OF_BYTES : 19412
      _STATISTICS_WRITING_APP: mkvmerge v70.0.0 ('Caught A Lite Sneeze') 64-bit
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:3(eng): Subtitle: subrip (hearing impaired)
    Metadata:
      title           : SDH
      BPS             : 124
      DURATION        : 00:21:57.868000000
      NUMBER_OF_FRAMES: 630
      NUMBER_OF_BYTES : 20563
      _STATISTICS_WRITING_APP: mkvmerge v70.0.0 ('Caught A Lite Sneeze') 64-bit
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

Application version

0.14.3

Device information

Philips 48PFK5500/12 Smart TV

Android version

Android 5.1.1

Jellyfin server version

10.8.5

jellyfin-bot commented 1 year ago

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

dglava commented 1 year ago

I am still getting this issue in the latest release of Jellyfin-AndroidTV, version 0.15.2. According to my TV's manual, it should support EAC3 natively:

Audio Codecs : AAC, HE-AAC (v1/v2), AMR-NB,
Dolby Digital, Dolby Digital Plus, DTS Premium
Sound™, MPEG-1/2/2.5 Layer I/II/III (includes MP3),
WMA (v2 to v9.2), WMA Pro (v9/v10)

There is a slight change though: I am getting a TranscodeReason=ContainerBitrateExceedsLimit ) instead of the old TranscodeReason=DirectPlayError ). I looked a bit into it and stumbled upon this related issue https://github.com/jellyfin/jellyfin/issues/3277.

I changed the Max. Streaming-Bitrate" inside Jellyfin-AndroidTV (in the video section) to 120 MBit/s instead of Auto* and now I am back to getting the old transcoding reason TranscodeReason=DirectPlayError ).

All that applies when I don't enable the "Bitstream Dolby Digital Audio" and "Bitstream DTS Audio" switches in Jellyfin-AndroidTV. When I enable those, it's again just a black screen with audio that cuts off after a short time.

I guess it's transcoding because I didn't check those 2 boxes, but when I check those 2 boxes I don't get any video?

jellyfin-bot commented 1 year ago

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

dglava commented 1 year ago

The issue is still present in version 0.15.9

jellyfin-bot commented 9 months ago

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

dglava commented 9 months ago

I am still experiencing this with Jellyfin-AndroidTV version 0.15.12.

The log is showing this reason for reencoding now: TranscodeReason=AudioCodecNotSupported. Here's the part of the transcode log: Stream #0:1 -> #0:1 (eac3 (native) -> aac (libfdk_aac)).

BenjaminSchuermann commented 9 months ago

I encounter the same problem. Philips 55OLED804/12 (TPM191E), plays EAC3 fine. But Jellyfin wants to transcode if not permitted per user rights. Jellyfin-AndroidTV version 0.15.12.

jellyfin-bot commented 5 months ago

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

dglava commented 4 months ago

Still happening in 0.16.5.

jellyfin-bot commented 2 weeks ago

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.