March 5, 2023, 11:53am
when I try to stream to a UPNP enabled Kodi in the local network, Yatse asks me to select the video-/audio-/subtitle-stream I want to send to Kodi (please check attached screenshot and logs). Jellyfin then transcodes what I have selected.
Streaming the same file from one Kodi to another Kodi works, so I know transcoding is not necessary. Streaming the same file to the local device also works without transcoding.
Not sure what the issue is. Maybe something in Jellyfin needs to be configured.
Why does Yatse ask me to select streams? Any help is appreciated.
March 5, 2023, 12:14pm
No logs and no screenshots here.
And you should not cast to Kodi via UPnP but by selecting Kodi as a media renderer directly.
March 5, 2023, 1:12pm
Sorry, I forgot to upload it.
Selecting Kodi as a media renderer works indeed, thank you for that hint.
I have tried to stream from Jellyfin to Oppo BluRay Player via UPNP, Jellyfin still wants to transcode; which is unnecessary (please check attached log).
March 5, 2023, 1:22pm
UPnP device usually do not support DVDSub subs, you might want to remove the subs else Jellyfin probably merge them in the video.
March 5, 2023, 3:51pm
I have created a DLNA profile in jellyfin. Any Codec/Container is configured for “Direct Playback”. DLNA streaming from Jellyfin webinterface to Oppo works without transcoding anything.
There are DLNA entries in Jellyfin’s log. I can see that the profile I have configured is used and nothing gets transcoded:
[2023-03-05 16:19:34.928 +01:00] [DBG]  Emby.Dlna.Main.DlnaEntryPoint: "OPPO UDP-203" - Received PlayRequest: PlayNow
[2023-03-05 16:19:34.930 +01:00] [DBG]  Emby.Dlna.DlnaManager: Found matching device profile: "Generic Device"
[2023-03-05 16:19:34.948 +01:00] [DBG]  Emby.Dlna.Main.DlnaEntryPoint: Profile: "Generic Device", Path: "/xx/xxx/xxxx/videoGerman.DL.AC3.1080p.BluRay.x264.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2023-03-05 16:19:35.016 +01:00] [DBG]  Emby.Dlna.Main.DlnaEntryPoint: DirectPlay Result for Profile: "Generic Device", Path: "/xx/xxx/xxxx/videoGerman.DL.AC3.1080p.BluRay.x264.mkv", PlayMethod: DirectPlay, AudioStreamIndex: 1, SubtitleStreamIndex: 4, Reasons: 0
[2023-03-05 16:19:35.052 +01:00] [INF]  Emby.Dlna.Main.DlnaEntryPoint: StreamBuilder.BuildVideoItem( Profile="Generic Device", Path="/xx/xxx/xxxx/videoGerman.DL.AC3.1080p.BluRay.x264.mkv", AudioStreamIndex=1, SubtitleStreamIndex=4 ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/093edda9-b2f1-1af2-0b90-4aa932a37c20/stream.mkv?MediaSourceId=093edda9b2f11af20b904aa932a37c20&Static=true&VideoCodec=h264&AudioCodec=eac3&AudioStreamIndex=1&SubtitleStreamIndex=4&api_key=<token>&SubtitleMethod=Embed&Tag=6135961e260734fc7e3a93d03d55964f"
[2023-03-05 16:19:35.123 +01:00] [DBG]  Emby.Dlna.Main.DlnaEntryPoint: "OPPO UDP-203" - Playlist created
[2023-03-05 16:19:35.126 +01:00] [DBG]  Emby.Dlna.Main.DlnaEntryPoint: "OPPO UDP-203" - Playing 1 items
[2023-03-05 16:19:35.134 +01:00] [DBG]  Emby.Dlna.Main.DlnaEntryPoint: "OPPO UDP-203" - SetAvTransport Uri: "http://192.168.0.8:8096/videos/093edda9-b2f1-1af2-0b90-4aa932a37c20/stream.mkv?DeviceProfileId=bc9ee27a6817f8e7f694093a396dcc71&DeviceId=6e46f7c6-1dd2-11b2-ba20-98242bad94bb&MediaSourceId=093edda9b2f11af20b904aa932a37c20&Static=true&VideoCodec=h264&AudioCodec=eac3&AudioStreamIndex=1&SubtitleStreamIndex=4&StartTimeTicks=9780000000&SubtitleMethod=Embed&Tag=6135961e260734fc7e3a93d03d55964f&dlnaheaders=true" DlnaHeaders: "DLNA.ORG_PN=MATROSKA;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=21D00000000000000000000000000000"
[2023-03-05 16:19:35.328 +01:00] [DBG]  Emby.Dlna.Main.DlnaEntryPoint: Dlna Device.GetRenderingProtocolAsync
But using Yatse, Yatse directly asks me to select the audio/subtitle stream. There are no DLNA entries in Jellyfin’s log:
[2023-03-05 16:22:27.682 +01:00] [INF]  Jellyfin.Api.Helpers.TranscodingJobHelper: "/usr/bin/ffmpeg" "-analyzeduration 200M -fflags +genpts -f matroska,webm -canvas_size 1920x808 -i file:\"/xx/xxx/xxxx/videoGerman.DL.AC3.1080p.BluRay.x264.mkv\" -map 0:0 -map 0:1 -codec:v:0 copy -map_metadata -1 -map_chapters -1 -threads 0 -codec:a:0 copy -y \"/data/transcodes/76bf87f240e18e4ab623c9a7a77b0ad3.mkv\""
[2023-03-05 16:22:28.935 +01:00] [WRN]  Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "http://192.168.0.8:8096/Videos/093edda9b2f11af20b904aa932a37c20/stream.mkv?f=1&dlnaheaders=true&MediaSourceId=093edda9b2f11af20b904aa932a37c20&AudioStreamIndex=1&SubtitleStreamIndex=4&api_key=fd3c976cf2984af490fd6925e8a2d10b" to "192.168.0.21" in 0:00:01.3366666 with Status Code 200
It looks like Yatse directly tells Jellyfin to transcode the file and then Jellyfin sends the transcoded file to Oppo, but not via DLNA (no DLNA entries in Jellyfin’s log).
March 5, 2023, 4:25pm
Yatse send it’s own profile and do not use Jellyfin DLNA server yes. This allows to cast to upnp device outside of your home, something that is not natively possible.
With that said if you look at the logs:
The url sent to your device is :
Yatse does not ask to transcode just select the values you enter, Jellyfin should just update the container while serving the file so not real transcoding, and taking nearly 0 CPU.
UPnP does not support subtitles track selection, so if you select a subtitle this step is necessary to ensure the player can play it.
March 5, 2023, 5:39pm
That’s bad for Jellyfin. I stick with Yatse and Kodi as the server. That allows me to stream the file directly (without on-the-fly remux or transcode) from Kodi to Oppo/JRiver/Kodi (UPnP Renderer) while the audio/subtitle stream can be still selected on the UPnP Renderer itself (simple button press on the remote control). This is hopefully someday also possible with Jellyfin server (not a feature request).
Yatse is awesome. Thanks for your support.
March 5, 2023, 5:46pm
Well it’s not necessarily a Jellyfin being bad thing here, it’s a little more nuanced, as I try to handle the most cases, they probably do the same and so burn the non standard subs.
I will add a skip button in that dialog for next release to avoid doing a selection if you know the renderer can handle everything correctly.
March 5, 2023, 5:49pm
Thanks to the new skip button I can now send the complete file to the renderer without selecting an audio/subtitle stream. Awesome. Thank you very much.