2024-08-28, 11:27 PM
(This post was last modified: 2024-08-28, 11:33 PM by TheDreadPirate. Edited 1 time in total.)
Hey all,
I have an original Xbox running XBMC. That is showing up as a DLNA streaming target from the perspective of my Jellyfin clients (website and mobile app)
I am able to select the target as a streamable device and actually get it to play low resolution video. When I give it higher resolution video, which should be transcoded according to its DLNA profile, Jellyfin directs FFMPEG to transcode the audio but remove the video. So I get no video stream but can still hear the playback.
I know someone here is going to say "the original Xbox is too old, we won't support it.." okay, I understand that. But from my perspective, XBMC is a fully compliant DLNA device, and as far as I can tell DLNA is not deprecated by Jellyfin. This workflow seems like it should work and should be supported. And I feel like I'm *almost* there.
I am attaching logs and the DLNA profile that I'm using.
I am using the latest version of Jellyfin (10.9.9) using docker compose, with I believe the latest DLNA plugin (2.0.0.0). The DLNA plugin does not let you select different streaming profiles anymore, and maybe it auto-matches the XML profile? But I will attach the custom one I am using. I have adapted it from the Xbox One.xml profile. Really, the settings in there *should* work, as I'm telling it to use a low resolution. So far I can't find any logs that explain why it is deciding to drop video altogether. I can see it dropping video because when it calls ffmpeg, it uses the -vn flag.
Here are some relevant bits of logs.
jellyfin-logs-and-configuration.zip (Size: 18.89 KB / Downloads: 25)
I have an original Xbox running XBMC. That is showing up as a DLNA streaming target from the perspective of my Jellyfin clients (website and mobile app)
I am able to select the target as a streamable device and actually get it to play low resolution video. When I give it higher resolution video, which should be transcoded according to its DLNA profile, Jellyfin directs FFMPEG to transcode the audio but remove the video. So I get no video stream but can still hear the playback.
I know someone here is going to say "the original Xbox is too old, we won't support it.." okay, I understand that. But from my perspective, XBMC is a fully compliant DLNA device, and as far as I can tell DLNA is not deprecated by Jellyfin. This workflow seems like it should work and should be supported. And I feel like I'm *almost* there.
I am attaching logs and the DLNA profile that I'm using.
I am using the latest version of Jellyfin (10.9.9) using docker compose, with I believe the latest DLNA plugin (2.0.0.0). The DLNA plugin does not let you select different streaming profiles anymore, and maybe it auto-matches the XML profile? But I will attach the custom one I am using. I have adapted it from the Xbox One.xml profile. Really, the settings in there *should* work, as I'm telling it to use a low resolution. So far I can't find any logs that explain why it is deciding to drop video altogether. I can see it dropping video because when it calls ffmpeg, it uses the -vn flag.
Here are some relevant bits of logs.
Code:
[2024-08-28 23:23:44.290 +00:00] [DBG] [8] Jellyfin.Plugin.Dlna.Main.DlnaHost: "XBMC: Media Renderer (192.168.10.113)" - Received PlayRequest: PlayNow
[2024-08-28 23:23:44.291 +00:00] [DBG] [8] Jellyfin.Plugin.Dlna.DlnaManager: Found matching device profile: "XBMC4Xbox"
[2024-08-28 23:23:44.310 +00:00] [DBG] [8] Jellyfin.Plugin.Dlna.Main.DlnaHost: Profile: "XBMC4Xbox", Path: "/bravo/video/movies/Star Wars Episode III - Revenge Of The Sith (2005) [2160p] [4K] [BluRay] [5.1] [YTS.MX]/Star.Wars.Episode.III.-.Revenge.Of.The.Sith.2005.2160p.4K.BluRay.x265.10bit.AAC5.1-[YTS.MX].mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2024-08-28 23:23:44.321 +00:00] [DBG] [8] Jellyfin.Plugin.Dlna.Main.DlnaHost: Profile: "VideoCodecProfile", DirectPlay=false. Reason="XBMC4Xbox".VideoBitDepth Condition: LessThanEqual. ConditionValue: "8". IsRequired: False. Path: "/bravo/video/movies/Star Wars Episode III - Revenge Of The Sith (2005) [2160p] [4K] [BluRay] [5.1] [YTS.MX]/Star.Wars.Episode.III.-.Revenge.Of.The.Sith.2005.2160p.4K.BluRay.x265.10bit.AAC5.1-[YTS.MX].mkv"
[2024-08-28 23:23:44.325 +00:00] [DBG] [8] Jellyfin.Plugin.Dlna.Main.DlnaHost: Profile: "VideoAudioCodecProfile", DirectPlay=false. Reason="XBMC4Xbox".AudioChannels Condition: LessThanEqual. ConditionValue: "2". IsRequired: False. Path: "/bravo/video/movies/Star Wars Episode III - Revenge Of The Sith (2005) [2160p] [4K] [BluRay] [5.1] [YTS.MX]/Star.Wars.Episode.III.-.Revenge.Of.The.Sith.2005.2160p.4K.BluRay.x265.10bit.AAC5.1-[YTS.MX].mkv"
[2024-08-28 23:23:44.350 +00:00] [DBG] [8] Jellyfin.Plugin.Dlna.Main.DlnaHost: DirectPlay Result for Profile: "XBMC4Xbox", Path: "/bravo/video/movies/Star Wars Episode III - Revenge Of The Sith (2005) [2160p] [4K] [BluRay] [5.1] [YTS.MX]/Star.Wars.Episode.III.-.Revenge.Of.The.Sith.2005.2160p.4K.BluRay.x265.10bit.AAC5.1-[YTS.MX].mkv", PlayMethod: null, AudioStreamIndex: 1, SubtitleStreamIndex: 2, Reasons: VideoBitDepthNotSupported, AudioChannelsNotSupported
[2024-08-28 23:23:44.363 +00:00] [DBG] [8] Jellyfin.Plugin.Dlna.Main.DlnaHost: Transcode Result for Profile: "XBMC4Xbox", Path: "/bravo/video/movies/Star Wars Episode III - Revenge Of The Sith (2005) [2160p] [4K] [BluRay] [5.1] [YTS.MX]/Star.Wars.Episode.III.-.Revenge.Of.The.Sith.2005.2160p.4K.BluRay.x265.10bit.AAC5.1-[YTS.MX].mkv", PlayMethod: Transcode, AudioStreamIndex: 1, SubtitleStreamIndex: 2, Reasons: VideoBitDepthNotSupported, AudioChannelsNotSupported
[2024-08-28 23:23:44.371 +00:00] [DBG] [8] Jellyfin.Plugin.Dlna.Main.DlnaHost: StreamBuilder.BuildVideoItem( Profile="XBMC4Xbox", Path="/bravo/video/movies/Star Wars Episode III - Revenge Of The Sith (2005) [2160p] [4K] [BluRay] [5.1] [YTS.MX]/Star.Wars.Episode.III.-.Revenge.Of.The.Sith.2005.2160p.4K.BluRay.x265.10bit.AAC5.1-[YTS.MX].mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=VideoBitDepthNotSupported, AudioChannelsNotSupported ) "media:/videos/9fcff6a5-5d9b-2165-4677-d1419b86c0ae/stream.ts?MediaSourceId=9fcff6a55d9b21654677d1419b86c0ae&VideoCodec=mpeg4&AudioCodec=aac&AudioStreamIndex=1&SubtitleStreamIndex=2&VideoBitrate=7872000&AudioBitrate=320000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&RequireAvc=false&Tag=15a3ee2ccff32e282372b35531f125f8&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-profile=lc&mpeg4-videobitdepth=8&aac-audiochannels=2&TranscodeReasons=VideoBitDepthNotSupported,%20AudioChannelsNotSupported"
[2024-08-28 23:23:44.455 +00:00] [DBG] [8] Jellyfin.Plugin.Dlna.Main.DlnaHost: "XBMC: Media Renderer (192.168.10.113)" - Playlist created
[2024-08-28 23:23:44.458 +00:00] [DBG] [8] Jellyfin.Plugin.Dlna.Main.DlnaHost: "XBMC: Media Renderer (192.168.10.113)" - Playing 1 items
[2024-08-28 23:23:44.469 +00:00] [DBG] [8] Jellyfin.Plugin.Dlna.Main.DlnaHost: "XBMC: Media Renderer (192.168.10.113)" - SetAvTransport Uri: "https://jf.<domain>.sh/dlna/videos/9fcff6a5-5d9b-2165-4677-d1419b86c0ae/stream.ts?DeviceProfileId=a28d28be6544fa91f862212916b5019c&DeviceId=4499e804-1dd4-a50d-057e-fc8e85e97e15&MediaSourceId=9fcff6a55d9b21654677d1419b86c0ae&VideoCodec=mpeg4&AudioCodec=aac&AudioStreamIndex=1&SubtitleStreamIndex=2&VideoBitrate=7872000&AudioBitrate=320000&AudioSampleRate=48000&MaxFramerate=23.976025&SubtitleMethod=Encode&RequireAvc=false&Tag=15a3ee2ccff32e282372b35531f125f8&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&aac-profile=lc&mpeg4-videobitdepth=8&aac-audiochannels=2&TranscodeReasons=VideoBitDepthNotSupported,%20AudioChannelsNotSupported&dlnaheaders=true" DlnaHeaders: "DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=01D00000000000000000000000000000"
[2024-08-28 23:23:45.135 +00:00] [DBG] [10] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: "CustomAuthentication" was not authenticated.
[2024-08-28 23:23:45.258 +00:00] [INF] [10] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -probesize 1G -i file:\"/bravo/video/movies/Star Wars Episode III - Revenge Of The Sith (2005) [2160p] [4K] [BluRay] [5.1] [YTS.MX]/Star.Wars.Episode.III.-.Revenge.Of.The.Sith.2005.2160p.4K.BluRay.x265.10bit.AAC5.1-[YTS.MX].mkv\" -vn -map 0:1 -map -0:s -codec:v:0 copy -map_metadata -1 -map_chapters -1 -threads 0 -codec:a:0 libfdk_aac -ac 2 -ab 320000 -ar 48000 -af \"volume=2\" -y \"/cache/transcodes/ddc76784886877ccecf6df853debaaac.ts\""
[2024-08-28 23:23:45.316 +00:00] [DBG] [15] Rssdp.Infrastructure.SsdpCommunicationsServer: Received data from "192.168.10.113" on 1230 at "0.0.0.0":
jellyfin-logs-and-configuration.zip (Size: 18.89 KB / Downloads: 25)