GithubHelp home page GithubHelp logo

Comments (22)

thornbill avatar thornbill commented on June 2, 2024 2

It is up to everyone to test unstable releases leading up to a new stable release and report any new issues to ensure regressions do not occur. It is impossible for the Jellyfin team to test every variation of people's configurations in existence. For me and my live tv setup, 10.9.0 seems to work without issue.

from jellyfin.

markster1700 avatar markster1700 commented on June 2, 2024 2

It is up to everyone to test unstable releases leading up to a new stable release and report any new issues to ensure regressions do not occur. It is impossible for the Jellyfin team to test every variation of people's configurations in existence. For me and my live tv setup, 10.9.0 seems to work without issue.

I would assume that we do have substantial test cases that run before the release. If not I highly recommend we start developing them and run these through every time there is changes. This is standard dev practice. You do not wait for clients to test and get back to you.

Test cases are written and developed when new functionality is added to the code. Oh, I forgot that you did not know that. We old guys who retired coding spend decades doing that. But now I guess we dont.

from jellyfin.

markster1700 avatar markster1700 commented on June 2, 2024 2

It is obvious that someone has mod Live TV code big time without extensive testing. Maybe just for his own needs - looks like it. Stick to 10.8.13 until this mess has been fixed.

from jellyfin.

jellyfin-bot avatar jellyfin-bot commented on June 2, 2024

Hi, it seems like your issue report has the following item(s) that need to be addressed:

  • You have not filled in the environment completely.
  • You have not provided the ffmpeg log unaltered from the server. Please provide a valid ffmpeg log.

This is an automated message, currently under testing. Please file an issue here if you encounter any problems.

from jellyfin.

nils512 avatar nils512 commented on June 2, 2024

I have the same issue.

Some channels are working fine, some are not (same error).

for example this channel is working fine:
http://192.168.2.39/dlna/?type=DVB-S2&src=1&freq=11347&pol=v&sr=22000&pids=0,6500,6510,6520,6521,6522,6523,6530,6531
But this generates the error:
http://192.168.2.39/dlna/?type=DVB-S&src=1&freq=12188&pol=h&sr=27500&pids=0,44,163,104,105,106,110
This channel loads endless, but no error message is displayed:
http://192.168.2.39/dlna/?type=DVB-S&src=1&freq=12545&pol=h&sr=22000&pids=0,98,34,767,768

I'm using the M3U-tuner. Already deleted and reloaded the files - no changes.
I'm using XMLTV as EPG, also reloaded it without any success.

All channel are working fine from VLC.

I'm running linuxserver/jellyfin:latest in a docker.
Same issue in Firefox on the PC and in the Android App.

[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: session.RemoteEndPoint : 172.50.0.2
[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_playing_id = e3a236f176da69bf455ab557533d8d67
[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id = c76d22ffcd5a48b99a2b10805f069a5a
[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id_int = 1
[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_playing_id =
[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_user_id = c76d22ffcd5a48b99a2b10805f069a5a
[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : play_method = na
[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.ClientName = Jellyfin Web
[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.DeviceName = Firefox
[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemName = RTL Television
[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemId = e3a236f176da69bf455ab557533d8d67
[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemType = TvChannel
[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Details do not match for play item
[11:52:57] [INF] [17] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Exited
[11:53:04] [INF] [8] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Transcoding kill timer stopped for JobId 37694eb73d014f3e98ba2458bb32fd89 PlaySessionId 7e5136e3ab174bc78eb6b98d5e17ef99. Killing transcoding
[11:53:04] [INF] [8] MediaBrowser.Controller.MediaEncoding.TranscodingJob: Stopping ffmpeg process with q command for /config/cache/transcodes/f6c7344693fa814c552d3c5d396a9368.m3u8
[11:53:04] [INF] [8] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 0
[11:53:04] [INF] [8] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) /config/cache/transcodes/f6c7344693fa814c552d3c5d396a9368.m3u8
[11:53:06] [INF] [20] Emby.Server.Implementations.Library.MediaSourceManager: Live stream 477259fa0cc77067d5c26f4167c6c3a3 consumer count is now 0
[11:53:06] [INF] [20] Emby.Server.Implementations.Library.MediaSourceManager: Closing live stream e2329f4997b378e64ccf8fa396deb76e_af999c25a00715699361240d4c6c7a53_477259fa0cc77067d5c26f4167c6c3a3

from jellyfin.

markster1700 avatar markster1700 commented on June 2, 2024

Had exactly the same issue. Had to go back to 10.3.13. Too bad such important functionality has not been tested.

from jellyfin.

gnattu avatar gnattu commented on June 2, 2024

It is up to everyone to test unstable releases leading up to a new stable release and report any new issues to ensure regressions do not occur. It is impossible for the Jellyfin team to test every variation of people's configurations in existence. For me and my live tv setup, 10.9.0 seems to work without issue.

I would assume that we do have substantial test cases that run before the release. If not I highly recommend we start developing them and run these through every time there is changes. This is standard dev practice. You do not wait for clients to test and get back to you.

Test cases are written and developed when new functionality is added to the code. Oh, I forgot that you did not know that. We old guys who retired coding spend decades doing that. But now I guess we dont.

LiveTV is extremely hard to test with due to the fact that TV providers and TV tuners usually breaks the spec in this way and that way, and the problem is probably hard to identify until you are testing against real channels. The LiveTV feature itself is made of "supposed to work" way plus a lot of workarounds for specific TV providers. For example #11496 for some TV Tuners do not implement HTTP HEAD method.

from jellyfin.

dmitrylyzo avatar dmitrylyzo commented on June 2, 2024

I would assume that we do have substantial test cases that run before the release. If not I highly recommend we start developing them and run these through every time there is changes. This is standard dev practice. You do not wait for clients to test and get back to you.

The project has a lot of inherited functionality, and obviously not all of them have automatic testing. Everyone is free to work on the features they consider important. If LiveTV is so important to you, write these tests, help the project.

from jellyfin.

Sergiomg86 avatar Sergiomg86 commented on June 2, 2024

In my case I can't seem to play LiveTV now either, it keeps looping.

from jellyfin.

HouseIndoril avatar HouseIndoril commented on June 2, 2024

Seems this is somewhat device specific in its presentation. Live TV is handled by an HDHomeRun Flex 4K.

I've got one remote user with no issues on a Fire TV Stick (not really tech savvy).

Another remote fire stick user reports out of sync audio, which I can also confirm for LG WebOS TV on the LAN as well.

I can watch on Android, but get a Source Error on the first playback attempt. Second attempt is fine. Audio remains in sync.

Recordings are outright borked. Attempting to manage them results in endless spin and seems to completely crash the server, have to restart it to even be able to log back in again.

None of these issues were present in 10.8.13.

I will gather some relevant logs if I can.

from jellyfin.

antimidas avatar antimidas commented on June 2, 2024

I would assume that we do have substantial test cases that run before the release. If not I highly recommend we start developing them and run these through every time there is changes. This is standard dev practice. You do not wait for clients to test and get back to you.

The project has a lot of inherited functionality, and obviously not all of them have automatic testing. Everyone is free to work on the features they consider important. If LiveTV is so important to you, write these tests, help the project.

Yeah, that is a crap response. It is of ZERO help to anyone.

from jellyfin.

Sergiomg86 avatar Sergiomg86 commented on June 2, 2024

in my case a clean install from scratch of the latest version solved the error.

from jellyfin.

sib8 avatar sib8 commented on June 2, 2024

I've also experienced this issue on upgrade from last major release. My HDHR tuner channels were not affected, however m3u tuner IPTV channels mostly stopped working. A handful seemed to still work. Did a bit of digging into the logs and found some interesting lines:

[2024-05-14 14:22:48.324 -04:00] [ERR] Error opening tuner
System.Net.Http.HttpRequestException: Response status code does not indicate success: 302 (Found).
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()

Looks like m3u channel (all channel?) URLs go through a status check now before fetching the stream. Unless they are set up to return a proper '200' success status code I'm guessing these will no longer work.

from jellyfin.

dmitrylyzo avatar dmitrylyzo commented on June 2, 2024

The main change (in web) related to LiveTV is that the web client now tries to play it directly. Previously, LiveTV was transcoded (or remuxed, I don't remember).

There is a per user option Force transcoding of remote media sources such as Live TV. πŸ‘ˆ As a workaround.

Looks like m3u channel (all channel?) URLs go through a status check now before fetching the stream. Unless they are set up to return a proper '200' success status code I'm guessing these will no longer work.

So LiveTV with redirects doesn't work, right?

from jellyfin.

sib8 avatar sib8 commented on June 2, 2024

There is a per user option Force transcoding of remote media sources such as Live TV. πŸ‘ˆ As a workaround.

Did not know that. Thanks for the info on that setting and the background on what changed with LiveTV. I did flip on the 'Force transcoding of remote media' setting and tried again but I'm seeing the same error in the logs. Seems like '302' status codes are treated as fail case.

from jellyfin.

gnattu avatar gnattu commented on June 2, 2024

The main change (in web) related to LiveTV is that the web client now tries to play it directly. Previously, LiveTV was transcoded (or remuxed, I don't remember).

There is a per user option Force transcoding of remote media sources such as Live TV. πŸ‘ˆ As a workaround.

Looks like m3u channel (all channel?) URLs go through a status check now before fetching the stream. Unless they are set up to return a proper '200' success status code I'm guessing these will no longer work.

So LiveTV with redirects doesn't work, right?

In fact direct play should have a higher success rate because the browser's HLS demuxer is better than ffmpeg's.

from jellyfin.

markster1700 avatar markster1700 commented on June 2, 2024

There is nothing wrong with remuxing if the container is not supported. But in current case what is happening is that its all or nothing. If content is unable to play direct the server errors out. This is what I can see happening.
All my Live TV channels with client such as Firefox would be remuxed. Now these would not even play and I get server error. This is just sloppy implementation if you ask me.

from jellyfin.

antimidas avatar antimidas commented on June 2, 2024

from jellyfin.

wolonggl avatar wolonggl commented on June 2, 2024

jellyfin | [15:22:41] [INF] User policy for xxxxx. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
jellyfin | [15:22:41] [INF] Opening channel stream from Emby, external channel Id: m3u_e1a9747c0ffd3374d33f2210046bfa8125747703e2b9cc8f8f3d1729f7ffeed0
jellyfin | [15:22:41] [INF] Streaming Channel m3u_e1a9747c0ffd3374d33f2210046bfa8125747703e2b9cc8f8f3d1729f7ffeed0
jellyfin | [15:22:41] [ERR] Error opening tuner
jellyfin | System.Net.Http.HttpRequestException: An error occurred while sending the request.
jellyfin | ---> System.Net.Http.HttpIOException: The response ended prematurely. (ResponseEnded)
jellyfin | at System.Net.Http.HttpConnection.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin | --- End of inner exception stack trace ---
jellyfin | at System.Net.Http.HttpConnection.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin | at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
jellyfin | at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin | at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin | at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
jellyfin | at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken)
jellyfin | at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.g__Core|5_0(HttpRequestMessage request, Boolean useAsync, CancellationToken cancellationToken)
jellyfin | at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
jellyfin | at Jellyfin.LiveTv.TunerHosts.M3UTunerHost.GetChannelStream(TunerHostInfo tunerHost, ChannelInfo channel, String streamId, IList1 currentLiveStreams, CancellationToken cancellationToken) jellyfin | at Jellyfin.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, IList1 currentLiveStreams, CancellationToken cancellationToken)
jellyfin | [15:22:41] [ERR] Error processing request. URL POST /Items/044e2a8f4e058c3b2a9ff13e55999c7f/PlaybackInfo.
jellyfin | MediaBrowser.Controller.LiveTv.LiveTvConflictException: Exception of type 'MediaBrowser.Controller.LiveTv.LiveTvConflictException' was thrown.
jellyfin | at Jellyfin.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, IList1 currentLiveStreams, CancellationToken cancellationToken) jellyfin | at Jellyfin.LiveTv.DefaultLiveTvService.GetChannelStreamWithDirectStreamProvider(String channelId, String streamId, List1 currentLiveStreams, CancellationToken cancellationToken)
jellyfin | at Jellyfin.LiveTv.LiveTvMediaSourceProvider.GetChannelStream(String id, String mediaSourceId, List1 currentLiveStreams, CancellationToken cancellationToken) jellyfin | at Jellyfin.LiveTv.LiveTvMediaSourceProvider.OpenMediaSource(String openToken, List1 currentLiveStreams, CancellationToken cancellationToken)
jellyfin | at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken)
jellyfin | at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStream(LiveStreamRequest request, CancellationToken cancellationToken)
jellyfin | at Jellyfin.Api.Helpers.MediaInfoHelper.OpenMediaSource(HttpContext httpContext, LiveStreamRequest request)
jellyfin | at Jellyfin.Api.Controllers.MediaInfoController.GetPostedPlaybackInfo(Guid itemId, Nullable1 userId, Nullable1 maxStreamingBitrate, Nullable1 startTimeTicks, Nullable1 audioStreamIndex, Nullable1 subtitleStreamIndex, Nullable1 maxAudioChannels, String mediaSourceId, String liveStreamId, Nullable1 autoOpenLiveStream, Nullable1 enableDirectPlay, Nullable1 enableDirectStream, Nullable1 enableTranscoding, Nullable1 allowVideoStreamCopy, Nullable1 allowAudioStreamCopy, PlaybackInfoDto playbackInfoDto)
jellyfin | at lambda_method1120(Closure, Object)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
jellyfin | at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
jellyfin | at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
jellyfin | at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
jellyfin | at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
jellyfin | at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
jellyfin | at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
jellyfin | at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
jellyfin | at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
jellyfin | at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
jellyfin | at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
jellyfin | at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
jellyfin | at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
jellyfin | at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
jellyfin | at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
jellyfin | at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
jellyfin | at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)

from jellyfin.

antimidas avatar antimidas commented on June 2, 2024

from jellyfin.

hyunel avatar hyunel commented on June 2, 2024

Some M3UTuners like udpxy return nothing to HEAD request, which generates the following error: System.Net.Http.HttpIOException: The response ended prematurely. (ResponseEnded)

Just determining the status code doesn't seem to be enough? #11668

curl -Iv 192.168.100.1:4022/rtp/225.1.2.1:11104
> HEAD /rtp/225.1.2.1:11104 HTTP/1.1
> Host: 192.168.100.1:4022
> User-Agent: curl/7.86.0
> Accept: */*
> 
* Empty reply from server
curl: (52) Empty reply from server

from jellyfin.

bombz88 avatar bombz88 commented on June 2, 2024

Adding the same experience & concerns since updating to 10.9.#

Playback Error Playback failed because the media is not supported by this client.

  • Previously running Jellyfin 10.8.11, 10.8.13 there were no concerns with playback of live TV. However since updating to 10.9.2 everything but live TV is operational.Β 

from jellyfin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.