diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b2e637bd..a129eee56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Thread count is now forced to `1` for all streaming modes other than HLS Segmenter - Fix bug with HLS Segmenter in cultures where `.` is a group/thousands separator - Fix search results page crashing with some media kinds +- Always use MPEG-TS or MPEG-TS (Legacy) streaming mode with HDHR (Plex) + - Other configured modes will fall back to MPEG-TS when accessed by Plex ### Changed - Upgrade ffmpeg from 4.4 to 5.0 in all docker images diff --git a/ErsatzTV.Core/Hdhr/LineupItem.cs b/ErsatzTV.Core/Hdhr/LineupItem.cs index 853108931..2db23dcfe 100644 --- a/ErsatzTV.Core/Hdhr/LineupItem.cs +++ b/ErsatzTV.Core/Hdhr/LineupItem.cs @@ -22,7 +22,7 @@ namespace ErsatzTV.Core.Hdhr public string URL => _channel.StreamingMode switch { - StreamingMode.HttpLiveStreamingDirect => $"{_scheme}://{_host}/iptv/channel/{_channel.Number}.m3u8", + StreamingMode.TransportStream => $"{_scheme}://{_host}/iptv/channel/{_channel.Number}.ts?mode=ts-legacy", _ => $"{_scheme}://{_host}/iptv/channel/{_channel.Number}.ts" }; } diff --git a/ErsatzTV.Core/Iptv/ChannelPlaylist.cs b/ErsatzTV.Core/Iptv/ChannelPlaylist.cs index 13ade54d1..46e54cdc2 100644 --- a/ErsatzTV.Core/Iptv/ChannelPlaylist.cs +++ b/ErsatzTV.Core/Iptv/ChannelPlaylist.cs @@ -45,7 +45,7 @@ namespace ErsatzTV.Core.Iptv StreamingMode.HttpLiveStreamingDirect => "m3u8?mode=hls-direct", StreamingMode.HttpLiveStreamingSegmenter => "m3u8?mode=segmenter", StreamingMode.TransportStreamHybrid => "ts", - _ => "ts?mode=legacy" + _ => "ts?mode=ts-legacy" }; string vcodec = channel.FFmpegProfile.VideoCodec.Split("_").Head(); diff --git a/ErsatzTV/Controllers/IptvController.cs b/ErsatzTV/Controllers/IptvController.cs index 933fcf68e..8e85942d9 100644 --- a/ErsatzTV/Controllers/IptvController.cs +++ b/ErsatzTV/Controllers/IptvController.cs @@ -59,7 +59,7 @@ namespace ErsatzTV.Controllers { FFmpegProcessRequest request = mode switch { - "legacy" => new GetConcatProcessByChannelNumber(Request.Scheme, Request.Host.ToString(), channelNumber), + "ts-legacy" => new GetConcatProcessByChannelNumber(Request.Scheme, Request.Host.ToString(), channelNumber), _ => new GetWrappedProcessByChannelNumber(Request.Scheme, Request.Host.ToString(), channelNumber) };