jellyfin / jellyfin-chromecast

Chromecast Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
132 stars 41 forks source link

Transcoded 2160p content not played on Chromecast #502

Closed bertmelis closed 2 weeks ago

bertmelis commented 1 year ago

Playback of a 2160p movie doesn't work on Chromecast. It works for my laptop for examples, where to file is also transcoded. It starts transcoding but never writes the temporary file so nothing can be served to the client.

The screen stays black and after a while, it returns to the Jellyfin main waiting screen.

When transcoding a file that works, somewhere in the transcode log there is a line like this:

[hls @ 0x55ffe34ac9c0] Opening '/config/transcodes/63e1f251f3303081e824d9b49857592c13.ts' for writing

For -amongst others- this file, nothing is written.

Media Info of the file

Video
Title: 4K HEVC SDR
Codec: HEVC
Profile: Main 10
Level: 150
Resolution: 3840x1604
Aspect ratio: 2.40:1
Interlaced: No
Framerate: 23.976025
Bitrate: 6392 kbps
Bit depth: 10 bit
Video range: SDR
Video range type: SDR
Pixel format: yuv420p10le
Ref frames: 1

Audio
Title: AAC - 5.1 - Default
Codec: AAC
Profile: LC
Layout: 5.1
Channels: 6 ch
Bitrate: 320 kbps
Sample rate: 48000 Hz
Default: Yes
Forced: No
External: No

Logs

[2022-12-16 10:16:42.305 +00:00] [INF] [51] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/media/movies/[redacted].mkv", AudioStreamIndex=3, SubtitleStreamIndex=0 ) => ( PlayMethod=Transcode, TranscodeReason=VideoCodecNotSupported ) "media:/videos/67410726-e76d-6573-fafa-30236ca28e14/stream.mkv?MediaSourceId=67410726e76d6573fafa30236ca28e14&VideoCodec=h264,vp8&AudioCodec=aac&AudioStreamIndex=3&VideoBitrate=19616000&AudioBitrate=384000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=<token>&TranscodingMaxAudioChannels=2&CopyTimestamps=true&RequireAvc=false&Tag=463d00ec5c20103acd828b6cff3935d1&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-profile=lc&h264-profile=high,main,baseline,constrainedbaseline&h264-level=42&aac-audiochannels=2&TranscodeReasons=VideoCodecNotSupported"
[2022-12-16 10:16:42.574 +00:00] [INF] [138] Jellyfin.Api.Helpers.TranscodingJobHelper: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -filter_hw_device qs -autorotate 0 -i file:\"/media/movies/[redacted].mkv\" -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_qsv -force_key_frames \"expr:gte(t,n_forced*5)\" -vf \"setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(3840\,1634*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(3840/a\,1634))/2)*2,format=yuv420p\" -copyts -avoid_negative_ts disabled -start_at_zero -low_power 1 -preset 7 -look_ahead 0 -b:v 11097215 -maxrate 11097215 -bufsize 22194430 -profile:v:0 high -level 42 -map_metadata -1 -map_chapters -1 -threads 0 -codec:a:0 libfdk_aac -ac 2 -ab 384000 -ar 48000 -af \"volume=2\" -y \"/config/transcodes/d1d1e9ba6237f3b6af0fe21b198359a3.mkv\""
[2022-12-16 10:17:16.297 +00:00] [INF] [115] Jellyfin.Api.Helpers.TranscodingJobHelper: Transcoding kill timer stopped for JobId "11b408ad0d5949d597e2a7a4edbcb07c" PlaySessionId "bbbfd77c22be4136bfc3d61e0e24be97". Killing transcoding
[2022-12-16 10:17:16.297 +00:00] [INF] [115] Jellyfin.Api.Helpers.TranscodingJobHelper: Stopping ffmpeg process with q command for "/config/transcodes/d1d1e9ba6237f3b6af0fe21b198359a3.mkv"
[2022-12-16 10:17:16.501 +00:00] [INF] [115] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0
[2022-12-16 10:17:16.501 +00:00] [INF] [115] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting partial stream file(s) "/config/transcodes/d1d1e9ba6237f3b6af0fe21b198359a3.mkv"

FFmpeg Logs

Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_qsv))
  Stream #0:1 -> #0:1 (aac (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
Output #0, matroska, to '/config/transcodes/99b6282df9e16b365917a39468144d72.mkv':
  Metadata:
    encoder         : Lavf59.27.100
  Stream #0:0: Video: h264 (H264 / 0x34363248), nv12(tv, bt709, progressive), 3840x1604 [SAR 1:1 DAR 960:401], q=2-31, 10616 kb/s, 23.98 fps, 1k tbn (default)
    Metadata:
      encoder         : Lavc59.37.100 h264_qsv
    Side data:
      cpb: bitrate max/min/avg: 10616000/0/10616000 buffer size: 21232000 vbv_delay: N/A
  Stream #0:1: Audio: aac ([255][0][0][0] / 0x00FF), 48000 Hz, stereo, s16, 384 kb/s (default)
    Metadata:
      encoder         : Lavc59.37.100 libfdk_aac
frame=    1 fps=0.0 q=0.0 size=       1kB time=00:00:00.00 bitrate=N/A speed=   0x    
frame=   16 fps=0.0 q=26.0 size=       1kB time=00:00:00.66 bitrate=   9.3kbits/s speed=1.11x    
frame=   41 fps= 37 q=16.0 size=       1kB time=00:00:01.68 bitrate=   3.6kbits/s speed=1.52x    
frame=   65 fps= 40 q=10.0 size=       1kB time=00:00:02.68 bitrate=   2.3kbits/s speed=1.66x    
frame=   87 fps= 41 q=12.0 size=       1kB time=00:00:03.60 bitrate=   1.7kbits/s speed= 1.7x    
frame=  109 fps= 42 q=12.0 size=    5120kB time=00:00:04.52 bitrate=9273.3kbits/s speed=1.72x    
frame=  129 fps= 41 q=12.0 size=    5120kB time=00:00:05.37 bitrate=7801.9kbits/s speed=1.71x    
frame=  152 fps= 42 q=12.0 size=    5120kB time=00:00:06.33 bitrate=6619.8kbits/s speed=1.74x    
frame=  176 fps= 42 q=10.0 size=    5120kB time=00:00:07.31 bitrate=5731.5kbits/s speed=1.76x    
frame=  201 fps= 43 q=10.0 size=   10240kB time=00:00:08.36 bitrate=10030.6kbits/s speed=1.79x    
frame=  227 fps= 44 q=10.0 size=   10240kB time=00:00:09.45 bitrate=8875.9kbits/s speed=1.83x    
frame=  253 fps= 45 q=14.0 size=   10240kB time=00:00:10.53 bitrate=7959.6kbits/s speed=1.86x    
frame=  278 fps= 45 q=14.0 size=   13312kB time=00:00:11.58 bitrate=9414.0kbits/s speed=1.87x    
frame=  305 fps= 45 q=26.0 size=   13312kB time=00:00:12.71 bitrate=8576.6kbits/s speed=1.89x    
frame=  332 fps= 46 q=17.0 size=   13312kB time=00:00:13.82 bitrate=7888.6kbits/s speed=1.91x    
frame=  357 fps= 46 q=17.0 size=   18432kB time=00:00:14.87 bitrate=10154.3kbits/s speed=1.93x    
frame=  383 fps= 47 q=17.0 size=   18432kB time=00:00:15.95 bitrate=9462.0kbits/s speed=1.94x    

[q] command received. Exiting.

frame=  383 fps= 46 q=17.0 Lsize=   20828kB time=00:00:16.02 bitrate=10649.3kbits/s speed=1.94x    
video:20057kB audio:761kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.045356%

Server System (please complete the following information):

Client System (please complete the following information):

GodTamIt commented 1 year ago

Hmm, this is odd. It looks like it's trying to transcode to an output resolution of 3840x1604 even though you're on a non-4K Chromecast. I'm going to guess that either the client is sending down the wrong resolution or the server is reading the wrong resolution to transcode to.

Just to confirm, is this still an issue you're running into?

bertmelis commented 1 year ago

Yes, it's still actual. Can't play 4k with my Chromecast.

Don't het me wrong, maybe my config is wrong or something's wrong with my system. But I also just don't know where to start debugging because the logs don't show anything wrong. It just stops.

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.

GodTamIt commented 1 year ago

@bertmelis is this still reproducing for you?

RealZack commented 1 year ago

I have the same problem, I use my android phone to cast to a non 4k chromecast but a normal one.

I setup on android 1080 as much as i can (maximum allowed video transcoding resolution, network, etc)

And the screen is black, after looking at FFmpeg log, i assume it's transcoding because the codec is h264 and not h265 as my source file but the output resolution is 4k

Stream #0:0: Video: h264 (H264 / 0x34363248), qsv(tv, bt709, progressive), 3840x1600 [SAR 1:1 DAR 12:5], q=2-31, 4944 kb/s, 23.98 fps, 1k tbn (default)

dd-ugm commented 1 year ago

Experiencing a very similar issue. Playback on a Chromecast HD (non-4k) attempts to use several players, cancelling the transcode each time, before exiting playback altogether. It appears ffmpeg is trying to output the original 3840x2160 to the Chromecast in this case too.

Sorry for the excessive logs, I know some of it may be less relevant but I didn't want to risk excluding any important info.

Jellyfin seems to report that transcoding is terminated as playback has been stopped on the client - assuming this is because the ffmpeg output resolution is too high. videocodec information is also missing from the transcodingprofile in the available players' playback info, along with a lot of nulls and other empty definitions. Wonder if this is related to ffmpeg not receiving the correct resolution to transcode to?

Logs ``` [2023-08-28 20:28:19.290 +00:00] [DBG] [83] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: DeviceProfile { Name: "AndroidTV-libVLC", 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: 20000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "m4v,3gp,ts,mpegts,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm,wtv", AudioCodec: "aac,mp3,mp2,ac3,eac3,wma,wmav2,dca,dts,pcm,pcm_s16le,pcm_s24le,opus,flac,truehd", VideoCodec: null, Type: Video }, DirectPlayProfile { Container: "flac,aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "jpg,jpeg,png,gif,webp", AudioCodec: null, VideoCodec: null, Type: Photo }], TranscodingProfiles: [TranscodingProfile { Container: "mkv", Type: Video, VideoCodec: "h264", AudioCodec: "aac,mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: True, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [ContainerProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoCodecTag, Value: "xvid", IsRequired: False }], Container: "avi" }], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "Main 10", IsRequired: False }], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }], ResponseProfiles: [], SubtitleProfiles: [SubtitleProfile { Format: "srt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "srt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "subrip", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvdsub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "vtt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "sub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "smi", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "idx", Method: Embed, DidlMode: null, Language: null, Container: null }] } [2023-08-28 20:28:19.331 +00:00] [INF] [83] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "username". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-08-28 20:28:19.336 +00:00] [DBG] [83] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "AndroidTV-libVLC", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False [2023-08-28 20:28:19.342 +00:00] [DBG] [83] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "VideoCodecProfile", DirectPlay=false. Reason="AndroidTV-libVLC".VideoProfile Condition: NotEquals. ConditionValue: "Main 10". IsRequired: False. Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv" [2023-08-28 20:28:19.360 +00:00] [DBG] [83] Jellyfin.Api.Helpers.MediaInfoHelper: DirectPlay Result for Profile: "AndroidTV-libVLC", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", PlayMethod: null, AudioStreamIndex: 1, SubtitleStreamIndex: null, Reasons: VideoProfileNotSupported [2023-08-28 20:28:19.386 +00:00] [DBG] [83] Jellyfin.Api.Helpers.MediaInfoHelper: Transcode Result for Profile: "AndroidTV-libVLC", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", PlayMethod: Transcode, AudioStreamIndex: 1, SubtitleStreamIndex: null, Reasons: VideoProfileNotSupported [2023-08-28 20:28:19.396 +00:00] [INF] [83] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-libVLC", Path="/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=VideoProfileNotSupported ) "media:/videos/fb143608-623f-83fd-5838-eafd7fd2d270/stream.mkv?MediaSourceId=fb143608623f83fd5838eafd7fd2d270&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=119744000&AudioBitrate=256000&MaxFramerate=23.976025&api_key=&CopyTimestamps=true&RequireAvc=false&Tag=44cde6fe13c1ede7defe6c4f7ea875d0&hevc-level=153&hevc-videobitdepth=10&hevc-profile=main10&aac-audiochannels=8&TranscodeReasons=VideoProfileNotSupported" [2023-08-28 20:28:19.574 +00:00] [DBG] [83] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: DeviceProfile { Name: "AndroidTV-ExoPlayer", 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: 20000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "m4v,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,mp4,webm", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw", VideoCodec: "h264,hevc,vp8,vp9,mpeg,mpeg2video", Type: Video }, DirectPlayProfile { Container: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw,mpa,flac,wav,wma,ogg,oga,webma,ape,opus", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "jpg,jpeg,png,gif,webp", AudioCodec: null, VideoCodec: null, Type: Photo }], TranscodingProfiles: [TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "hevc,h264", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dts,mlp,pcm_alaw,pcm_mulaw", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "12", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1200", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "4", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1900", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "Main 10", IsRequired: False }], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }], ResponseProfiles: [], SubtitleProfiles: [SubtitleProfile { Format: "srt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "subrip", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvbsub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvdsub", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "vtt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "sub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "idx", Method: Embed, DidlMode: null, Language: null, Container: null }] } [2023-08-28 20:28:19.579 +00:00] [INF] [83] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "username". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-08-28 20:28:19.579 +00:00] [DBG] [83] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "AndroidTV-ExoPlayer", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False [2023-08-28 20:28:19.579 +00:00] [DBG] [83] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "VideoCodecProfile", DirectPlay=false. Reason="AndroidTV-ExoPlayer".VideoProfile Condition: NotEquals. ConditionValue: "Main 10". IsRequired: False. Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv" [2023-08-28 20:28:19.579 +00:00] [DBG] [83] Jellyfin.Api.Helpers.MediaInfoHelper: DirectPlay Result for Profile: "AndroidTV-ExoPlayer", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", PlayMethod: null, AudioStreamIndex: 1, SubtitleStreamIndex: null, Reasons: VideoProfileNotSupported [2023-08-28 20:28:19.582 +00:00] [DBG] [83] Jellyfin.Api.Helpers.MediaInfoHelper: Transcode Result for Profile: "AndroidTV-ExoPlayer", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", PlayMethod: Transcode, AudioStreamIndex: 1, SubtitleStreamIndex: null, Reasons: VideoProfileNotSupported [2023-08-28 20:28:19.582 +00:00] [INF] [83] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-ExoPlayer", Path="/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=VideoProfileNotSupported ) "media:/videos/fb143608-623f-83fd-5838-eafd7fd2d270/master.m3u8?MediaSourceId=fb143608623f83fd5838eafd7fd2d270&VideoCodec=hevc,h264,hevc&AudioCodec=eac3&AudioStreamIndex=1&VideoBitrate=119744000&AudioBitrate=256000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=&RequireAvc=false&Tag=44cde6fe13c1ede7defe6c4f7ea875d0&SegmentContainer=ts&BreakOnNonKeyFrames=False&hevc-level=153&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-audiochannels=8&TranscodeReasons=VideoProfileNotSupported" [2023-08-28 20:28:20.086 +00:00] [DBG] [82] InfuseSync.EntryPoints.UserSyncManager: InfuseSync received user data for item 'Beef' of type 'Episode' Guid 'fb143608-623f-83fd-5838-eafd7fd2d270' [2023-08-28 20:28:20.087 +00:00] [DBG] [82] InfuseSync.EntryPoints.UserSyncManager: InfuseSync will save user data for item fb143608-623f-83fd-5838-eafd7fd2d270 user df44a92e-e53f-4c71-8e46-fad5d119ab58 [2023-08-28 20:28:20.319 +00:00] [DBG] [89] Emby.Server.Implementations.HttpServer.WebSocketConnection: WS "192.168.0.52" received message: WebSocketMessage`1 { MessageType: KeepAlive, MessageId: 00000000-0000-0000-0000-000000000000, ServerId: null, Data: JsonElement { ValueKind: Object } } [2023-08-28 20:28:20.530 +00:00] [DBG] [72] Jellyfin.Api.Controllers.DynamicHlsController: Starting transcoding because currentTranscodingIndex=null [2023-08-28 20:28:20.552 +00:00] [INF] [72] Jellyfin.Api.Helpers.TranscodingJobHelper: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -fflags +genpts -i file:\"/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb.m3u8\"" [2023-08-28 20:28:20.583 +00:00] [DBG] [89] Jellyfin.Api.Helpers.TranscodingJobHelper: Launched FFmpeg process [2023-08-28 20:28:20.596 +00:00] [DBG] [89] Jellyfin.Api.Helpers.TranscodingJobHelper: Waiting for the creation of "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb0.ts" [2023-08-28 20:28:21.000 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: File "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb0.ts" created or transcoding has finished [2023-08-28 20:28:21.002 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: StartFfMpeg() finished successfully [2023-08-28 20:28:21.004 +00:00] [DBG] [92] Jellyfin.Api.Controllers.DynamicHlsController: returning "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb0.ts" [general case] [2023-08-28 20:28:21.411 +00:00] [DBG] [86] Jellyfin.Api.Controllers.DynamicHlsController: Serving up "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb0.ts" as it deemed ready [2023-08-28 20:28:21.417 +00:00] [WRN] [92] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "http://192.168.0.38:8096/videos/fb143608-623f-83fd-5838-eafd7fd2d270/hls1/main/0.ts?DeviceId=846d9befb97e85ca59cea33cb9938b403b03f743&MediaSourceId=fb143608623f83fd5838eafd7fd2d270&VideoCodec=hevc,h264,hevc&AudioCodec=eac3&AudioStreamIndex=1&VideoBitrate=119744000&AudioBitrate=256000&AudioSampleRate=48000&MaxFramerate=23.976025&PlaySessionId=8e1710e4f9514bd49c6f37d3265fe6ca&api_key=fde6978916224869bd686d0717500879&RequireAvc=false&Tag=44cde6fe13c1ede7defe6c4f7ea875d0&SegmentContainer=ts&BreakOnNonKeyFrames=False&hevc-level=153&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-audiochannels=8&TranscodeReasons=VideoProfileNotSupported&runtimeTicks=0&actualSegmentLengthTicks=80080000" to "192.168.0.52" in 0:00:00.9281803 with Status Code 200 [2023-08-28 20:28:21.499 +00:00] [DBG] [86] Emby.Server.Implementations.Session.SessionWebSocketListener: Watching 1 WebSockets. [2023-08-28 20:28:22.190 +00:00] [DBG] [89] Jellyfin.Api.Controllers.DynamicHlsController: Finished serving "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb0.ts" [2023-08-28 20:28:22.190 +00:00] [DBG] [89] Jellyfin.Api.Helpers.TranscodingJobHelper: OnTranscodeEndRequest job.ActiveRequestCount=0 [2023-08-28 20:28:22.192 +00:00] [DBG] [89] Jellyfin.Api.Models.PlaybackDtos.TranscodingJobDto: Starting kill timer at 60000ms. JobId "ca830057ddd74b7daa112ca53cf860fb" PlaySessionId "8e1710e4f9514bd49c6f37d3265fe6ca" [2023-08-28 20:28:22.435 +00:00] [DBG] [89] Jellyfin.Api.Controllers.PlaystateController: ReportPlaybackStopped PlaySessionId: "8e1710e4f9514bd49c6f37d3265fe6ca" [2023-08-28 20:28:22.439 +00:00] [DBG] [89] Jellyfin.Api.Helpers.TranscodingJobHelper: KillTranscodingJob - JobId "ca830057ddd74b7daa112ca53cf860fb" PlaySessionId "8e1710e4f9514bd49c6f37d3265fe6ca". Killing transcoding [2023-08-28 20:28:22.444 +00:00] [INF] [89] Jellyfin.Api.Helpers.TranscodingJobHelper: Stopping ffmpeg process with q command for "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb.m3u8" [2023-08-28 20:28:22.445 +00:00] [DBG] [95] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: DeviceProfile { Name: "AndroidTV-libVLC", 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: 20000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "m4v,3gp,ts,mpegts,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm,wtv", AudioCodec: "aac,mp3,mp2,ac3,eac3,wma,wmav2,dca,dts,pcm,pcm_s16le,pcm_s24le,opus,flac,truehd", VideoCodec: null, Type: Video }, DirectPlayProfile { Container: "flac,aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "jpg,jpeg,png,gif,webp", AudioCodec: null, VideoCodec: null, Type: Photo }], TranscodingProfiles: [TranscodingProfile { Container: "mkv", Type: Video, VideoCodec: "h264", AudioCodec: "aac,mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: True, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [ContainerProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoCodecTag, Value: "xvid", IsRequired: False }], Container: "avi" }], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "Main 10", IsRequired: False }], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }], ResponseProfiles: [], SubtitleProfiles: [SubtitleProfile { Format: "srt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "srt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "subrip", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvdsub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "vtt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "sub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "smi", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "idx", Method: Embed, DidlMode: null, Language: null, Container: null }] } [2023-08-28 20:28:22.446 +00:00] [INF] [95] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "username". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-08-28 20:28:22.446 +00:00] [DBG] [95] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "AndroidTV-libVLC", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False [2023-08-28 20:28:22.446 +00:00] [DBG] [95] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "VideoCodecProfile", DirectPlay=false. Reason="AndroidTV-libVLC".VideoProfile Condition: NotEquals. ConditionValue: "Main 10". IsRequired: False. Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv" [2023-08-28 20:28:22.446 +00:00] [DBG] [95] Jellyfin.Api.Helpers.MediaInfoHelper: DirectPlay Result for Profile: "AndroidTV-libVLC", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", PlayMethod: null, AudioStreamIndex: 1, SubtitleStreamIndex: null, Reasons: VideoProfileNotSupported [2023-08-28 20:28:22.446 +00:00] [DBG] [95] Jellyfin.Api.Helpers.MediaInfoHelper: Transcode Result for Profile: "AndroidTV-libVLC", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", PlayMethod: Transcode, AudioStreamIndex: 1, SubtitleStreamIndex: null, Reasons: VideoProfileNotSupported [2023-08-28 20:28:22.447 +00:00] [INF] [95] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-libVLC", Path="/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=VideoProfileNotSupported ) "media:/videos/fb143608-623f-83fd-5838-eafd7fd2d270/stream.mkv?MediaSourceId=fb143608623f83fd5838eafd7fd2d270&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=119744000&AudioBitrate=256000&MaxFramerate=23.976025&api_key=&CopyTimestamps=true&RequireAvc=false&Tag=44cde6fe13c1ede7defe6c4f7ea875d0&hevc-level=153&hevc-videobitdepth=10&hevc-profile=main10&aac-audiochannels=8&TranscodeReasons=VideoProfileNotSupported" [2023-08-28 20:28:22.543 +00:00] [DBG] [89] Jellyfin.Api.Helpers.TranscodingJobHelper: Disposing stream resources [2023-08-28 20:28:22.543 +00:00] [INF] [89] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0 [2023-08-28 20:28:22.544 +00:00] [INF] [89] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting partial stream file(s) "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb.m3u8" [2023-08-28 20:28:22.619 +00:00] [DBG] [95] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: DeviceProfile { Name: "AndroidTV-ExoPlayer", 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: 20000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "m4v,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,mp4,webm", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw", VideoCodec: "h264,hevc,vp8,vp9,mpeg,mpeg2video", Type: Video }, DirectPlayProfile { Container: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw,mpa,flac,wav,wma,ogg,oga,webma,ape,opus", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "jpg,jpeg,png,gif,webp", AudioCodec: null, VideoCodec: null, Type: Photo }], TranscodingProfiles: [TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "hevc,h264", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dts,mlp,pcm_alaw,pcm_mulaw", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "12", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1200", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "4", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1900", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "Main 10", IsRequired: False }], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }], ResponseProfiles: [], SubtitleProfiles: [SubtitleProfile { Format: "srt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "subrip", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvbsub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvdsub", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "vtt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "sub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "idx", Method: Embed, DidlMode: null, Language: null, Container: null }] } [2023-08-28 20:28:22.621 +00:00] [INF] [95] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "username". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-08-28 20:28:22.621 +00:00] [DBG] [95] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "AndroidTV-ExoPlayer", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False [2023-08-28 20:28:22.621 +00:00] [DBG] [95] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "VideoCodecProfile", DirectPlay=false. Reason="AndroidTV-ExoPlayer".VideoProfile Condition: NotEquals. ConditionValue: "Main 10". IsRequired: False. Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv" [2023-08-28 20:28:22.621 +00:00] [DBG] [95] Jellyfin.Api.Helpers.MediaInfoHelper: DirectPlay Result for Profile: "AndroidTV-ExoPlayer", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", PlayMethod: null, AudioStreamIndex: 1, SubtitleStreamIndex: null, Reasons: VideoProfileNotSupported [2023-08-28 20:28:22.621 +00:00] [DBG] [95] Jellyfin.Api.Helpers.MediaInfoHelper: Transcode Result for Profile: "AndroidTV-ExoPlayer", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", PlayMethod: Transcode, AudioStreamIndex: 1, SubtitleStreamIndex: null, Reasons: VideoProfileNotSupported [2023-08-28 20:28:22.622 +00:00] [INF] [95] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-ExoPlayer", Path="/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=VideoProfileNotSupported ) "media:/videos/fb143608-623f-83fd-5838-eafd7fd2d270/master.m3u8?MediaSourceId=fb143608623f83fd5838eafd7fd2d270&VideoCodec=hevc,h264,hevc&AudioCodec=eac3&AudioStreamIndex=1&VideoBitrate=119744000&AudioBitrate=256000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=&RequireAvc=false&Tag=44cde6fe13c1ede7defe6c4f7ea875d0&SegmentContainer=ts&BreakOnNonKeyFrames=False&hevc-level=153&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-audiochannels=8&TranscodeReasons=VideoProfileNotSupported" [2023-08-28 20:28:22.754 +00:00] [DBG] [92] InfuseSync.EntryPoints.UserSyncManager: InfuseSync received user data for item 'Beef' of type 'Episode' Guid 'fb143608-623f-83fd-5838-eafd7fd2d270' [2023-08-28 20:28:22.755 +00:00] [DBG] [92] InfuseSync.EntryPoints.UserSyncManager: InfuseSync will save user data for item fb143608-623f-83fd-5838-eafd7fd2d270 user df44a92e-e53f-4c71-8e46-fad5d119ab58 [2023-08-28 20:28:22.991 +00:00] [DBG] [92] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated. [2023-08-28 20:28:22.992 +00:00] [DBG] [92] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated. [2023-08-28 20:28:22.993 +00:00] [DBG] [92] Jellyfin.Api.Controllers.DynamicHlsController: Starting transcoding because currentTranscodingIndex=null [2023-08-28 20:28:22.993 +00:00] [INF] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -fflags +genpts -i file:\"/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af8%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af8.m3u8\"" [2023-08-28 20:28:22.995 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Launched FFmpeg process [2023-08-28 20:28:23.006 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Waiting for the creation of "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af80.ts" [2023-08-28 20:28:23.109 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: File "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af80.ts" created or transcoding has finished [2023-08-28 20:28:23.109 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: StartFfMpeg() finished successfully [2023-08-28 20:28:23.109 +00:00] [DBG] [92] Jellyfin.Api.Controllers.DynamicHlsController: returning "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af80.ts" [general case] [2023-08-28 20:28:23.109 +00:00] [DBG] [92] Jellyfin.Api.Controllers.DynamicHlsController: serving up "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af80.ts" as transcode index 6 is past requested point 0 [2023-08-28 20:28:23.745 +00:00] [DBG] [52] Jellyfin.Api.Controllers.DynamicHlsController: Finished serving "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af80.ts" [2023-08-28 20:28:23.745 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: OnTranscodeEndRequest job.ActiveRequestCount=0 [2023-08-28 20:28:23.745 +00:00] [DBG] [52] Jellyfin.Api.Models.PlaybackDtos.TranscodingJobDto: Starting kill timer at 60000ms. JobId "ec2fbcd291964a40a84a36401f9c33ab" PlaySessionId "4b3d0c88e05d4d5081b1c91d93ced58a" [2023-08-28 20:28:23.933 +00:00] [DBG] [98] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: DeviceProfile { Name: "AndroidTV-libVLC", 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: 20000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "m4v,3gp,ts,mpegts,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm,wtv", AudioCodec: "aac,mp3,mp2,ac3,eac3,wma,wmav2,dca,dts,pcm,pcm_s16le,pcm_s24le,opus,flac,truehd", VideoCodec: null, Type: Video }, DirectPlayProfile { Container: "flac,aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "jpg,jpeg,png,gif,webp", AudioCodec: null, VideoCodec: null, Type: Photo }], TranscodingProfiles: [TranscodingProfile { Container: "mkv", Type: Video, VideoCodec: "h264", AudioCodec: "aac,mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: True, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [ContainerProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoCodecTag, Value: "xvid", IsRequired: False }], Container: "avi" }], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "Main 10", IsRequired: False }], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }], ResponseProfiles: [], SubtitleProfiles: [SubtitleProfile { Format: "srt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "srt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "subrip", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvdsub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "vtt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "sub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "smi", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "idx", Method: Embed, DidlMode: null, Language: null, Container: null }] } [2023-08-28 20:28:23.935 +00:00] [INF] [98] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "username". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-08-28 20:28:23.935 +00:00] [DBG] [98] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "AndroidTV-libVLC", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False [2023-08-28 20:28:23.935 +00:00] [DBG] [98] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "VideoCodecProfile", DirectPlay=false. Reason="AndroidTV-libVLC".VideoProfile Condition: NotEquals. ConditionValue: "Main 10". IsRequired: False. Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv" [2023-08-28 20:28:23.935 +00:00] [DBG] [98] Jellyfin.Api.Helpers.MediaInfoHelper: DirectPlay Result for Profile: "AndroidTV-libVLC", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", PlayMethod: null, AudioStreamIndex: 1, SubtitleStreamIndex: null, Reasons: VideoProfileNotSupported [2023-08-28 20:28:23.936 +00:00] [DBG] [98] Jellyfin.Api.Helpers.MediaInfoHelper: Transcode Result for Profile: "AndroidTV-libVLC", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", PlayMethod: Transcode, AudioStreamIndex: 1, SubtitleStreamIndex: null, Reasons: VideoProfileNotSupported [2023-08-28 20:28:23.936 +00:00] [INF] [98] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-libVLC", Path="/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=VideoProfileNotSupported ) "media:/videos/fb143608-623f-83fd-5838-eafd7fd2d270/stream.mkv?MediaSourceId=fb143608623f83fd5838eafd7fd2d270&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=119744000&AudioBitrate=256000&MaxFramerate=23.976025&api_key=&CopyTimestamps=true&RequireAvc=false&Tag=44cde6fe13c1ede7defe6c4f7ea875d0&hevc-level=153&hevc-videobitdepth=10&hevc-profile=main10&aac-audiochannels=8&TranscodeReasons=VideoProfileNotSupported" [2023-08-28 20:28:23.943 +00:00] [DBG] [52] Jellyfin.Api.Controllers.PlaystateController: ReportPlaybackStopped PlaySessionId: "4b3d0c88e05d4d5081b1c91d93ced58a" [2023-08-28 20:28:23.944 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: KillTranscodingJob - JobId "ec2fbcd291964a40a84a36401f9c33ab" PlaySessionId "4b3d0c88e05d4d5081b1c91d93ced58a". Killing transcoding [2023-08-28 20:28:23.944 +00:00] [INF] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Stopping ffmpeg process with q command for "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af8.m3u8" [2023-08-28 20:28:23.976 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Disposing stream resources [2023-08-28 20:28:23.976 +00:00] [INF] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0 [2023-08-28 20:28:23.976 +00:00] [INF] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting partial stream file(s) "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af8.m3u8" [2023-08-28 20:28:24.010 +00:00] [DBG] [66] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: DeviceProfile { Name: "AndroidTV-ExoPlayer", 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: 20000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "m4v,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,mp4,webm", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw", VideoCodec: "h264,hevc,vp8,vp9,mpeg,mpeg2video", Type: Video }, DirectPlayProfile { Container: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw,mpa,flac,wav,wma,ogg,oga,webma,ape,opus", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "jpg,jpeg,png,gif,webp", AudioCodec: null, VideoCodec: null, Type: Photo }], TranscodingProfiles: [TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "hevc,h264", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dts,mlp,pcm_alaw,pcm_mulaw", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "12", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1200", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "4", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1900", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "Main 10", IsRequired: False }], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }], ResponseProfiles: [], SubtitleProfiles: [SubtitleProfile { Format: "srt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "subrip", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvbsub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvdsub", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "vtt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "sub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "idx", Method: Embed, DidlMode: null, Language: null, Container: null }] } [2023-08-28 20:28:24.013 +00:00] [INF] [66] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "username". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-08-28 20:28:24.013 +00:00] [DBG] [66] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "AndroidTV-ExoPlayer", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False [2023-08-28 20:28:24.013 +00:00] [DBG] [66] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "VideoCodecProfile", DirectPlay=false. Reason="AndroidTV-ExoPlayer".VideoProfile Condition: NotEquals. ConditionValue: "Main 10". IsRequired: False. Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv" [2023-08-28 20:28:24.014 +00:00] [DBG] [66] Jellyfin.Api.Helpers.MediaInfoHelper: DirectPlay Result for Profile: "AndroidTV-ExoPlayer", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", PlayMethod: null, AudioStreamIndex: 1, SubtitleStreamIndex: null, Reasons: VideoProfileNotSupported [2023-08-28 20:28:24.014 +00:00] [DBG] [66] Jellyfin.Api.Helpers.MediaInfoHelper: Transcode Result for Profile: "AndroidTV-ExoPlayer", Path: "/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", PlayMethod: Transcode, AudioStreamIndex: 1, SubtitleStreamIndex: null, Reasons: VideoProfileNotSupported [2023-08-28 20:28:24.014 +00:00] [INF] [66] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="AndroidTV-ExoPlayer", Path="/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=VideoProfileNotSupported ) "media:/videos/fb143608-623f-83fd-5838-eafd7fd2d270/master.m3u8?MediaSourceId=fb143608623f83fd5838eafd7fd2d270&VideoCodec=hevc,h264,hevc&AudioCodec=eac3&AudioStreamIndex=1&VideoBitrate=119744000&AudioBitrate=256000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=&RequireAvc=false&Tag=44cde6fe13c1ede7defe6c4f7ea875d0&SegmentContainer=ts&BreakOnNonKeyFrames=False&hevc-level=153&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-audiochannels=8&TranscodeReasons=VideoProfileNotSupported" [2023-08-28 20:28:24.045 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb12.ts" [2023-08-28 20:28:24.049 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb1.ts" [2023-08-28 20:28:24.050 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb5.ts" [2023-08-28 20:28:24.052 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb2.ts" [2023-08-28 20:28:24.053 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb3.ts" [2023-08-28 20:28:24.054 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb0.ts" [2023-08-28 20:28:24.055 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb10.ts" [2023-08-28 20:28:24.058 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb6.ts" [2023-08-28 20:28:24.061 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb14.ts" [2023-08-28 20:28:24.063 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb13.ts" [2023-08-28 20:28:24.065 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb8.ts" [2023-08-28 20:28:24.068 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb9.ts" [2023-08-28 20:28:24.070 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb4.ts" [2023-08-28 20:28:24.073 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb7.ts" [2023-08-28 20:28:24.075 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb.m3u8" [2023-08-28 20:28:24.075 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/8db9760b7745639e2b784cdebf5125cb11.ts" [2023-08-28 20:28:24.077 +00:00] [DBG] [96] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated. [2023-08-28 20:28:24.077 +00:00] [DBG] [96] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was successfully authenticated. [2023-08-28 20:28:24.082 +00:00] [INF] [52] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Android TV" "0.15.12" playing "Beef". Stopped at "0" ms ``` ``` [2023-08-28 20:28:24.396 +00:00] [DBG] [52] Jellyfin.Api.Controllers.DynamicHlsController: Starting transcoding because currentTranscodingIndex=null [2023-08-28 20:28:24.396 +00:00] [INF] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -fflags +genpts -i file:\"/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c0061%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c0061.m3u8\"" [2023-08-28 20:28:24.399 +00:00] [DBG] [66] Jellyfin.Api.Helpers.TranscodingJobHelper: Launched FFmpeg process [2023-08-28 20:28:24.412 +00:00] [DBG] [66] Jellyfin.Api.Helpers.TranscodingJobHelper: Waiting for the creation of "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00610.ts" [2023-08-28 20:28:24.513 +00:00] [DBG] [99] Jellyfin.Api.Helpers.TranscodingJobHelper: File "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00610.ts" created or transcoding has finished [2023-08-28 20:28:24.513 +00:00] [DBG] [99] Jellyfin.Api.Helpers.TranscodingJobHelper: StartFfMpeg() finished successfully [2023-08-28 20:28:24.513 +00:00] [DBG] [99] Jellyfin.Api.Controllers.DynamicHlsController: returning "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00610.ts" [general case] [2023-08-28 20:28:24.513 +00:00] [DBG] [99] Jellyfin.Api.Controllers.DynamicHlsController: serving up "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00610.ts" as transcode index 6 is past requested point 0 [2023-08-28 20:28:25.053 +00:00] [DBG] [92] Jellyfin.Api.Controllers.DynamicHlsController: Finished serving "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00610.ts" [2023-08-28 20:28:25.053 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: OnTranscodeEndRequest job.ActiveRequestCount=0 [2023-08-28 20:28:25.053 +00:00] [DBG] [92] Jellyfin.Api.Models.PlaybackDtos.TranscodingJobDto: Starting kill timer at 60000ms. JobId "01089caf41324e71a0e06182c0c7959b" PlaySessionId "db2c1cc9bbb2478c95877ee8b3f7fe93" [2023-08-28 20:28:25.476 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af89.ts" [2023-08-28 20:28:25.478 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af814.ts" [2023-08-28 20:28:25.483 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af816.ts" [2023-08-28 20:28:25.488 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af818.ts" [2023-08-28 20:28:25.493 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af821.ts" [2023-08-28 20:28:25.495 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af86.ts" [2023-08-28 20:28:25.500 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af83.ts" [2023-08-28 20:28:25.503 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af87.ts" [2023-08-28 20:28:25.505 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af80.ts" [2023-08-28 20:28:25.505 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af819.ts" [2023-08-28 20:28:25.507 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af820.ts" [2023-08-28 20:28:25.511 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af817.ts" [2023-08-28 20:28:25.512 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af81.ts" [2023-08-28 20:28:25.513 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af8.m3u8" [2023-08-28 20:28:25.513 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af82.ts" [2023-08-28 20:28:25.514 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af812.ts" [2023-08-28 20:28:25.517 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af815.ts" [2023-08-28 20:28:25.518 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af84.ts" [2023-08-28 20:28:25.521 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af88.ts" [2023-08-28 20:28:25.523 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af822.ts" [2023-08-28 20:28:25.525 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af85.ts" [2023-08-28 20:28:25.526 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af813.ts" [2023-08-28 20:28:25.527 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af810.ts" [2023-08-28 20:28:25.530 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/eec78aad1de2b18e86c3ec9834720af811.ts" [2023-08-28 20:28:25.533 +00:00] [INF] [52] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Android TV" "0.15.12" playing "Beef". Stopped at "0" ms [2023-08-28 20:28:25.544 +00:00] [DBG] [52] InfuseSync.EntryPoints.UserSyncManager: InfuseSync received user data for item 'Beef' of type 'Episode' Guid 'fb143608-623f-83fd-5838-eafd7fd2d270' [2023-08-28 20:28:25.544 +00:00] [DBG] [52] InfuseSync.EntryPoints.UserSyncManager: InfuseSync will save user data for item fb143608-623f-83fd-5838-eafd7fd2d270 user df44a92e-e53f-4c71-8e46-fad5d119ab58 [2023-08-28 20:28:25.547 +00:00] [WRN] [52] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "http://192.168.0.38:8096/Sessions/Playing/Stopped" to "192.168.0.52" in 0:00:01.6093239 with Status Code 204 [2023-08-28 20:28:25.691 +00:00] [DBG] [52] Jellyfin.Api.Controllers.PlaystateController: ReportPlaybackStopped PlaySessionId: "db2c1cc9bbb2478c95877ee8b3f7fe93" [2023-08-28 20:28:25.692 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: KillTranscodingJob - JobId "01089caf41324e71a0e06182c0c7959b" PlaySessionId "db2c1cc9bbb2478c95877ee8b3f7fe93". Killing transcoding [2023-08-28 20:28:25.693 +00:00] [INF] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Stopping ffmpeg process with q command for "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c0061.m3u8" [2023-08-28 20:28:25.788 +00:00] [DBG] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Disposing stream resources [2023-08-28 20:28:25.788 +00:00] [INF] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0 [2023-08-28 20:28:25.788 +00:00] [INF] [52] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting partial stream file(s) "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c0061.m3u8" [2023-08-28 20:28:27.290 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006110.ts" [2023-08-28 20:28:27.296 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c0061.m3u8" [2023-08-28 20:28:27.296 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006117.ts" [2023-08-28 20:28:27.298 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006111.ts" [2023-08-28 20:28:27.299 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00619.ts" [2023-08-28 20:28:27.300 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00610.ts" [2023-08-28 20:28:27.301 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006112.ts" [2023-08-28 20:28:27.304 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006129.ts" [2023-08-28 20:28:27.305 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006133.ts" [2023-08-28 20:28:27.306 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006121.ts" [2023-08-28 20:28:27.308 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006114.ts" [2023-08-28 20:28:27.310 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006132.ts" [2023-08-28 20:28:27.312 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006123.ts" [2023-08-28 20:28:27.313 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006136.ts" [2023-08-28 20:28:27.314 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006119.ts" [2023-08-28 20:28:27.315 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006118.ts" [2023-08-28 20:28:27.317 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006122.ts" [2023-08-28 20:28:27.320 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006125.ts" [2023-08-28 20:28:27.321 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006115.ts" [2023-08-28 20:28:27.323 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00611.ts" [2023-08-28 20:28:27.323 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006135.ts" [2023-08-28 20:28:27.324 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006120.ts" [2023-08-28 20:28:27.327 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006113.ts" [2023-08-28 20:28:27.328 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00614.ts" [2023-08-28 20:28:27.331 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00612.ts" [2023-08-28 20:28:27.332 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00616.ts" [2023-08-28 20:28:27.334 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006126.ts" [2023-08-28 20:28:27.336 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00613.ts" [2023-08-28 20:28:27.338 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00617.ts" [2023-08-28 20:28:27.339 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006116.ts" [2023-08-28 20:28:27.342 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006131.ts" [2023-08-28 20:28:27.343 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006134.ts" [2023-08-28 20:28:27.346 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006124.ts" [2023-08-28 20:28:27.348 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006128.ts" [2023-08-28 20:28:27.351 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00618.ts" [2023-08-28 20:28:27.353 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006127.ts" [2023-08-28 20:28:27.355 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00615.ts" [2023-08-28 20:28:27.356 +00:00] [DBG] [92] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting HLS file "/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006130.ts" [2023-08-28 20:28:27.359 +00:00] [INF] [92] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Android TV" "0.15.12" playing "Beef". Stopped at "0" ms ```
FFMpeg Logs I've got 3 ffmpeg logs that were created together with varying amounts of generally the same content as below. ``` Input #0, matroska,webm, from 'file:/media/tv/The Bear (2022) [tvdbid-403294]/Season 02/The Bear (2022) - S02E01 - Beef [WEBDL-2160p][EAC3 5.1][h265]-FLUX.mkv': Metadata: encoder : libebml v1.4.4 + libmatroska v1.7.1 Duration: 00:29:16.13, start: 0.000000, bitrate: 15564 kb/s Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default) (original) Metadata: BPS : 15307379 DURATION : 00:29:16.005000000 NUMBER_OF_FRAMES: 42102 NUMBER_OF_BYTES : 3359979462 _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 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:29:16.128000000 NUMBER_OF_FRAMES: 54879 NUMBER_OF_BYTES : 56196096 _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:2(eng): Subtitle: subrip Metadata: BPS : 82 DURATION : 00:28:37.700000000 NUMBER_OF_FRAMES: 562 NUMBER_OF_BYTES : 17763 _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:3(eng): Subtitle: subrip (original) (hearing impaired) Metadata: title : SDH BPS : 87 DURATION : 00:28:54.599000000 NUMBER_OF_FRAMES: 587 NUMBER_OF_BYTES : 19055 _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Output #0, hls, to '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c0061.m3u8': Metadata: encoder : Lavf59.27.100 Stream #0:0: Video: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(tv), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 23.98 tbr, 90k tbn (default) (original) Stream #0:1: Audio: eac3, 48000 Hz, 5.1(side), fltp, 256 kb/s (default) (original) Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 1 fps=0.0 q=-1.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00610.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00611.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00612.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00613.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00614.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00615.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00616.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00617.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00618.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c00619.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006110.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006111.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006112.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006113.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006114.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006115.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006116.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006117.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006118.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006119.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006120.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006121.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006122.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006123.ts' for writing frame= 3611 fps=0.0 q=-1.0 size=N/A time=00:00:00.10 bitrate=N/A speed=0.216x [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006124.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006125.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006126.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006127.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006128.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006129.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006130.ts' for writing frame= 4553 fps=4550 q=-1.0 size=N/A time=00:00:39.34 bitrate=N/A speed=39.3x [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006131.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006132.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006133.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006134.ts' for writing [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006135.ts' for writing [q] command received. Exiting. [hls @ 0x56025b921a00] Opening '/config/data/transcodes/7bcbff2b31dad8738e141bfe7e9c006136.ts' for writing frame= 5206 fps=3808 q=-1.0 Lsize=N/A time=00:01:06.63 bitrate=N/A speed=48.7x video:386648kB audio:6786kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown ```

Server System (please complete the following information):

OS: Docker on Ubuntu Server Jellyfin Version: 10.8.10 Hardware settings & device: QSV on i5-7500 (Intel HD Graphics 630) Reverse proxy: Nginx Proxy Manager in Docker

Client System (please complete the following information):

Chromecast with Google TV (HD) (GA03131)

theacodes commented 11 months ago

Can confirm I'm experiencing in the same issue, transcoding is encoding to the file's native frame size instead of the one requested by the Chromecast.

GodTamIt commented 11 months ago

I'm glad I was subscribed to this topic -- otherwise, I would've forgotten about this. Not a maintainer but this seems like a really annoying bug.

The logs from @pinkneonsign are incredibly helpful, specifically this line:

Log line > `[2023-08-28 20:28:19.574 +00:00] [DBG] [83] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: DeviceProfile { Name: "AndroidTV-ExoPlayer", 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: 20000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "m4v,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,mp4,webm", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw", VideoCodec: "h264,hevc,vp8,vp9,mpeg,mpeg2video", Type: Video }, DirectPlayProfile { Container: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dca,dts,mlp,truehd,pcm_alaw,pcm_mulaw,mpa,flac,wav,wma,ogg,oga,webma,ape,opus", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "jpg,jpeg,png,gif,webp", AudioCodec: null, VideoCodec: null, Type: Photo }], TranscodingProfiles: [TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "hevc,h264", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dts,mlp,pcm_alaw,pcm_mulaw", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "12", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1200", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "4", IsRequired: False }], ApplyConditions: [ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1900", IsRequired: False }], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "Main 10", IsRequired: False }], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }], ResponseProfiles: [], SubtitleProfiles: [SubtitleProfile { Format: "srt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "subrip", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgs", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "pgssub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvbsub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "dvdsub", Method: Encode, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "vtt", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "sub", Method: Embed, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "idx", Method: Embed, DidlMode: null, Language: null, Container: null }] }`

More specifically, the parts of interest, prettified here:

TranscodingProfiles and CodecProfiles ``` TranscodingProfiles: [ TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "hevc,h264", AudioCodec: "aac,mp3,mp2,aac_latm,alac,ac3,eac3,dts,mlp,pcm_alaw,pcm_mulaw", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] } ], ContainerProfiles: [], CodecProfiles: [ CodecProfile { Type: Video, Conditions: [ ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False } ], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "12", IsRequired: False } ], ApplyConditions: [ ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1200", } ], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ ProfileCondition { Condition: LessThanEqual, Property: RefFrames, Value: "4", IsRequired: False }], ApplyConditions: [ ProfileCondition { Condition: GreaterThanEqual, Property: Width, Value: "1900", IsRequired: False } ], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ ProfileCondition { Condition: NotEquals, Property: VideoProfile, Value: "Main 10", IsRequired: False } ], ApplyConditions: [], Codec: "hevc", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "8", IsRequired: False } ], ApplyConditions: [], Codec: null, Container: null } ], ```

Notice how there's nothing that constrains the video frame size. This almost certainly looks like a bug in this file in the jellyfin/jellyfin-chromecast repo, which I'll have to take a look at later.

Only problem is, I don't have a Chromecast to test this on...

srcrist commented 11 months ago

In light of this being opened on the Chromecast repo (https://github.com/jellyfin/jellyfin-androidtv/issues/3191), which is, I believe, the correct location for it, I am closing this issue on the server repo. Please see the issue in the Chromecast repo for further development and discussion.

thornbill commented 9 months ago

As mentioned in the other issue, the Chromecast with Google TV devices natively support 4K video. In the case of the HD device, the device should handle downscaling.

Ref: https://developers.google.com/cast/docs/media#chromecast_with_google_tv

GodTamIt commented 9 months ago

@thornbill you may want to re-open this issue since the other one has been closed.

bertmelis commented 9 months ago

Somehow this issue has ended up in the androidtv repo but it has nothing to do with androidtv.

The issue is still present.

RealZack commented 9 months ago

Do not understand why it should be closed neither

thornbill commented 9 months ago

I moved the issue because every comment I could see with an actual device name was referring to the app on the Chromecast with Google TV which is the Android TV app. I did not reopen it because those devices natively support video resolutions of 4K... see my comment above for the Chromecast documentation reference.

RealZack commented 9 months ago

We are a lot facing this issue with normal chromecast (1, 2 and third generation) which are not 4k native but FullHd only. And I do not see in the documentation reference that the video should be downscaled by the device in this case (and it's not actually ...)

thornbill commented 9 months ago

Ok I’ve now transferred this issue to the Chromecast repository and the other that had logs explicitly indicating it was a Chromecast with Google TV to the Android TV app repository.

Please remember to include exact device models when opening an issue. Google has made this rather difficult to track with the horribly confusing naming of the Chromecast with Google TV devices.

bertmelis commented 9 months ago
The log from my instance: ``` [2023-11-27 18:06:24.919 +00:00] [DBG] [23] Jellyfin.Api.Controllers.MediaInfoController: 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: null, MaxAlbumArtHeight: null, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 11000000, MaxStaticBitrate: 11000000, MusicStreamingTranscodingBitrate: 192000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp4,m4v", AudioCodec: "aac,mp3,opus,flac,vorbis", VideoCodec: "h264,vp8", Type: Video }, DirectPlayProfile { Container: "mkv", AudioCodec: "aac,mp3,opus,flac,vorbis", VideoCodec: "h264,vp8", Type: Video }, DirectPlayProfile { Container: "mov", AudioCodec: "aac,mp3,opus,flac,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", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: null, 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: "webm", AudioCodec: "vorbis,opus", VideoCodec: "VP8", Type: Video }, DirectPlayProfile { Container: "flac", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "ts", Type: Audio, VideoCodec: "", AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 1, SegmentLength: 0, BreakOnNonKeyFrames: True, Conditions: [] }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: "", AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "opus", Type: Audio, VideoCodec: "", AudioCodec: "opus", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: "", AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "opus", Type: Audio, VideoCodec: "", AudioCodec: "opus", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: "", AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: "", AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: "", AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mkv", Type: Video, VideoCodec: "h264,vp8", AudioCodec: "aac,mp3,opus,flac,vorbis", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: True, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mkv", Type: Video, VideoCodec: "h264,vp8", AudioCodec: "aac,mp3,opus,flac,vorbis", Protocol: "", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: True, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "h264", AudioCodec: "mp3,aac,opus", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 1, SegmentLength: 0, BreakOnNonKeyFrames: True, Conditions: [] }, TranscodingProfile { Container: "webm", Type: Video, VideoCodec: "vpx", AudioCodec: "vorbis", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }, TranscodingProfile { Container: "mp4", Type: Video, VideoCodec: "h264", AudioCodec: "aac,mp3,opus,flac,vorbis", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: Equals, Property: IsSecondaryAudio, Value: "false", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: AudioChannels, Value: "2", IsRequired: True }], ApplyConditions: [], Codec: "aac", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: Equals, Property: IsSecondaryAudio, Value: "false", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: IsAnamorphic, Value: "true", IsRequired: False }, ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: True }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "42", IsRequired: True }, ProfileCondition { Condition: LessThanEqual, Property: VideoBitrate, Value: "30000000", IsRequired: True }], ApplyConditions: [], Codec: "h264", Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: VideoBitrate, Value: "30000000", IsRequired: True }], ApplyConditions: [], Codec: null, Container: null }, CodecProfile { Type: Audio, Conditions: [ProfileCondition { Condition: LessThanEqual, Property: AudioSampleRate, Value: "96000", IsRequired: True }], ApplyConditions: [], Codec: "flac", Container: null }], ResponseProfiles: [ResponseProfile { Container: "m4v", AudioCodec: null, VideoCodec: null, Type: Video, OrgPn: null, MimeType: "video/mp4", Conditions: [] }], SubtitleProfiles: [SubtitleProfile { Format: "js", Method: External, DidlMode: null, Language: null, Container: null }] } ```

As you can see, DeviceProfile isn't set at all: Name: null.... 3th gen chromecast (HD)

Seems related with this issue: https://github.com/jellyfin/jellyfin-chromecast/issues/120

keypunch commented 4 weeks ago

Adding my 2 cents here - having this issue with a Chromecast HD. (plugged in to a dumb TV) Android TV OS 12 Patch level Apr 1, 2024 Kernel version: 5.4.259-android12-9-g95db6f1dfeac Android TV OS build : STTE.240315.002

FFMPEG log:

``` { "Protocol": 0, "Id": "9b2f44ffe92c55b6ccb6856ac1b0053c", "Path": "******-2160p.mkv", "EncoderPath": null, "EncoderProtocol": null, "Type": 0, "Container": "mkv", "Size": 7530207473, "Name": "******", "IsRemote": false, "ETag": "7239b7d24b95eb1bb23394434a6953e3", "RunTimeTicks": 94300270000, "ReadAtNativeFramerate": false, "IgnoreDts": false, "IgnoreIndex": false, "GenPtsInput": false, "SupportsTranscoding": true, "SupportsDirectStream": true, "SupportsDirectPlay": true, "IsInfiniteStream": false, "RequiresOpening": false, "OpenToken": null, "RequiresClosing": false, "LiveStreamId": null, "BufferMs": null, "RequiresLooping": false, "SupportsProbing": true, "VideoType": 0, "IsoType": null, "Video3DFormat": null, "MediaStreams": [ { "Codec": "hevc", "CodecTag": null, "Language": null, "ColorRange": null, "ColorSpace": "bt709", "ColorTransfer": "bt709", "ColorPrimaries": "bt709", "DvVersionMajor": null, "DvVersionMinor": null, "DvProfile": null, "DvLevel": null, "RpuPresentFlag": null, "ElPresentFlag": null, "BlPresentFlag": null, "DvBlSignalCompatibilityId": null, "Comment": null, "TimeBase": "1/1000", "CodecTimeBase": null, "Title": "", "VideoRange": 1, "VideoRangeType": 1, "VideoDoViTitle": null, "AudioSpatialFormat": 0, "LocalizedUndefined": null, "LocalizedDefault": null, "LocalizedForced": null, "LocalizedExternal": null, "LocalizedHearingImpaired": null, "DisplayTitle": "4K HEVC SDR", "NalLengthSize": null, "IsInterlaced": false, "IsAVC": false, "ChannelLayout": null, "BitRate": 6388280, "BitDepth": 10, "RefFrames": 1, "PacketLength": null, "Channels": null, "SampleRate": null, "IsDefault": true, "IsForced": false, "IsHearingImpaired": false, "Height": 1600, "Width": 3832, "AverageFrameRate": 23.976025, "RealFrameRate": 23.976025, "Profile": "Main 10", "Type": 1, "AspectRatio": "2.40:1", "Index": 0, "Score": null, "IsExternal": false, "DeliveryMethod": null, "DeliveryUrl": null, "IsExternalUrl": null, "IsTextSubtitleStream": false, "SupportsExternalStream": false, "Path": null, "PixelFormat": "yuv420p10le", "Level": 150, "IsAnamorphic": false }, { "Codec": "aac", "CodecTag": null, "Language": null, "ColorRange": null, "ColorSpace": null, "ColorTransfer": null, "ColorPrimaries": null, "DvVersionMajor": null, "DvVersionMinor": null, "DvProfile": null, "DvLevel": null, "RpuPresentFlag": null, "ElPresentFlag": null, "BlPresentFlag": null, "DvBlSignalCompatibilityId": null, "Comment": null, "TimeBase": "1/1000", "CodecTimeBase": null, "Title": "", "VideoRange": 0, "VideoRangeType": 0, "VideoDoViTitle": null, "AudioSpatialFormat": 0, "LocalizedUndefined": null, "LocalizedDefault": "Default", "LocalizedForced": null, "LocalizedExternal": "External", "LocalizedHearingImpaired": null, "DisplayTitle": "AAC - 5.1 - Default", "NalLengthSize": null, "IsInterlaced": false, "IsAVC": false, "ChannelLayout": "5.1", "BitRate": 320000, "BitDepth": null, "RefFrames": null, "PacketLength": null, "Channels": 6, "SampleRate": 48000, "IsDefault": true, "IsForced": false, "IsHearingImpaired": false, "Height": null, "Width": null, "AverageFrameRate": null, "RealFrameRate": null, "Profile": "LC", "Type": 0, "AspectRatio": null, "Index": 1, "Score": null, "IsExternal": false, "DeliveryMethod": null, "DeliveryUrl": null, "IsExternalUrl": null, "IsTextSubtitleStream": false, "SupportsExternalStream": false, "Path": null, "PixelFormat": null, "Level": 0, "IsAnamorphic": null }, { "Codec": "subrip", "CodecTag": null, "Language": "eng", "ColorRange": null, "ColorSpace": null, "ColorTransfer": null, "ColorPrimaries": null, "DvVersionMajor": null, "DvVersionMinor": null, "DvProfile": null, "DvLevel": null, "RpuPresentFlag": null, "ElPresentFlag": null, "BlPresentFlag": null, "DvBlSignalCompatibilityId": null, "Comment": null, "TimeBase": "1/1000", "CodecTimeBase": null, "Title": "", "VideoRange": 0, "VideoRangeType": 0, "VideoDoViTitle": null, "AudioSpatialFormat": 0, "LocalizedUndefined": "Undefined", "LocalizedDefault": "Default", "LocalizedForced": "Forced", "LocalizedExternal": "External", "LocalizedHearingImpaired": "Hearing Impaired", "DisplayTitle": "English - Default - SUBRIP", "NalLengthSize": null, "IsInterlaced": false, "IsAVC": false, "ChannelLayout": null, "BitRate": null, "BitDepth": null, "RefFrames": null, "PacketLength": null, "Channels": null, "SampleRate": null, "IsDefault": true, "IsForced": false, "IsHearingImpaired": false, "Height": 0, "Width": 0, "AverageFrameRate": null, "RealFrameRate": null, "Profile": null, "Type": 2, "AspectRatio": null, "Index": 2, "Score": null, "IsExternal": false, "DeliveryMethod": null, "DeliveryUrl": null, "IsExternalUrl": null, "IsTextSubtitleStream": true, "SupportsExternalStream": true, "Path": null, "PixelFormat": null, "Level": 0, "IsAnamorphic": null }, { "Codec": "subrip", "CodecTag": null, "Language": "fre", "ColorRange": null, "ColorSpace": null, "ColorTransfer": null, "ColorPrimaries": null, "DvVersionMajor": null, "DvVersionMinor": null, "DvProfile": null, "DvLevel": null, "RpuPresentFlag": null, "ElPresentFlag": null, "BlPresentFlag": null, "DvBlSignalCompatibilityId": null, "Comment": null, "TimeBase": "1/1000", "CodecTimeBase": null, "Title": "French", "VideoRange": 0, "VideoRangeType": 0, "VideoDoViTitle": null, "AudioSpatialFormat": 0, "LocalizedUndefined": "Undefined", "LocalizedDefault": "Default", "LocalizedForced": "Forced", "LocalizedExternal": "External", "LocalizedHearingImpaired": "Hearing Impaired", "DisplayTitle": "French - SUBRIP", "NalLengthSize": null, "IsInterlaced": false, "IsAVC": false, "ChannelLayout": null, "BitRate": null, "BitDepth": null, "RefFrames": null, "PacketLength": null, "Channels": null, "SampleRate": null, "IsDefault": false, "IsForced": false, "IsHearingImpaired": false, "Height": 0, "Width": 0, "AverageFrameRate": null, "RealFrameRate": null, "Profile": null, "Type": 2, "AspectRatio": null, "Index": 3, "Score": null, "IsExternal": false, "DeliveryMethod": null, "DeliveryUrl": null, "IsExternalUrl": null, "IsTextSubtitleStream": true, "SupportsExternalStream": true, "Path": null, "PixelFormat": null, "Level": 0, "IsAnamorphic": null } ], "MediaAttachments": [], "Formats": [], "Bitrate": 6708280, "Timestamp": null, "RequiredHttpHeaders": {}, "TranscodingUrl": null, "TranscodingSubProtocol": 0, "TranscodingContainer": null, "AnalyzeDurationMs": null, "DefaultAudioStreamIndex": null, "DefaultSubtitleStreamIndex": null } ```

First this happens:

``` [2024-08-14 18:50:07.340 -06:00] [INF] [25] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "home". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2024-08-14 18:50:08.584 -06:00] [INF] [25] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Android TV" "0.17.3" playing "******". Stopped at "0" ms [2024-08-14 18:50:15.565 -06:00] [INF] [40] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets. [2024-08-14 18:50:16.537 -06:00] [INF] [40] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "home". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2024-08-14 18:50:17.572 -06:00] [INF] [25] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Android TV" "0.17.3" playing "******". Stopped at "0" ms [2024-08-14 18:50:21.733 -06:00] [INF] [41] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "home". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2024-08-14 18:50:22.938 -06:00] [INF] [31] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Android TV" "0.17.3" playing "******". Stopped at "0" ms [2024-08-14 18:50:25.767 -06:00] [INF] [31] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "home". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True ```

then this log section repeats a few times:

``` [2024-08-14 18:50:28.889 -06:00] [INF] [39] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "ffmpeg" "-analyzeduration 200M -probesize 1G -f matroska -noautorotate -i file:\"******-2160p.mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset veryfast -crf 23 -maxrate 5170833 -bufsize 10341666 -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,n_forced*3)\" -sc_threshold:v:0 0 -vf \"setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(3840\,1604*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(3840/a\,1604))/2)*2,format=yuv420p\" -codec:a:0 libfdk_aac -ac 6 -ab 640000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"C:\ProgramData\Jellyfin\Server\cache\transcodes\c9535febcd57444da59fea0376e3efe2%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"C:\ProgramData\Jellyfin\Server\cache\transcodes\c9535febcd57444da59fea0376e3efe2.m3u8\"" [2024-08-14 18:50:29.909 -06:00] [INF] [26] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Android TV" "0.17.3" playing "******". Stopped at "0" ms [2024-08-14 18:50:30.611 -06:00] [INF] [31] MediaBrowser.Controller.MediaEncoding.TranscodingJob: Stopping ffmpeg process with q command for "C:\ProgramData\Jellyfin\Server\cache\transcodes\c9535febcd57444da59fea0376e3efe2.m3u8" [2024-08-14 18:50:30.615 -06:00] [INF] [25] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "home". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2024-08-14 18:50:30.788 -06:00] [INF] [25] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 0 [2024-08-14 18:50:30.788 -06:00] [INF] [31] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) "C:\ProgramData\Jellyfin\Server\cache\transcodes\c9535febcd57444da59fea0376e3efe2.m3u8" ```

Finally ending with:

``` [2024-08-14 18:50:34.480 -06:00] [INF] [35] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Android TV" "0.17.3" playing "******". Stopped at "0" ms [2024-08-14 18:51:39.566 -06:00] [INF] [17] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets. [2024-08-14 18:51:46.529 -06:00] [WRN] [25] Emby.Server.Implementations.HttpServer.WebSocketConnection: WS "10.0.0.99" error receiving data: "The remote party closed the WebSocket connection without completing the close handshake." [2024-08-14 18:51:46.548 -06:00] [INF] [25] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "10.0.0.99" closed [2024-08-14 18:52:02.231 -06:00] [INF] [35] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "home". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True ```

GodTamIt commented 2 weeks ago

Just curious: are people here plugging a non-4K Chromecast into a 4K TV or screen?

GodTamIt commented 2 weeks ago

Actually, https://github.com/jellyfin/jellyfin/pull/12499 might've fixed this issue.

keypunch commented 2 weeks ago

Just curious: are people here plugging a non-4K Chromecast into a 4K TV or screen?

I'll keep an eye out to see if it's changed, but no, definitely a 1080p TV (Samsung un43n5300)

bertmelis commented 2 weeks ago

That would be great!

I see it's included in the latest release so it's straighforward to try it out. I will see if I can test it this evening, on an old HD television with an HD chromecast.

bertmelis commented 2 weeks ago

Actually, jellyfin/jellyfin#12499 might've fixed this issue.

I tested and it now works!