jellyfin-chromecast
jellyfin-chromecast copied to clipboard
Chromecast 2.1.0 (2nd Gen Hardware) never plays on 10.7.1 possibly due to incompatible audio
Describe the bug
Since upgrading to 10.7.1, the stable channel of Chromecast won't instruct the Jellyfin server to transcode surround sound. This causes the Chromecast to hang on a blank screen. The Unstable channel instructs the Jellyfin server to transcode to aac, which then plays correctly.
To Reproduce
Play a file with surround sound to a Chromecast (2nd Gen, Nest Hub seems to work?).
Example ffprobe for file:
Metadata:
CREATION_TIME : 2016-03-09T13:35:28Z
ENCODER : Lavf56.1.0
Duration: 00:48:39.94, start: 0.000000, bitrate: 3660 kb/s
Chapter #0:0: start 0.000000, end 47.923000
Metadata:
title : 00:00:00.000
Chapter #0:1: start 48.006000, end 1193.234000
Metadata:
title : 00:00:38.497
Chapter #0:2: start 1193.317000, end 2187.268000
Metadata:
title : 00:19:53.192
Chapter #0:3: start 2187.351000, end 2872.912000
Metadata:
title : 00:36:20.595
Chapter #0:4: start 2872.995000, end 2919.750000
Metadata:
title : 00:47:52.870
Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)
Stream #0:1(eng): Audio: aac (HE-AAC), 48000 Hz, 5.1, fltp (default)
Metadata:
title : Surround
Stream #0:2(eng): Subtitle: ass
Expected behavior
Transcode incompatible audio, as the Unstable channel does.
Logs
Stable Logs (produces issue)
[13:52:56] [INF] [242] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: {"Name": null, "Id": null, "Identification": null, "FriendlyName": null, "Manufacturer": null, "ManufacturerUrl": null, "ModelName": null, "ModelDescription": null, "ModelNumber": null, "ModelUrl": null, "SerialNumber": null, "EnableAlbumArtInDidl": false, "EnableSingleAlbumArtLimit": false, "EnableSingleSubtitleLimit": false, "SupportedMediaTypes": "Audio,Photo,Video", "UserId": null, "AlbumArtPn": null, "MaxAlbumArtWidth": 0, "MaxAlbumArtHeight": 0, "MaxIconWidth": null, "MaxIconHeight": null, "MaxStreamingBitrate": 11000000, "MaxStaticBitrate": 11000000, "MusicStreamingTranscodingBitrate": 192000, "MaxStaticMusicBitrate": null, "SonyAggregationFlags": null, "ProtocolInfo": null, "TimelineOffsetSeconds": 0, "RequiresPlainVideoItems": false, "RequiresPlainFolders": false, "EnableMSMediaReceiverRegistrar": false, "IgnoreTranscodeByteRangeRequests": false, "XmlRootAttributes": [], "DirectPlayProfiles": [{"Container": "mp4,m4v", "AudioCodec": "ac3,aac,mp3,opus,flac,vorbis", "VideoCodec": "h264,vp8", "Type": "Video", "$type": "DirectPlayProfile"}, {"Container": "mkv", "AudioCodec": "ac3,aac,mp3,opus,flac,vorbis", "VideoCodec": "h264,vp8", "Type": "Video", "$type": "DirectPlayProfile"}, {"Container": "mov", "AudioCodec": "ac3,aac,mp3,opus,flac,vorbis", "VideoCodec": "h264", "Type": "Video", "$type": "DirectPlayProfile"}, {"Container": "opus", "AudioCodec": null, "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "mp3", "AudioCodec": "mp3", "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "aac", "AudioCodec": null, "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "m4a", "AudioCodec": "aac", "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "flac", "AudioCodec": null, "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "webma,webm", "AudioCodec": null, "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "wav", "AudioCodec": null, "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "webm", "AudioCodec": "vorbis,opus", "VideoCodec": "VP8", "Type": "Video", "$type": "DirectPlayProfile"}, {"Container": "flac", "AudioCodec": null, "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}], "TranscodingProfiles": [{"Container": "ts", "Type": "Audio", "VideoCodec": null, "AudioCodec": "aac", "Protocol": "hls", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "6", "MinSegments": 1, "SegmentLength": 0, "BreakOnNonKeyFrames": true, "$type": "TranscodingProfile"}, {"Container": "aac", "Type": "Audio", "VideoCodec": null, "AudioCodec": "aac", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "6", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "mp3", "Type": "Audio", "VideoCodec": null, "AudioCodec": "mp3", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "6", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "opus", "Type": "Audio", "VideoCodec": null, "AudioCodec": "opus", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "6", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "wav", "Type": "Audio", "VideoCodec": null, "AudioCodec": "wav", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "6", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "opus", "Type": "Audio", "VideoCodec": null, "AudioCodec": "opus", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Static", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "6", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "mp3", "Type": "Audio", "VideoCodec": null, "AudioCodec": "mp3", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Static", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "6", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "aac", "Type": "Audio", "VideoCodec": null, "AudioCodec": "aac", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Static", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "6", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "wav", "Type": "Audio", "VideoCodec": null, "AudioCodec": "wav", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Static", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "6", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "mkv", "Type": "Video", "VideoCodec": "h264,vp8", "AudioCodec": "ac3,aac,mp3,opus,flac,vorbis", "Protocol": null, "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": true, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "6", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "mkv", "Type": "Video", "VideoCodec": "h264,vp8", "AudioCodec": "ac3,aac,mp3,opus,flac,vorbis", "Protocol": null, "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": true, "Context": "Static", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "6", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "ts", "Type": "Video", "VideoCodec": "h264", "AudioCodec": "ac3,aac,mp3,opus", "Protocol": "hls", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "6", "MinSegments": 1, "SegmentLength": 0, "BreakOnNonKeyFrames": true, "$type": "TranscodingProfile"}, {"Container": "webm", "Type": "Video", "VideoCodec": "vpx", "AudioCodec": "vorbis", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "6", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "mp4", "Type": "Video", "VideoCodec": "h264", "AudioCodec": "ac3,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, "$type": "TranscodingProfile"}], "ContainerProfiles": [], "CodecProfiles": [{"Type": "VideoAudio", "Conditions": [{"Condition": "Equals", "Property": "IsSecondaryAudio", "Value": "false", "IsRequired": false, "$type": "ProfileCondition"}, {"Condition": "LessThanEqual", "Property": "AudioChannels", "Value": "2", "IsRequired": true, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": "aac", "Container": null, "$type": "CodecProfile"}, {"Type": "VideoAudio", "Conditions": [{"Condition": "Equals", "Property": "IsSecondaryAudio", "Value": "false", "IsRequired": false, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": null, "Container": null, "$type": "CodecProfile"}, {"Type": "Video", "Conditions": [{"Condition": "NotEquals", "Property": "IsAnamorphic", "Value": "true", "IsRequired": false, "$type": "ProfileCondition"}, {"Condition": "EqualsAny", "Property": "VideoProfile", "Value": "high|main|baseline|constrained baseline", "IsRequired": true, "$type": "ProfileCondition"}, {"Condition": "LessThanEqual", "Property": "VideoLevel", "Value": "42", "IsRequired": true, "$type": "ProfileCondition"}, {"Condition": "LessThanEqual", "Property": "VideoBitrate", "Value": "30000000", "IsRequired": true, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": "h264", "Container": null, "$type": "CodecProfile"}, {"Type": "Video", "Conditions": [{"Condition": "LessThanEqual", "Property": "VideoBitrate", "Value": "30000000", "IsRequired": true, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": null, "Container": null, "$type": "CodecProfile"}, {"Type": "Audio", "Conditions": [{"Condition": "LessThanEqual", "Property": "AudioSampleRate", "Value": "96000", "IsRequired": true, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": "flac", "Container": null, "$type": "CodecProfile"}], "ResponseProfiles": [{"Container": "m4v", "AudioCodec": null, "VideoCodec": null, "Type": "Video", "OrgPn": null, "MimeType": "video/mp4", "Conditions": [], "$type": "ResponseProfile"}], "SubtitleProfiles": [{"Format": "js", "Method": "External", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}], "$type": "DeviceProfile"}
[13:52:56] [INF] [242] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for example. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[13:52:56] [INF] [242] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, Path: /media/Video_File_With_Surround_Sound.mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[13:52:56] [INF] [242] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, No video direct play profiles found for /media/Video_File_With_Surround_Sound.mkv with codec hevc
[13:52:56] [INF] [242] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 10000000, RemoteIp: 192.168.42.124, IsInLocalNetwork: True
[13:52:56] [INF] [242] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, Path: /media/Video_File_With_Surround_Sound.mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[13:52:56] [INF] [242] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, No video direct play profiles found for /media/Video_File_With_Surround_Sound.mkv with codec hevc
[13:52:56] [INF] [242] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 10000000, RemoteIp: 192.168.42.124, IsInLocalNetwork: True
[13:52:56] [INF] [242] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, Path: /media/Video_File_With_Surround_Sound.mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[13:52:56] [INF] [242] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, No video direct play profiles found for /media/Video_File_With_Surround_Sound.mkv with codec hevc
[13:52:56] [INF] [221] Jellyfin.Api.Helpers.TranscodingJobHelper: /usr/lib/jellyfin-ffmpeg/ffmpeg -ss 00:11:01.704 -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 -i file:"/media/Video_File_With_Surround_Sound.mkv" -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -mpegts_m2ts_mode 1 -force_key_frames "expr:gte(t,n_forced*5)" -vf "format=nv12|vaapi,hwupload,scale_vaapi=format=nv12" -copyts -avoid_negative_ts disabled -start_at_zero -b:v 6101365 -maxrate 6101365 -bufsize 12202730 -profile:v:0 high -level 41 -vsync -1 -map_metadata -1 -map_chapters -1 -threads 0 -codec:a:0 copy -y "/config/transcodes/23b7cab40235c48d8e318ff99b90d538.mkv"
[13:52:57] [WRN] [222] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from https://jelly.example.com/Sessions/Playing to 192.168.42.124 in 0:00:00.501338 with Status Code 204
[13:52:57] [INF] [104] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Adding playback tracker : chromecast_1616939568834-64d1fe8272fc4061ab19219607c14ef9-a8ef68032e4a8969499f8b11960796c8
[13:52:57] [INF] [104] Jellyfin.Plugin.PlaybackReporting.Data.PlaybackTracker: PlaybackTracker : Adding Start Event : 03/28/2021 13:52:57
[13:52:57] [INF] [104] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Creating StartPlaybackTimer Task
[13:52:57] [INF] [104] Trakt.ServerMediator: Playback Started
[13:52:57] [INF] [242] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Entered
[13:52:57] [INF] [235] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : chromecast_1616939568834-64d1fe8272fc4061ab19219607c14ef9-a8ef68032e4a8969499f8b11960796c8
[13:52:57] [WRN] [235] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from https://jelly.example.com/Sessions/Playing/Progress to 192.168.42.124 in 0:00:00.7087471 with Status Code 204
[13:52:59] [WRN] [235] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from https://jelly.example.com/videos/a8ef6803-2e4a-8969-499f-8b11960796c8/stream.mkv?DeviceId=chromecast_1616939568834&MediaSourceId=a8ef68032e4a8969499f8b11960796c8&Static=false&VideoCodec=h264,vp8&AudioCodec=ac3,aac,mp3,opus,flac,vorbis&AudioStreamIndex=1&VideoBitrate=10680000&AudioBitrate=320000&StartTimeTicks=6617049770&PlaySessionId=3166c33a5d4147f39942865f6bce1b4e&api_key=redacted&SubtitleMethod=Encode&TranscodingMaxAudioChannels=6&CopyTimestamps=true&RequireAvc=false&Tag=a2e2b6ff50ec4b3e04b8655b942cb346&h264-profile=high,main,baseline,constrainedbaseline&h264-level=42&aac-audiochannels=2&TranscodeReasons=VideoCodecNotSupported,AudioCodecNotSupported to 192.168.42.124 in 0:00:02.4997925 with Status Code 200
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: session.RemoteEndPoint : 192.168.42.124
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_playing_id = a8ef68032e4a8969499f8b11960796c8
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id = 64d1fe8272fc4061ab19219607c14ef9
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id_int = 2
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_playing_id = a8ef68032e4a8969499f8b11960796c8
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_user_id = 64d1fe8272fc4061ab19219607c14ef9
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : play_method = Transcode (v:h264 a:direct)
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.ClientName = Chromecast
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.DeviceName = Chromecast
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemName = This is the item name
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemId = a8ef68032e4a8969499f8b11960796c8
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemType = Episode
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : All matches, playback registered
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Playback tracker found, adding playback info : chromecast_1616939568834-64d1fe8272fc4061ab19219607c14ef9-a8ef68032e4a8969499f8b11960796c8
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Saving playback tracking activity in DB
[13:53:17] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Exited
[13:53:19] [INF] [249] Jellyfin.Api.Helpers.TranscodingJobHelper: Transcoding kill timer stopped for JobId e992fc52ec77494981f973a26b9cee29 PlaySessionId 3166c33a5d4147f39942865f6bce1b4e. Killing transcoding
[13:53:19] [INF] [249] Jellyfin.Api.Helpers.TranscodingJobHelper: Stopping ffmpeg process with q command for /config/transcodes/23b7cab40235c48d8e318ff99b90d538.mkv
[13:53:19] [INF] [249] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0
[13:53:19] [INF] [249] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting partial stream file(s) /config/transcodes/23b7cab40235c48d8e318ff99b90d538.mkv
Unstable Logs: (doesn't produce issue)
[13:57:41] [INF] [246] Jellyfin.Api.Controllers.MediaInfoController: GetPostedPlaybackInfo profile: {"Name": null, "Id": null, "Identification": null, "FriendlyName": null, "Manufacturer": null, "ManufacturerUrl": null, "ModelName": null, "ModelDescription": null, "ModelNumber": null, "ModelUrl": null, "SerialNumber": null, "EnableAlbumArtInDidl": false, "EnableSingleAlbumArtLimit": false, "EnableSingleSubtitleLimit": false, "SupportedMediaTypes": "Audio,Photo,Video", "UserId": null, "AlbumArtPn": null, "MaxAlbumArtWidth": 0, "MaxAlbumArtHeight": 0, "MaxIconWidth": null, "MaxIconHeight": null, "MaxStreamingBitrate": 33103448, "MaxStaticBitrate": 33103448, "MusicStreamingTranscodingBitrate": 192000, "MaxStaticMusicBitrate": null, "SonyAggregationFlags": null, "ProtocolInfo": null, "TimelineOffsetSeconds": 0, "RequiresPlainVideoItems": false, "RequiresPlainFolders": false, "EnableMSMediaReceiverRegistrar": false, "IgnoreTranscodeByteRangeRequests": false, "XmlRootAttributes": [], "DirectPlayProfiles": [{"Container": "webm", "AudioCodec": "vorbis,opus", "VideoCodec": "VP8", "Type": "Video", "$type": "DirectPlayProfile"}, {"Container": "mp4,m4v", "AudioCodec": "aac,mp3", "VideoCodec": "h264", "Type": "Video", "$type": "DirectPlayProfile"}, {"Container": "opus", "AudioCodec": null, "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "mp3", "AudioCodec": "mp3", "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "aac", "AudioCodec": null, "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "m4a,m4b", "AudioCodec": "aac", "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "flac", "AudioCodec": null, "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "webma,webm", "AudioCodec": null, "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}, {"Container": "wav", "AudioCodec": null, "VideoCodec": null, "Type": "Audio", "$type": "DirectPlayProfile"}], "TranscodingProfiles": [{"Container": "ts", "Type": "Audio", "VideoCodec": null, "AudioCodec": "aac,mp3", "Protocol": "hls", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "2", "MinSegments": 1, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "opus", "Type": "Audio", "VideoCodec": null, "AudioCodec": "opus", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "2", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "mp3", "Type": "Audio", "VideoCodec": null, "AudioCodec": "mp3", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "2", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "aac", "Type": "Audio", "VideoCodec": null, "AudioCodec": "aac", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "2", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "flac", "Type": "Audio", "VideoCodec": null, "AudioCodec": "flac", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "2", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "webma", "Type": "Audio", "VideoCodec": null, "AudioCodec": "webma", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "2", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "wav", "Type": "Audio", "VideoCodec": null, "AudioCodec": "wav", "Protocol": "http", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "2", "MinSegments": 0, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "TranscodingProfile"}, {"Container": "ts", "Type": "Video", "VideoCodec": "h264", "AudioCodec": "aac,mp3", "Protocol": "hls", "EstimateContentLength": false, "EnableMpegtsM2TsMode": false, "TranscodeSeekInfo": "Auto", "CopyTimestamps": false, "Context": "Streaming", "EnableSubtitlesInManifest": false, "MaxAudioChannels": "2", "MinSegments": 1, "SegmentLength": 0, "BreakOnNonKeyFrames": false, "$type": "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, "$type": "TranscodingProfile"}], "ContainerProfiles": [], "CodecProfiles": [{"Type": "Audio", "Conditions": [{"Condition": "LessThanEqual", "Property": "AudioSampleRate", "Value": "96000", "IsRequired": false, "$type": "ProfileCondition"}, {"Condition": "LessThanEqual", "Property": "AudioBitDepth", "Value": "24", "IsRequired": false, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": "flac", "Container": null, "$type": "CodecProfile"}, {"Type": "VideoAudio", "Conditions": [{"Condition": "Equals", "Property": "IsSecondaryAudio", "Value": "false", "IsRequired": false, "$type": "ProfileCondition"}, {"Condition": "LessThanEqual", "Property": "IsSecondaryAudio", "Value": "2", "IsRequired": false, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": "aac", "Container": null, "$type": "CodecProfile"}, {"Type": "Video", "Conditions": [{"Condition": "NotEquals", "Property": "IsAnamorphic", "Value": "true", "IsRequired": false, "$type": "ProfileCondition"}, {"Condition": "EqualsAny", "Property": "VideoProfile", "Value": "high|main|baseline|constrained baseline", "IsRequired": false, "$type": "ProfileCondition"}, {"Condition": "LessThanEqual", "Property": "VideoLevel", "Value": "41", "IsRequired": false, "$type": "ProfileCondition"}, {"Condition": "LessThanEqual", "Property": "Width", "Value": "1920", "IsRequired": true, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": "h264", "Container": null, "$type": "CodecProfile"}, {"Type": "Video", "Conditions": [{"Condition": "LessThanEqual", "Property": "Width", "Value": "1920", "IsRequired": true, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": null, "Container": null, "$type": "CodecProfile"}, {"Type": "VideoAudio", "Conditions": [{"Condition": "Equals", "Property": "IsSecondaryAudio", "Value": "false", "IsRequired": false, "$type": "ProfileCondition"}], "ApplyConditions": [], "Codec": null, "Container": null, "$type": "CodecProfile"}], "ResponseProfiles": [{"Container": "m4v", "AudioCodec": null, "VideoCodec": null, "Type": "Video", "OrgPn": null, "MimeType": "video/mp4", "Conditions": [], "$type": "ResponseProfile"}], "SubtitleProfiles": [{"Format": "vtt", "Method": "External", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}, {"Format": "vtt", "Method": "Hls", "DidlMode": null, "Language": null, "Container": null, "$type": "SubtitleProfile"}], "$type": "DeviceProfile"}
[13:57:41] [INF] [246] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for example. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[13:57:41] [INF] [246] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, Path: /media/Video_File_With_Surround_Sound.mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[13:57:41] [INF] [246] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, No video direct play profiles found for /media/Video_File_With_Surround_Sound.mkv with codec hevc
[13:57:41] [INF] [246] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 10000000, RemoteIp: 192.168.42.124, IsInLocalNetwork: True
[13:57:41] [INF] [246] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, Path: /media/Video_File_With_Surround_Sound.mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[13:57:41] [INF] [246] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, No video direct play profiles found for /media/Video_File_With_Surround_Sound.mkv with codec hevc
[13:57:41] [INF] [246] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 10000000, RemoteIp: 192.168.42.124, IsInLocalNetwork: True
[13:57:41] [INF] [246] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, Path: /media/Video_File_With_Surround_Sound.mkv, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[13:57:41] [INF] [246] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: Unknown Profile, No video direct play profiles found for /media/Video_File_With_Surround_Sound.mkv with codec hevc
[13:57:41] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Adding playback tracker : 1616939850952-64d1fe8272fc4061ab19219607c14ef9-a8ef68032e4a8969499f8b11960796c8
[13:57:41] [INF] [220] Jellyfin.Plugin.PlaybackReporting.Data.PlaybackTracker: PlaybackTracker : Adding Start Event : 03/28/2021 13:57:41
[13:57:41] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Creating StartPlaybackTimer Task
[13:57:41] [INF] [220] Trakt.ServerMediator: Playback Started
[13:57:41] [INF] [241] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Entered
[13:57:42] [INF] [180] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : 1616939850952-64d1fe8272fc4061ab19219607c14ef9-a8ef68032e4a8969499f8b11960796c8
[13:57:42] [INF] [180] Jellyfin.Api.Helpers.TranscodingJobHelper: /usr/lib/jellyfin-ffmpeg/ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 -i file:"/media/Video_File_With_Surround_Sound.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -b:v 6101365 -maxrate 6101365 -bufsize 12202730 -profile:v:0 high -level 41 -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -vf "format=nv12|vaapi,hwupload,scale_vaapi=format=nv12" -start_at_zero -vsync -1 -codec:a:0 aac -ac 2 -ab 384000 -af "volume=2" -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 "/config/transcodes/4788825d0d82059523c386a2f1b43e27%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/transcodes/4788825d0d82059523c386a2f1b43e27.m3u8"
[13:57:44] [WRN] [241] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from https://jelly.example.com/videos/a8ef6803-2e4a-8969-499f-8b11960796c8/hls1/main/0.ts?DeviceId=1616939850952&MediaSourceId=a8ef68032e4a8969499f8b11960796c8&Static=false&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=32719448&AudioBitrate=384000&MaxWidth=1920&PlaySessionId=e716fad2d8a848f1998535de1a4c6cfe&api_key=redacted&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=a2e2b6ff50ec4b3e04b8655b942cb346&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=False&h264-profile=high,main,baseline,constrainedbaseline&h264-level=41&TranscodeReasons=VideoCodecNotSupported to 192.168.42.124 in 0:00:02.55243 with Status Code 200
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: session.RemoteEndPoint : 192.168.42.124
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_playing_id = a8ef68032e4a8969499f8b11960796c8
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id = 64d1fe8272fc4061ab19219607c14ef9
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id_int = 2
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_playing_id = a8ef68032e4a8969499f8b11960796c8
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_user_id = 64d1fe8272fc4061ab19219607c14ef9
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : play_method = Transcode (v:h264 a:aac)
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.ClientName = Chromecast
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.DeviceName = Google Cast
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemName = This is the item name
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemId = a8ef68032e4a8969499f8b11960796c8
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemType = Episode
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : All matches, playback registered
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Playback tracker found, adding playback info : 1616939850952-64d1fe8272fc4061ab19219607c14ef9-a8ef68032e4a8969499f8b11960796c8
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Saving playback tracking activity in DB
[13:58:01] [INF] [247] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Exited
System (please complete the following information):
- OS: Docker
- Browser: Android
- Jellyfin Version: 10.7.1
- Cast client: Chromecast 2nd Gen
Any updates on this bug?
It's unfortunate when you get a whole show which turn up can't be played due to this fault.
Any workarounds?
I still have this problem, any updates?
How do you use the unstable channel?
Still having the same issue on 2024, Chromecast HD and Jellyfin 10.9.6.
Seems I'm unable to play transcoded 2160p content on the Chromecast until I reduce bitrate to 3mbps
@hardwareadictos your problem seems to be different than this one -- this one's about audio issues. I think yours might be more related to issue #502