Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LG WebOS: Transcode despite Codec working #1190

Closed
besendorf opened this issue May 5, 2020 · 17 comments · Fixed by jellyfin/jellyfin#9121
Closed

LG WebOS: Transcode despite Codec working #1190

besendorf opened this issue May 5, 2020 · 17 comments · Fixed by jellyfin/jellyfin#9121
Labels
bug Something isn't working confirmed The issue has been verified p: webos This PR or issue mainly concerns WebOS clients

Comments

@besendorf
Copy link

besendorf commented May 5, 2020

Describe the bug
When playing back HEVC 10bit media via the browser on LG WebOS the stream is being transcoded despite the Codec being available on the TV. Jellyfin shows: VideoCodecNotSupported

To Reproduce

  • LG C9 on Software version 04.71.25 (newest version as of posting this)
  • play HEVC 10bit movie in jellyfin accessed through the WebOS browser

Expected behavior
No transcoding as the Codec is being present on the TV

Logs

[2020-05-05 19:24:32.122 +02:00] [INF] [22] App: User policy for "user". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2020-05-05 19:24:32.122 +02:00] [INF] [22] App: Profile: "Unknown Profile", Path: "freenas/share/movie/movie.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2020-05-05 19:24:32.129 +02:00] [INF] [22] App: Profile: "Unknown Profile", No direct play profiles found for Path: "freenas/share/movie/movie.mkv"

more

[2020-05-05 22:11:06.264 +02:00] [INF] [37] App: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: 0, MaxAlbumArtHeight: 0, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 120000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 192000, MaxStaticMusicBitrate: null, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp4,m4v", AudioCodec: "ac3,eac3,mp3,aac,opus,vorbis", VideoCodec: "h264,h265,hevc,vp8,vp9", Type: Video }, DirectPlayProfile { Container: "mkv", AudioCodec: "ac3,eac3,mp3,aac,opus,vorbis", VideoCodec: "h264,h265,hevc,vp8,vp9", Type: Video }, DirectPlayProfile { Container: "mov", AudioCodec: "ac3,eac3,mp3,aac,opus,vorbis", VideoCodec: "h264", Type: Video }, DirectPlayProfile { Container: "opus", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "mp3", AudioCodec: "mp3", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a,m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "webma,webm", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "ogg", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "webm", AudioCodec: "vorbis,opus", VideoCodec: "VP8", Type: Video }, DirectPlayProfile { Container: "webm", AudioCodec: "vorbis,opus", VideoCodec: "VP9", Type: Video }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "6", MinSegments: 1, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "6", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "6", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "opus", Type: Audio, VideoCodec: null, AudioCodec: "opus", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "6", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "6", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "opus", Type: Audio, VideoCodec: null, AudioCodec: "opus", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "6", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "6", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "6", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "6", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mkv", Type: Video, VideoCodec: "h264,h265,hevc,vp8,vp9", AudioCodec: "ac3,eac3,mp3,aac,opus,vorbis", Protocol: null, EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: True, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "6", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "h264", AudioCodec: "aac,mp3,opus", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "6", MinSegments: 1, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "webm", Type: Video, VideoCodec: "vpx", AudioCodec: "vorbis", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "6", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp4", Type: Video, VideoCodec: "h264", AudioCodec: "ac3,eac3,mp3,aac,opus,vorbis", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: IsAnamorphic, Value: "true", IsRequired: False }, ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline|high 10", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }], ResponseProfiles: [ResponseProfile { Container: "m4v", AudioCodec: null, VideoCodec: null, Type: Video, OrgPn: null, MimeType: "video/mp4", Conditions: [] }], SubtitleProfiles: [SubtitleProfile { Format: "vtt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: External, DidlMode: null, Language: null, Container: null }] }
[2020-05-05 22:11:06.266 +02:00] [INF] [37] App: User policy for "janik". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2020-05-05 22:11:06.266 +02:00] [INF] [37] App: Not eligible for DirectPlay due to unsupported subtitles
[2020-05-05 22:11:06.266 +02:00] [INF] [37] App: Not eligible for DirectStream due to unsupported subtitles
[2020-05-05 22:11:06.266 +02:00] [INF] [37] App: Profile: "Unknown Profile", Path: "freenas/xx.mkv

Screenshots
Screenshot-Jellyfin

System (please complete the following information):

  • OS: WebOS
  • Browser: WebOS browser
  • Jellyfin Version: 10.5.5

Additional context
When disabling transcoding for the user the movie plays just fine without transcoding

@besendorf besendorf added the bug Something isn't working label May 5, 2020
@heyhippari
Copy link
Contributor

heyhippari commented May 16, 2020

The built-in browser of the TV may not support all the codecs available on the TV.

We do support HEVC 10bit on WebOS, but only with the app for that platform (which you currently have to build yourself and install through developer mode).

It plays content in HDR10 and Dolby Vision just fine on an LG B8.

We detect compatibility with formats in a standard way, so if it doesn't work in this case, it's because that browser doesn't support it or reports something wrong.

@besendorf
Copy link
Author

No thats not the case. As I mentioned the video plays without transcoding when I disable transcoding in the browser.

@stale
Copy link

stale bot commented Aug 14, 2020

Issues go stale after 90d of inactivity. Mark the issue as fresh by adding a comment or commit. Stale issues close after an additional 14d 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 stale bot added the stale No activity for an extended length of time label Aug 14, 2020
@stale stale bot closed this as completed Aug 28, 2020
@T-bond
Copy link

T-bond commented Dec 27, 2020

Can we reopen this? I have the same problem on Jellyfin Tizen with the built app. (Built with master web and master Tizen repos 2 days ago)

Two of my HVEC coded film is completely unplayable, when I enable transcoding for myself. (I don't have H265 transcoding support on my server hardware, and the CPU is too weak for this)
But after I disable the transcoding for my user, it plays without any hiccups.

Edit: maybe it is related to #1419

@thornbill thornbill reopened this Dec 28, 2020
@thornbill thornbill added confirmed The issue has been verified p: webos This PR or issue mainly concerns WebOS clients and removed stale No activity for an extended length of time labels Dec 28, 2020
@T-bond
Copy link

T-bond commented Dec 28, 2020

@thornbill thanks for reopening it.
Should it also has the p: tizen label?
Or maybe with the linked issue, it would be a global fix for all the projects?

@thornbill
Copy link
Member

I doubt there is a global fix for this since browser support varies.

@T-bond
Copy link

T-bond commented Jan 5, 2021

I don't know if the problem still exists or why it went stale.
My problem should be fixed by this PR: #2313
So if it is not happens on the WebOS any more, this can be closed.

@besendorf
Copy link
Author

Ill test tomorrow and will report back

@besendorf
Copy link
Author

besendorf commented Jan 5, 2021

Alright, I tested now already and the problem still exists for me. The Info screen is exactly the same except for the Attribute "Streamtype" which now is Video instead of HLS.
I updated my docker container today, so Im on the newest Jellyfin version. The TV i also up to date.

Edit: Oh I just saw. The PR you mentioned isnt merged yet.

@dmitrylyzo
Copy link
Contributor

#2313 will only fix Tizen.

repost from Matrix

According to Playback Info from first post, original media is webm. I have this profile for it:

DirectPlayProfile {
    Container: "webm",
    AudioCodec: "vorbis,opus",
    VideoCodec: "vp8,vp9",
    Type: Video
}

Generated here:

if (webmVideoCodecs.length) {
profile.DirectPlayProfiles.push({
Container: 'webm',
Type: 'Video',
VideoCodec: webmVideoCodecs.join(','),
AudioCodec: webmAudioCodecs.join(',')
});
}

If webm supports other codecs, we probably should add them to arrays.

@besendorf
Copy link
Author

Thanks dmitrylyzo.
Im not familiar with the codebase but why dont't you just try if the file plays back and transcode otherwise?

@yast2
Copy link

yast2 commented Jan 17, 2021

I have the exact same issue.
Jellyfin webOS are both updated.

@besendorf
Copy link
Author

Also I noticed since I am running my LG with a seperate account that has transcoding disabled, that DTS Audio doesnt play. The Video plays but the audio is silent. Is this expected? Should there be an error message or does the C9 support DTS?

@yast2
Copy link

yast2 commented Jan 18, 2021

Audio works fine for me.
However playback stutters a lot when playing 4k hvec.

@besendorf
Copy link
Author

besendorf commented Apr 18, 2021

Logs with current jellyfin version. Same video file as first post in this issue:
I noticed that the playback info on my LG now doesnt show AudioCodecNotSupported which it did when I first reported this issue.

{"Protocol":"File","Id":"0badc1f395c492e058191384343ea960","Path":"/data/movies/movie/movie/movie/movie.mkv","Type":"Default","Container":"mkv,webm","Size":20231247872,"Name":"hdmedia-movie2019-2160p","IsRemote":false,"ETag":"bf13c4114bbceb6da71288b6fe362c14","RunTimeTicks":73039683584,"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":"1001/24000","VideoRange":"SDR","DisplayTitle":"4K HEVC","IsInterlaced":false,"BitRate":22159186,"RefFrames":1,"IsDefault":true,"IsForced":false,"Height":1608,"Width":3840,"AverageFrameRate":23.976025,"RealFrameRate":23.976025,"Profile":"Main 10","Type":"Video","AspectRatio":"2.40:1","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"PixelFormat":"yuv420p10le","Level":153},{"Codec":"truehd","Language":"ger","TimeBase":"1/1000","CodecTimeBase":"1/48000","DisplayTitle":"Ger TRUEHD 7.1 Default","IsInterlaced":false,"ChannelLayout":"7.1","BitDepth":24,"Channels":8,"SampleRate":48000,"IsDefault":true,"IsForced":false,"Type":"Audio","Index":1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0},{"Codec":"ac3","Language":"ger","TimeBase":"1/1000","CodecTimeBase":"1/48000","DisplayTitle":"Ger Dolby Digital 5.1","IsInterlaced":false,"ChannelLayout":"5.1","BitRate":640000,"Channels":6,"SampleRate":48000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":2,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0},{"Codec":"truehd","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"1/48000","DisplayTitle":"Eng TRUEHD 7.1","IsInterlaced":false,"ChannelLayout":"7.1","BitDepth":24,"Channels":8,"SampleRate":48000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":3,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0},{"Codec":"ac3","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"1/48000","DisplayTitle":"Eng Dolby Digital 5.1","IsInterlaced":false,"ChannelLayout":"5.1","BitRate":640000,"Channels":6,"SampleRate":48000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":4,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0},{"Codec":"subrip","Language":"ger","TimeBase":"1/1000","CodecTimeBase":"0/1","localizedUndefined":"Undefined","localizedDefault":"Default","localizedForced":"Forced","DisplayTitle":"Ger - Default - Forced","IsInterlaced":false,"IsDefault":true,"IsForced":true,"Type":"Subtitle","Index":5,"IsExternal":false,"IsTextSubtitleStream":true,"SupportsExternalStream":true,"Level":0},{"Codec":"PGSSUB","Language":"ger","TimeBase":"1/1000","CodecTimeBase":"0/1","localizedUndefined":"Undefined","localizedDefault":"Default","localizedForced":"Forced","DisplayTitle":"Ger","IsInterlaced":false,"IsDefault":false,"IsForced":false,"Type":"Subtitle","Index":6,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0},{"Codec":"PGSSUB","Language":"ger","TimeBase":"1/1000","CodecTimeBase":"0/1","localizedUndefined":"Undefined","localizedDefault":"Default","localizedForced":"Forced","DisplayTitle":"Ger","IsInterlaced":false,"IsDefault":false,"IsForced":false,"Type":"Subtitle","Index":7,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0}],"MediaAttachments":[],"Formats":[],"Bitrate":23439186,"RequiredHttpHeaders":{}}

/usr/lib/jellyfin-ffmpeg/ffmpeg -ss 00:37:42.000 -noaccurate_seek -f matroska,webm -i file:"/data/movies/movie/movie/movie/movie.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:3 -map -0:s -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 23 -maxrate 44318372 -bufsize 88636744 -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:0 "expr:gte(t,2262+n_forced*3)" -g 72 -keyint_min 72 -sc_threshold 0 -start_at_zero -vsync -1 -codec:a:0 aac -ac 6 -ab 384000  -copyts -avoid_negative_ts disabled -f hls -max_delay 5000000 -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 754 -hls_segment_filename "/config/data/transcodes/8fd7c5893cfb06d9295716564d1bc314%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcodes/8fd7c5893cfb06d9295716564d1bc314.m3u8"


ffmpeg version 4.3.1-Jellyfin Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --enable-gpl --enable-version3 --enable-static --enable-libfontconfig --enable-fontconfig --enable-gmp --enable-gnutls --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --arch=amd64 --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-vdpau --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvenc --enable-nvdec --enable-ffnvcodec
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
[matroska,webm @ 0x559251792300] Could not find codec parameters for stream 6 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[matroska,webm @ 0x559251792300] Could not find codec parameters for stream 7 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, matroska,webm, from 'file:/data/movies/movie/movie/movie/movie.mkv':
  Metadata:
    encoder         : libebml v1.3.9 + libmatroska v1.5.2
    creation_time   : 2019-08-20T10:13:08.000000Z
  Duration: 02:01:43.97, start: 0.000000, bitrate: 22159 kb/s
    Chapter #0:0: start 0.000000, end 615.698400
    Metadata:
      title           : Kapitel 01
    Chapter #0:1: start 615.698400, end 1359.399689
    Metadata:
      title           : Kapitel 02
    Chapter #0:2: start 1359.399689, end 2153.276111
    Metadata:
      title           : Kapitel 03
    Chapter #0:3: start 2153.276111, end 2635.007356
    Metadata:
      title           : Kapitel 04
    Chapter #0:4: start 2635.007356, end 3319.357689
    Metadata:
      title           : Kapitel 05
    Chapter #0:5: start 3319.357689, end 3790.161356
    Metadata:
      title           : Kapitel 06
    Chapter #0:6: start 3790.161356, end 4452.364578
    Metadata:
      title           : Kapitel 07
    Chapter #0:7: start 4452.364578, end 5161.698200
    Metadata:
      title           : Kapitel 08
    Chapter #0:8: start 5161.698200, end 5836.080244
    Metadata:
      title           : Kapitel 09
    Chapter #0:9: start 5836.080244, end 6504.456289
    Metadata:
      title           : Kapitel 10
    Chapter #0:10: start 6504.456289, end 7303.968000
    Metadata:
      title           : Kapitel 11
    Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x1608 [SAR 1:1 DAR 160:67], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)
    Metadata:
      BPS-eng         : 13212368
      DURATION-eng    : 02:01:43.964000000
      NUMBER_OF_FRAMES-eng: 175120
      NUMBER_OF_BYTES-eng: 12062832599
      _STATISTICS_WRITING_APP-eng: mkvmerge v35.0.0 ('All The Love In The World') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-08-20 10:13:08
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:1(ger): Audio: truehd, 48000 Hz, 7.1, s32 (24 bit) (default)
    Metadata:
      BPS-eng         : 3717757
      DURATION-eng    : 02:01:43.964000000
      NUMBER_OF_FRAMES-eng: 8764756
      NUMBER_OF_BYTES-eng: 3394295940
      _STATISTICS_WRITING_APP-eng: mkvmerge v35.0.0 ('All The Love In The World') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-08-20 10:13:08
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:2(ger): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s
    Metadata:
      BPS-eng         : 640000
      DURATION-eng    : 02:01:43.968000000
      NUMBER_OF_FRAMES-eng: 228249
      NUMBER_OF_BYTES-eng: 584317440
      _STATISTICS_WRITING_APP-eng: mkvmerge v35.0.0 ('All The Love In The World') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-08-20 10:13:08
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:3(eng): Audio: truehd, 48000 Hz, 7.1, s32 (24 bit)
    Metadata:
      BPS-eng         : 3786290
      DURATION-eng    : 02:01:43.964000000
      NUMBER_OF_FRAMES-eng: 8764756
      NUMBER_OF_BYTES-eng: 3456866386
      _STATISTICS_WRITING_APP-eng: mkvmerge v35.0.0 ('All The Love In The World') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-08-20 10:13:08
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:4(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s
    Metadata:
      BPS-eng         : 640000
      DURATION-eng    : 02:01:43.968000000
      NUMBER_OF_FRAMES-eng: 228249
      NUMBER_OF_BYTES-eng: 584317440
      _STATISTICS_WRITING_APP-eng: mkvmerge v35.0.0 ('All The Love In The World') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-08-20 10:13:08
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:5(ger): Subtitle: subrip (default) (forced)
    Metadata:
      BPS-eng         : 19
      DURATION-eng    : 00:00:32.616000000
      NUMBER_OF_FRAMES-eng: 3
      NUMBER_OF_BYTES-eng: 81
      _STATISTICS_WRITING_APP-eng: mkvmerge v35.0.0 ('All The Love In The World') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-08-20 10:13:08
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:6(ger): Subtitle: hdmv_pgs_subtitle
    Metadata:
      BPS-eng         : 11583
      DURATION-eng    : 00:00:32.616000000
      NUMBER_OF_FRAMES-eng: 6
      NUMBER_OF_BYTES-eng: 47226
      _STATISTICS_WRITING_APP-eng: mkvmerge v35.0.0 ('All The Love In The World') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-08-20 10:13:08
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:7(ger): Subtitle: hdmv_pgs_subtitle
    Metadata:
      BPS-eng         : 26161
      DURATION-eng    : 02:00:22.340000000
      NUMBER_OF_FRAMES-eng: 2964
      NUMBER_OF_BYTES-eng: 23618810
      _STATISTICS_WRITING_APP-eng: mkvmerge v35.0.0 ('All The Love In The World') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2019-08-20 10:13:08
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> h264 (libx264))
  Stream #0:3 -> #0:1 (truehd (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x559251ab1440] using SAR=1/1
[libx264 @ 0x559251ab1440] frame MB size (240x101) > level limit (8192)
[libx264 @ 0x559251ab1440] DPB size (4 frames, 96960 mbs) > level limit (1 frames, 32768 mbs)
[libx264 @ 0x559251ab1440] VBV buffer (88636) > level limit (62500)
[libx264 @ 0x559251ab1440] MB rate (581178) > level limit (245760)
[libx264 @ 0x559251ab1440] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x559251ab1440] profile Main, level 4.1
[libx264 @ 0x559251ab1440] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - 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=9 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=72 keyint_min=37 scenecut=0 intra_refresh=0 rc_lookahead=10 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=44318 vbv_bufsize=88636 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
Output #0, hls, to '/config/data/transcodes/8fd7c5893cfb06d9295716564d1bc314.m3u8':
  Metadata:
    encoder         : Lavf58.45.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 3840x1608 [SAR 1:1 DAR 160:67], q=-1--1, 23.98 fps, 90k tbn, 23.98 tbc (default)
    Metadata:
      encoder         : Lavc58.91.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 44318000/0/0 buffer size: 88636000 vbv_delay: N/A
    Stream #0:1: Audio: aac (LC), 48000 Hz, 5.1, fltp (24 bit), 384 kb/s
    Metadata:
      encoder         : Lavc58.91.100 aac
frame=   10 fps=0.0 q=0.0 size=N/A time=00:37:41.12 bitrate=N/A speed=4.37e+03x    
frame=   25 fps= 24 q=28.0 size=N/A time=00:37:41.74 bitrate=N/A speed=2.2e+03x    
frame=   42 fps= 27 q=28.0 size=N/A time=00:37:42.33 bitrate=N/A speed=1.47e+03x    
frame=   58 fps= 28 q=28.0 size=N/A time=00:37:43.08 bitrate=N/A speed=1.1e+03x    
frame=   72 fps= 28 q=28.0 size=N/A time=00:37:43.57 bitrate=N/A speed= 885x    
frame=   86 fps= 27 q=28.0 size=N/A time=00:37:44.21 bitrate=N/A speed= 720x    
[hls @ 0x559251c24f80] Opening '/config/data/transcodes/8fd7c5893cfb06d9295716564d1bc314754.ts' for writing
frame=   99 fps= 27 q=28.0 size=N/A time=00:37:44.75 bitrate=N/A speed= 620x    
frame=  117 fps= 28 q=28.0 size=N/A time=00:37:45.45 bitrate=N/A speed= 535x    
frame=  132 fps= 28 q=28.0 size=N/A time=00:37:46.24 bitrate=N/A speed= 478x    
frame=  147 fps= 28 q=28.0 size=N/A time=00:37:46.79 bitrate=N/A speed= 432x    
frame=  161 fps= 28 q=28.0 size=N/A time=00:37:47.33 bitrate=N/A speed= 395x    
[hls @ 0x559251c24f80] Opening '/config/data/transcodes/8fd7c5893cfb06d9295716564d1bc314755.ts' for writing
frame=  176 fps= 28 q=28.0 size=N/A time=00:37:47.92 bitrate=N/A speed= 363x    
frame=  189 fps= 28 q=28.0 size=N/A time=00:37:48.46 bitrate=N/A speed= 334x    
frame=  205 fps= 28 q=28.0 size=N/A time=00:37:49.12 bitrate=N/A speed= 311x    
frame=  217 fps= 28 q=28.0 size=N/A time=00:37:49.63 bitrate=N/A speed= 288x    
frame=  229 fps= 27 q=28.0 size=N/A time=00:37:50.12 bitrate=N/A speed= 270x    
frame=  237 fps= 27 q=28.0 size=N/A time=00:37:50.46 bitrate=N/A speed= 254x    
[hls @ 0x559251c24f80] Opening '/config/data/transcodes/8fd7c5893cfb06d9295716564d1bc314756.ts' for writing
frame=  251 fps= 27 q=28.0 size=N/A time=00:37:51.12 bitrate=N/A speed= 241x    
frame=  266 fps= 27 q=28.0 size=N/A time=00:37:51.68 bitrate=N/A speed= 228x    
frame=  281 fps= 27 q=28.0 size=N/A time=00:37:52.30 bitrate=N/A speed= 217x    
frame=  298 fps= 27 q=28.0 size=N/A time=00:37:53.00 bitrate=N/A speed= 207x    
[hls @ 0x559251c24f80] Opening '/config/data/transcodes/8fd7c5893cfb06d9295716564d1bc314757.ts' for writing
frame=  315 fps= 27 q=28.0 size=N/A time=00:37:53.79 bitrate=N/A speed= 198x    
frame=  333 fps= 28 q=28.0 size=N/A time=00:37:54.60 bitrate=N/A speed= 190x    
frame=  353 fps= 28 q=28.0 size=N/A time=00:37:55.31 bitrate=N/A speed= 182x    
frame=  371 fps= 28 q=28.0 size=N/A time=00:37:56.09 bitrate=N/A speed= 175x    
[hls @ 0x559251c24f80] Opening '/config/data/transcodes/8fd7c5893cfb06d9295716564d1bc314758.ts' for writing
frame=  385 fps= 28 q=28.0 size=N/A time=00:37:56.71 bitrate=N/A speed= 168x    
frame=  398 fps= 28 q=28.0 size=N/A time=00:37:57.23 bitrate=N/A speed= 161x    
frame=  413 fps= 28 q=28.0 size=N/A time=00:37:57.80 bitrate=N/A speed= 155x    
frame=  422 fps= 28 q=28.0 size=N/A time=00:37:58.23 bitrate=N/A speed= 150x    
frame=  434 fps= 28 q=28.0 size=N/A time=00:37:58.72 bitrate=N/A speed= 145x    
frame=  446 fps= 27 q=28.0 size=N/A time=00:37:59.21 bitrate=N/A speed= 140x    
[hls @ 0x559251c24f80] Opening '/config/data/transcodes/8fd7c5893cfb06d9295716564d1bc314759.ts' for writing
frame=  461 fps= 28 q=28.0 size=N/A time=00:37:59.85 bitrate=N/A speed= 136x    
frame=  477 fps= 28 q=28.0 size=N/A time=00:38:00.47 bitrate=N/A speed= 132x    
frame=  490 fps= 28 q=28.0 size=N/A time=00:38:01.19 bitrate=N/A speed= 128x    
frame=  507 fps= 28 q=28.0 size=N/A time=00:38:01.85 bitrate=N/A speed= 125x    
frame=  523 fps= 28 q=28.0 size=N/A time=00:38:02.47 bitrate=N/A speed= 122x    
[hls @ 0x559251c24f80] Opening '/config/data/transcodes/8fd7c5893cfb06d9295716564d1bc314760.ts' for writing
frame=  537 fps= 28 q=28.0 size=N/A time=00:38:02.96 bitrate=N/A speed= 118x    
frame=  553 fps= 28 q=28.0 size=N/A time=00:38:03.65 bitrate=N/A speed= 115x    
frame=  565 fps= 28 q=28.0 size=N/A time=00:38:04.14 bitrate=N/A speed= 112x    
frame=  582 fps= 28 q=28.0 size=N/A time=00:38:04.88 bitrate=N/A speed= 109x    
frame=  595 fps= 28 q=28.0 size=N/A time=00:38:05.48 bitrate=N/A speed= 107x    
[hls @ 0x559251c24f80] Opening '/config/data/transcodes/8fd7c5893cfb06d9295716564d1bc314761.ts' for writing
frame=  612 fps= 28 q=28.0 size=N/A time=00:38:06.10 bitrate=N/A speed= 104x    
frame=  628 fps= 28 q=28.0 size=N/A time=00:38:06.76 bitrate=N/A speed= 102x    
frame=  643 fps= 28 q=28.0 size=N/A time=00:38:07.40 bitrate=N/A speed=99.5x    
frame=  662 fps= 28 q=28.0 size=N/A time=00:38:08.19 bitrate=N/A speed=97.4x    
[hls @ 0x559251c24f80] Opening '/config/data/transcodes/8fd7c5893cfb06d9295716564d1bc314762.ts' for writing
frame=  674 fps= 28 q=28.0 size=N/A time=00:38:08.72 bitrate=N/A speed=95.3x    
frame=  688 fps= 28 q=28.0 size=N/A time=00:38:09.41 bitrate=N/A speed=93.3x    
frame=  705 fps= 28 q=28.0 size=N/A time=00:38:10.03 bitrate=N/A speed=91.4x    
frame=  722 fps= 28 q=28.0 size=N/A time=00:38:10.73 bitrate=N/A speed=89.6x    
frame=  737 fps= 28 q=28.0 size=N/A time=00:38:11.35 bitrate=N/A speed=87.9x    
[hls @ 0x559251c24f80] Opening '/config/data/transcodes/8fd7c5893cfb06d9295716564d1bc314763.ts' for writing
frame=  754 fps= 28 q=28.0 size=N/A time=00:38:12.16 bitrate=N/A speed=86.1x    
frame=  770 fps= 28 q=28.0 size=N/A time=00:38:12.73 bitrate=N/A speed=84.3x    

@dmitrylyzo
Copy link
Contributor

dmitrylyzo commented Apr 19, 2021

Looks similar jellyfin/jellyfin#5576 (comment)
For HEVC HDR+TRUEHD I get 2 entries in master.m3u8 (for HEVC HDR and H264 SDR), TV starts playing H264 (it has lower bitrate) and doesn't switch to HDR stream.
I tested this with #2519

@silverwolf04
Copy link

This thread helped me diagnose why 4K HEVC 10bit content kept getting transcoded to H264 on my LG C2. SO frustrating.
Enabling this setting in the TV's client appears to have addressed this issue.
Prefer fMP4-HLS Media Container

The TV has the codecs to support this; does this just need to be resolved in a profile within the Jellyfin app itself? Are these profiles stored client side or server side?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working confirmed The issue has been verified p: webos This PR or issue mainly concerns WebOS clients
Projects
None yet
7 participants