kevinjil / jellyfin.xtream Goto Github PK
View Code? Open in Web Editor NEWThe Jellyfin.Xtream plugin can be used to integrate the content provided by an Xtream-compatible API in your Jellyfin instance.
License: GNU General Public License v3.0
The Jellyfin.Xtream plugin can be used to integrate the content provided by an Xtream-compatible API in your Jellyfin instance.
License: GNU General Public License v3.0
once the repo linked to jellyfin version 6.0 does not appear contrary to others and in manual installation jellyfin indicates that the plugin has no configuration so impossible to change the settings
Hi, First of all, Thanks you for your amazing plugin :)
It is possible to add an option to change the EPD time zone.
I mean, all my channel epg are 1 hours late because I can't change the time zone of my shared VPS.
Simple option as +1 hour ou -1 hour would be enough, If possible for sure ;)
Thanks
I run jellyfin server on linux.
I have reproduced this behaviour in both android client and web client.
I configure my Xtream server and credentials, it loads the channel list.
I then go to Live TV and click on a channel, I see a spinner and nothing loads.
This is the log in the backend:
[17:14:05] [INF] [74] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for user. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[17:14:05] [INF] [74] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile=Anonymous Profile, Path=Unknown path, AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=ContainerNotSupported, VideoCodecNotSupported ) media:/videos/fef91c64-a356-d3c7-0d6d-b3b1a3ad194e/master.m3u8?MediaSourceId=fef91c64a356d3c70d6db3b1a3ad194e&VideoCodec=h264&AudioCodec=aac,mp3&VideoBitrate=139808000&AudioBitrate=192000&api_key=<token>&TranscodingMaxAudioChannels=2&RequireAvc=false&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&TranscodeReasons=ContainerNotSupported,%20VideoCodecNotSupported
[17:14:05] [INF] [74] Emby.Server.Implementations.LiveTv.LiveTvManager: Opening channel stream from Xtream Live, external channel Id: 25938
[17:14:05] [INF] [74] Emby.Server.Implementations.Library.MediaSourceManager: Waiting 3000ms before probing the live stream
[17:14:08] [INF] [83] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: /usr/lib/jellyfin-ffmpeg/ffprobe -analyzeduration 3000000 -i "http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts" -threads 0 -v warning -print_format json -show_streams -show_format
[17:14:08] [INF] [8] Jellyfin.Xtream.LiveTvService: Restream for channel 25938 was not opened.
[17:14:08] [INF] [8] Jellyfin.Xtream.LiveTvService: Starting restream for channel 25938.
[17:14:08] [INF] [8] Jellyfin.Xtream.LiveTvService: Opening restream 1 for channel 25938.
[17:14:38] [WRN] [10] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts to <redacted> in 0:00:30.005281 with Status Code 200
http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts: Invalid data found when processing input
[17:14:38] [ERR] [10] Emby.Server.Implementations.Library.MediaSourceManager: Error probing live tv stream
MediaBrowser.Common.FfmpegException: ffprobe failed - streams and format are both null.
at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken)
at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken)
at Emby.Server.Implementations.Library.LiveStreamHelper.AddMediaInfoWithProbe(MediaSourceInfo mediaSource, Boolean isAudio, String cacheKey, Boolean addProbeDelay, CancellationToken cancellationToken)
at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken)
[17:14:38] [INF] [10] Emby.Server.Implementations.Library.MediaSourceManager: Live stream opened: {"Protocol": "Http", "Id": "25938", "Path": "http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts", "EncoderPath": "http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts", "EncoderProtocol": "Http", "Type": "Default", "Container": null, "Size": null, "Name": "default", "IsRemote": true, "ETag": null, "RunTimeTicks": null, "ReadAtNativeFramerate": false, "IgnoreDts": false, "IgnoreIndex": false, "GenPtsInput": false, "SupportsTranscoding": true, "SupportsDirectStream": true, "SupportsDirectPlay": true, "IsInfiniteStream": true, "RequiresOpening": true, "OpenToken": null, "RequiresClosing": true, "LiveStreamId": "a17c75760a04e99b68cf766e11316e1c_ee8461408bd99accf028baca3558e074_25938", "BufferMs": null, "RequiresLooping": false, "SupportsProbing": true, "VideoType": null, "IsoType": null, "Video3DFormat": null, "MediaStreams": [{"Codec": null, "CodecTag": null, "Language": null, "ColorRange": null, "ColorSpace": null, "ColorTransfer": null, "ColorPrimaries": null, "DvVersionMajor": null, "DvVersionMinor": null, "DvProfile": null, "DvLevel": null, "RpuPresentFlag": null, "ElPresentFlag": null, "BlPresentFlag": null, "DvBlSignalCompatibilityId": null, "Comment": null, "TimeBase": null, "CodecTimeBase": null, "Title": null, "VideoRange": "SDR", "VideoRangeType": "SDR", "VideoDoViTitle": null, "LocalizedUndefined": null, "LocalizedDefault": null, "LocalizedForced": null, "LocalizedExternal": null, "DisplayTitle": "SDR", "NalLengthSize": "0", "IsInterlaced": true, "IsAVC": null, "ChannelLayout": null, "BitRate": 20000000, "BitDepth": null, "RefFrames": null, "PacketLength": null, "Channels": null, "SampleRate": null, "IsDefault": false, "IsForced": false, "Height": null, "Width": null, "AverageFrameRate": null, "RealFrameRate": null, "Profile": null, "Type": "Video", "AspectRatio": null, "Index": -1, "Score": null, "IsExternal": false, "DeliveryMethod": null, "DeliveryUrl": null, "IsExternalUrl": null, "IsTextSubtitleStream": false, "SupportsExternalStream": false, "Path": null, "PixelFormat": null, "Level": null, "IsAnamorphic": null, "$type": "MediaStream"}, {"Codec": null, "CodecTag": null, "Language": null, "ColorRange": null, "ColorSpace": null, "ColorTransfer": null, "ColorPrimaries": null, "DvVersionMajor": null, "DvVersionMinor": null, "DvProfile": null, "DvLevel": null, "RpuPresentFlag": null, "ElPresentFlag": null, "BlPresentFlag": null, "DvBlSignalCompatibilityId": null, "Comment": null, "TimeBase": null, "CodecTimeBase": null, "Title": null, "VideoRange": null, "VideoRangeType": null, "VideoDoViTitle": null, "LocalizedUndefined": null, "LocalizedDefault": null, "LocalizedForced": null, "LocalizedExternal": null, "DisplayTitle": "", "NalLengthSize": null, "IsInterlaced": false, "IsAVC": null, "ChannelLayout": null, "BitRate": null, "BitDepth": null, "RefFrames": null, "PacketLength": null, "Channels": null, "SampleRate": null, "IsDefault": false, "IsForced": false, "Height": null, "Width": null, "AverageFrameRate": null, "RealFrameRate": null, "Profile": null, "Type": "Audio", "AspectRatio": null, "Index": -1, "Score": null, "IsExternal": false, "DeliveryMethod": null, "DeliveryUrl": null, "IsExternalUrl": null, "IsTextSubtitleStream": false, "SupportsExternalStream": false, "Path": null, "PixelFormat": null, "Level": null, "IsAnamorphic": null, "$type": "MediaStream"}], "MediaAttachments": [], "Formats": [], "Bitrate": 20000000, "Timestamp": null, "RequiredHttpHeaders": {}, "TranscodingUrl": null, "TranscodingSubProtocol": null, "TranscodingContainer": null, "AnalyzeDurationMs": 3000, "TranscodeReasons": "0", "DefaultAudioStreamIndex": null, "DefaultSubtitleStreamIndex": null, "VideoStream": {"Codec": null, "CodecTag": null, "Language": null, "ColorRange": null, "ColorSpace": null, "ColorTransfer": null, "ColorPrimaries": null, "DvVersionMajor": null, "DvVersionMinor": null, "DvProfile": null, "DvLevel": null, "RpuPresentFlag": null, "ElPresentFlag": null, "BlPresentFlag": null, "DvBlSignalCompatibilityId": null, "Comment": null, "TimeBase": null, "CodecTimeBase": null, "Title": null, "VideoRange": "SDR", "VideoRangeType": "SDR", "VideoDoViTitle": null, "LocalizedUndefined": null, "LocalizedDefault": null, "LocalizedForced": null, "LocalizedExternal": null, "DisplayTitle": "SDR", "NalLengthSize": "0", "IsInterlaced": true, "IsAVC": null, "ChannelLayout": null, "BitRate": 20000000, "BitDepth": null, "RefFrames": null, "PacketLength": null, "Channels": null, "SampleRate": null, "IsDefault": false, "IsForced": false, "Height": null, "Width": null, "AverageFrameRate": null, "RealFrameRate": null, "Profile": null, "Type": "Video", "AspectRatio": null, "Index": -1, "Score": null, "IsExternal": false, "DeliveryMethod": null, "DeliveryUrl": null, "IsExternalUrl": null, "IsTextSubtitleStream": false, "SupportsExternalStream": false, "Path": null, "PixelFormat": null, "Level": null, "IsAnamorphic": null, "$type": "MediaStream"}, "$type": "MediaSourceInfo"}
[17:14:38] [INF] [10] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for user. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[17:14:38] [INF] [10] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile=Anonymous Profile, Path=http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts, AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=ContainerNotSupported, VideoCodecNotSupported, AudioCodecNotSupported ) media:/videos/fef91c64-a356-d3c7-0d6d-b3b1a3ad194e/master.m3u8?MediaSourceId=25938&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=-1&VideoBitrate=139616000&AudioBitrate=384000&api_key=<token>&LiveStreamId=a17c75760a04e99b68cf766e11316e1c_ee8461408bd99accf028baca3558e074_25938&TranscodingMaxAudioChannels=2&RequireAvc=false&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&TranscodeReasons=ContainerNotSupported,%20VideoCodecNotSupported,%20AudioCodecNotSupported
[17:14:38] [WRN] [10] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://jellyfin.local:8096/Items/fef91c64a356d3c70d6db3b1a3ad194e/PlaybackInfo?UserId=4a9eb26aa899447c8e971cdc7b072be3&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=140000000 to 192.168.15.100 in 0:00:33.0751897 with Status Code 200
[17:14:39] [INF] [10] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[17:14:39] [INF] [10] Jellyfin.Api.Helpers.TranscodingJobHelper: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 3000000 -autorotate 0 -i "http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx264 -preset superfast -crf 23 -maxrate 20000000 -bufsize 40000000 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,yadif=0:-1:0,format=yuv420p" -flags -global_header -codec:a:0 libfdk_aac -ac 2 -ab 384000 -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_base_url "hls/6ff2f02f8001021bd813f15c762f9368/" -hls_segment_filename "/config/transcodes/6ff2f02f8001021bd813f15c762f9368%d.ts" -hls_playlist_type event -hls_list_size 0 -y "/config/transcodes/6ff2f02f8001021bd813f15c762f9368.m3u8"
[17:14:39] [INF] [86] Jellyfin.Xtream.LiveTvService: Restream for channel 25938 was not opened.
[17:14:39] [INF] [86] Jellyfin.Xtream.LiveTvService: Starting restream for channel 25938.
[17:14:39] [INF] [86] Jellyfin.Xtream.LiveTvService: Opening restream 2 for channel 25938.
[17:15:09] [WRN] [8] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts to <redacted> in 0:00:30.0197311 with Status Code 200
[17:15:09] [ERR] [89] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 1
[17:15:09] [INF] [8] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[17:15:09] [INF] [8] Jellyfin.Api.Helpers.TranscodingJobHelper: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 3000000 -autorotate 0 -i "http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx264 -preset superfast -crf 23 -maxrate 20000000 -bufsize 40000000 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,yadif=0:-1:0,format=yuv420p" -flags -global_header -codec:a:0 libfdk_aac -ac 2 -ab 384000 -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_base_url "hls/6ff2f02f8001021bd813f15c762f9368/" -hls_segment_filename "/config/transcodes/6ff2f02f8001021bd813f15c762f9368%d.ts" -hls_playlist_type event -hls_list_size 0 -y "/config/transcodes/6ff2f02f8001021bd813f15c762f9368.m3u8"
[17:15:09] [ERR] [89] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL GET /videos/fef91c64-a356-d3c7-0d6d-b3b1a3ad194e/live.m3u8.
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
at Jellyfin.Api.Helpers.TranscodingJobHelper.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, HttpRequest request, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
at Jellyfin.Api.Controllers.DynamicHlsController.GetLiveHlsStream(Guid itemId, String container, Nullable`1 static, String params, String tag, String deviceProfileId, String playSessionId, String segmentContainer, Nullable`1 segmentLength, Nullable`1 minSegments, String mediaSourceId, String deviceId, String audioCodec, Nullable`1 enableAutoStreamCopy, Nullable`1 allowVideoStreamCopy, Nullable`1 allowAudioStreamCopy, Nullable`1 breakOnNonKeyFrames, Nullable`1 audioSampleRate, Nullable`1 maxAudioBitDepth, Nullable`1 audioBitRate, Nullable`1 audioChannels, Nullable`1 maxAudioChannels, String profile, String level, Nullable`1 framerate, Nullable`1 maxFramerate, Nullable`1 copyTimestamps, Nullable`1 startTimeTicks, Nullable`1 width, Nullable`1 height, Nullable`1 videoBitRate, Nullable`1 subtitleStreamIndex, Nullable`1 subtitleMethod, Nullable`1 maxRefFrames, Nullable`1 maxVideoBitDepth, Nullable`1 requireAvc, Nullable`1 deInterlace, Nullable`1 requireNonAnamorphic, Nullable`1 transcodingMaxAudioChannels, Nullable`1 cpuCoreLimit, String liveStreamId, Nullable`1 enableMpegtsM2TsMode, String videoCodec, String subtitleCodec, String transcodeReasons, Nullable`1 audioStreamIndex, Nullable`1 videoStreamIndex, Nullable`1 context, Dictionary`2 streamOptions, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 enableSubtitlesInManifest)
at lambda_method1009(Closure , Object )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
[17:15:09] [WRN] [89] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://jellyfin.local:8096/videos/fef91c64-a356-d3c7-0d6d-b3b1a3ad194e/live.m3u8?DeviceId=TW96aWxsYS81LjAgKFgxMTsgTGludXggeDg2XzY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTIwLjAuMC4wIFNhZmFyaS81MzcuMzZ8MTcwMjQwODYyOTAwMg11&MediaSourceId=25938&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=-1&VideoBitrate=139616000&AudioBitrate=384000&PlaySessionId=0a457f2593644d7f900d4cd717bd271b&api_key=36db08ee9fbb412db4112cdb57cfdd44&LiveStreamId=a17c75760a04e99b68cf766e11316e1c_ee8461408bd99accf028baca3558e074_25938&TranscodingMaxAudioChannels=2&RequireAvc=false&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&TranscodeReasons=ContainerNotSupported,%20VideoCodecNotSupported,%20AudioCodecNotSupported to 192.168.15.100 in 0:00:30.2290746 with Status Code 500
[17:15:09] [INF] [39] Jellyfin.Xtream.LiveTvService: Restream for channel 25938 was not opened.
[17:15:09] [INF] [39] Jellyfin.Xtream.LiveTvService: Starting restream for channel 25938.
[17:15:09] [INF] [39] Jellyfin.Xtream.LiveTvService: Opening restream 3 for channel 25938.
[17:15:39] [WRN] [86] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts to <redacted> in 0:00:30.0457271 with Status Code 200
[17:15:39] [ERR] [8] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 1
[17:15:39] [INF] [86] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[17:15:39] [INF] [86] Jellyfin.Api.Helpers.TranscodingJobHelper: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 3000000 -autorotate 0 -i "http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx264 -preset superfast -crf 23 -maxrate 20000000 -bufsize 40000000 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,yadif=0:-1:0,format=yuv420p" -flags -global_header -codec:a:0 libfdk_aac -ac 2 -ab 384000 -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_base_url "hls/6ff2f02f8001021bd813f15c762f9368/" -hls_segment_filename "/config/transcodes/6ff2f02f8001021bd813f15c762f9368%d.ts" -hls_playlist_type event -hls_list_size 0 -y "/config/transcodes/6ff2f02f8001021bd813f15c762f9368.m3u8"
[17:15:39] [ERR] [8] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL GET /videos/fef91c64-a356-d3c7-0d6d-b3b1a3ad194e/live.m3u8.
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
at Jellyfin.Api.Helpers.TranscodingJobHelper.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, HttpRequest request, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
at Jellyfin.Api.Controllers.DynamicHlsController.GetLiveHlsStream(Guid itemId, String container, Nullable`1 static, String params, String tag, String deviceProfileId, String playSessionId, String segmentContainer, Nullable`1 segmentLength, Nullable`1 minSegments, String mediaSourceId, String deviceId, String audioCodec, Nullable`1 enableAutoStreamCopy, Nullable`1 allowVideoStreamCopy, Nullable`1 allowAudioStreamCopy, Nullable`1 breakOnNonKeyFrames, Nullable`1 audioSampleRate, Nullable`1 maxAudioBitDepth, Nullable`1 audioBitRate, Nullable`1 audioChannels, Nullable`1 maxAudioChannels, String profile, String level, Nullable`1 framerate, Nullable`1 maxFramerate, Nullable`1 copyTimestamps, Nullable`1 startTimeTicks, Nullable`1 width, Nullable`1 height, Nullable`1 videoBitRate, Nullable`1 subtitleStreamIndex, Nullable`1 subtitleMethod, Nullable`1 maxRefFrames, Nullable`1 maxVideoBitDepth, Nullable`1 requireAvc, Nullable`1 deInterlace, Nullable`1 requireNonAnamorphic, Nullable`1 transcodingMaxAudioChannels, Nullable`1 cpuCoreLimit, String liveStreamId, Nullable`1 enableMpegtsM2TsMode, String videoCodec, String subtitleCodec, String transcodeReasons, Nullable`1 audioStreamIndex, Nullable`1 videoStreamIndex, Nullable`1 context, Dictionary`2 streamOptions, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 enableSubtitlesInManifest)
at lambda_method1009(Closure , Object )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
[17:15:39] [WRN] [8] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://jellyfin.local:8096/videos/fef91c64-a356-d3c7-0d6d-b3b1a3ad194e/live.m3u8?DeviceId=TW96aWxsYS81LjAgKFgxMTsgTGludXggeDg2XzY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTIwLjAuMC4wIFNhZmFyaS81MzcuMzZ8MTcwMjQwODYyOTAwMg11&MediaSourceId=25938&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=-1&VideoBitrate=139616000&AudioBitrate=384000&PlaySessionId=0a457f2593644d7f900d4cd717bd271b&api_key=36db08ee9fbb412db4112cdb57cfdd44&LiveStreamId=a17c75760a04e99b68cf766e11316e1c_ee8461408bd99accf028baca3558e074_25938&TranscodingMaxAudioChannels=2&RequireAvc=false&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&TranscodeReasons=ContainerNotSupported,%20VideoCodecNotSupported,%20AudioCodecNotSupported to 192.168.15.100 in 0:00:49.5924383 with Status Code 500
[17:15:39] [INF] [8] Jellyfin.Xtream.LiveTvService: Restream for channel 25938 was not opened.
[17:15:39] [INF] [8] Jellyfin.Xtream.LiveTvService: Starting restream for channel 25938.
[17:15:39] [INF] [8] Jellyfin.Xtream.LiveTvService: Opening restream 4 for channel 25938.
[17:16:09] [WRN] [38] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts to <redacted> in 0:00:30.0120574 with Status Code 200
[17:16:09] [ERR] [10] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 1
[17:16:09] [INF] [38] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[17:16:09] [INF] [38] Jellyfin.Api.Helpers.TranscodingJobHelper: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 3000000 -autorotate 0 -i "http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx264 -preset superfast -crf 23 -maxrate 20000000 -bufsize 40000000 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,yadif=0:-1:0,format=yuv420p" -flags -global_header -codec:a:0 libfdk_aac -ac 2 -ab 384000 -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_base_url "hls/6ff2f02f8001021bd813f15c762f9368/" -hls_segment_filename "/config/transcodes/6ff2f02f8001021bd813f15c762f9368%d.ts" -hls_playlist_type event -hls_list_size 0 -y "/config/transcodes/6ff2f02f8001021bd813f15c762f9368.m3u8"
[17:16:09] [ERR] [10] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL GET /videos/fef91c64-a356-d3c7-0d6d-b3b1a3ad194e/live.m3u8.
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
at Jellyfin.Api.Helpers.TranscodingJobHelper.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, HttpRequest request, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
at Jellyfin.Api.Controllers.DynamicHlsController.GetLiveHlsStream(Guid itemId, String container, Nullable`1 static, String params, String tag, String deviceProfileId, String playSessionId, String segmentContainer, Nullable`1 segmentLength, Nullable`1 minSegments, String mediaSourceId, String deviceId, String audioCodec, Nullable`1 enableAutoStreamCopy, Nullable`1 allowVideoStreamCopy, Nullable`1 allowAudioStreamCopy, Nullable`1 breakOnNonKeyFrames, Nullable`1 audioSampleRate, Nullable`1 maxAudioBitDepth, Nullable`1 audioBitRate, Nullable`1 audioChannels, Nullable`1 maxAudioChannels, String profile, String level, Nullable`1 framerate, Nullable`1 maxFramerate, Nullable`1 copyTimestamps, Nullable`1 startTimeTicks, Nullable`1 width, Nullable`1 height, Nullable`1 videoBitRate, Nullable`1 subtitleStreamIndex, Nullable`1 subtitleMethod, Nullable`1 maxRefFrames, Nullable`1 maxVideoBitDepth, Nullable`1 requireAvc, Nullable`1 deInterlace, Nullable`1 requireNonAnamorphic, Nullable`1 transcodingMaxAudioChannels, Nullable`1 cpuCoreLimit, String liveStreamId, Nullable`1 enableMpegtsM2TsMode, String videoCodec, String subtitleCodec, String transcodeReasons, Nullable`1 audioStreamIndex, Nullable`1 videoStreamIndex, Nullable`1 context, Dictionary`2 streamOptions, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 enableSubtitlesInManifest)
at lambda_method1009(Closure , Object )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
[17:16:09] [WRN] [10] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://jellyfin.local:8096/videos/fef91c64-a356-d3c7-0d6d-b3b1a3ad194e/live.m3u8?DeviceId=TW96aWxsYS81LjAgKFgxMTsgTGludXggeDg2XzY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTIwLjAuMC4wIFNhZmFyaS81MzcuMzZ8MTcwMjQwODYyOTAwMg11&MediaSourceId=25938&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=-1&VideoBitrate=139616000&AudioBitrate=384000&PlaySessionId=0a457f2593644d7f900d4cd717bd271b&api_key=36db08ee9fbb412db4112cdb57cfdd44&LiveStreamId=a17c75760a04e99b68cf766e11316e1c_ee8461408bd99accf028baca3558e074_25938&TranscodingMaxAudioChannels=2&RequireAvc=false&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&TranscodeReasons=ContainerNotSupported,%20VideoCodecNotSupported,%20AudioCodecNotSupported to 192.168.15.100 in 0:01:07.8448548 with Status Code 500
[17:16:10] [INF] [10] Jellyfin.Xtream.LiveTvService: Restream for channel 25938 was not opened.
[17:16:10] [INF] [10] Jellyfin.Xtream.LiveTvService: Starting restream for channel 25938.
[17:16:10] [INF] [10] Jellyfin.Xtream.LiveTvService: Opening restream 5 for channel 25938.
[17:16:40] [WRN] [66] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts to <redacted> in 0:00:30.0167986 with Status Code 200
[17:16:40] [ERR] [107] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 1
[17:16:40] [INF] [33] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[17:16:40] [INF] [33] Jellyfin.Api.Helpers.TranscodingJobHelper: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 3000000 -autorotate 0 -i "http://<redacted>:8096/LiveTv/LiveStreamFiles/a9fcbf31-2e4a-460a-9c14-e374b737037b/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx264 -preset superfast -crf 23 -maxrate 20000000 -bufsize 40000000 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,yadif=0:-1:0,format=yuv420p" -flags -global_header -codec:a:0 libfdk_aac -ac 2 -ab 384000 -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_base_url "hls/6ff2f02f8001021bd813f15c762f9368/" -hls_segment_filename "/config/transcodes/6ff2f02f8001021bd813f15c762f9368%d.ts" -hls_playlist_type event -hls_list_size 0 -y "/config/transcodes/6ff2f02f8001021bd813f15c762f9368.m3u8"
[17:16:40] [ERR] [107] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL GET /videos/fef91c64-a356-d3c7-0d6d-b3b1a3ad194e/live.m3u8.
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
at Jellyfin.Api.Helpers.TranscodingJobHelper.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, HttpRequest request, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
at Jellyfin.Api.Controllers.DynamicHlsController.GetLiveHlsStream(Guid itemId, String container, Nullable`1 static, String params, String tag, String deviceProfileId, String playSessionId, String segmentContainer, Nullable`1 segmentLength, Nullable`1 minSegments, String mediaSourceId, String deviceId, String audioCodec, Nullable`1 enableAutoStreamCopy, Nullable`1 allowVideoStreamCopy, Nullable`1 allowAudioStreamCopy, Nullable`1 breakOnNonKeyFrames, Nullable`1 audioSampleRate, Nullable`1 maxAudioBitDepth, Nullable`1 audioBitRate, Nullable`1 audioChannels, Nullable`1 maxAudioChannels, String profile, String level, Nullable`1 framerate, Nullable`1 maxFramerate, Nullable`1 copyTimestamps, Nullable`1 startTimeTicks, Nullable`1 width, Nullable`1 height, Nullable`1 videoBitRate, Nullable`1 subtitleStreamIndex, Nullable`1 subtitleMethod, Nullable`1 maxRefFrames, Nullable`1 maxVideoBitDepth, Nullable`1 requireAvc, Nullable`1 deInterlace, Nullable`1 requireNonAnamorphic, Nullable`1 transcodingMaxAudioChannels, Nullable`1 cpuCoreLimit, String liveStreamId, Nullable`1 enableMpegtsM2TsMode, String videoCodec, String subtitleCodec, String transcodeReasons, Nullable`1 audioStreamIndex, Nullable`1 videoStreamIndex, Nullable`1 context, Dictionary`2 streamOptions, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 enableSubtitlesInManifest)
at lambda_method1009(Closure , Object )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
[17:16:40] [WRN] [107] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://jellyfin.local:8096/videos/fef91c64-a356-d3c7-0d6d-b3b1a3ad194e/live.m3u8?DeviceId=TW96aWxsYS81LjAgKFgxMTsgTGludXggeDg2XzY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTIwLjAuMC4wIFNhZmFyaS81MzcuMzZ8MTcwMjQwODYyOTAwMg11&MediaSourceId=25938&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=-1&VideoBitrate=139616000&AudioBitrate=384000&PlaySessionId=0a457f2593644d7f900d4cd717bd271b&api_key=36db08ee9fbb412db4112cdb57cfdd44&LiveStreamId=a17c75760a04e99b68cf766e11316e1c_ee8461408bd99accf028baca3558e074_25938&TranscodingMaxAudioChannels=2&RequireAvc=false&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&TranscodeReasons=ContainerNotSupported,%20VideoCodecNotSupported,%20AudioCodecNotSupported to 192.168.15.100 in 0:01:24.1249418 with Status Code 500
[17:16:40] [INF] [66] Jellyfin.Xtream.LiveTvService: Restream for channel 25938 was not opened.
[17:16:40] [INF] [66] Jellyfin.Xtream.LiveTvService: Starting restream for channel 25938.
[17:16:40] [INF] [66] Jellyfin.Xtream.LiveTvService: Opening restream 6 for channel 25938.
Great plugin, thanks for your efforts! @Kevinjil
One issue I have observed is once channels are selected from "Live TV" tab, the list spans 10+ pages and has multiple number 1 channels from different categories at the top of list under "TV overrides" tab.
This continues with number 2 channels and so on.......... in full list. So a sport channel numbered 1 could be next to an entertainment channel numbered 1, which is next to a music channel numbered 1.
So the need for manual channel sorting is required. It is a very manual process and as list could span 10+ pages, it would be good to optimise the experience through (all or some of the suggestions from below):
Thanks for you consideration.
A lot of providers prefix entries with tags such as country, language, and stream quality. Allowing the plugin to rename these would clean up the interface.
The tags can also be parsed and stored as tags in the library data.
Options:
Client reports that there was an error starting direct playback due to SupportsDirectPlay = false. I expected it to choose the next best option, namely SupportsDirectStream = true but instead it just starts a full transcode to the fallback format.
Setting SupportsDirectPlay = true
solves the problem.
Hi all,
When i add channel selections they all show up under the channels section in live tv. Is there a way to seperate them based on the categories given by the provider.
For example currentely if i add a news and then a gaming category they are all bunched up together in the channels section, is there a way to have subsections i.e News , Games .... etc ? and within these subsections have the relevant shows.
All this without having to manually create categories?
Thanks
HI.
Is it possible to add a proxy or openvpn system to the plugin?
IPTV services are not to be trusted, it is better to keep your IP address hidden, and why not, even the user-agent.
Thank you.
After saving, the channel remains selected.
The API provides information on resolution, codecs, audio/video tracks etc. Parse this information to allow filtering of content in Jellyfin and possibly remove the need for ffprobe
.
Is there an "Auto-loop live streams" like feature for this plugin? Right now it plays the stream for a few seconds then stops, presumably because the stream is chunked into multiple files. (i'm not familiar with the terminology / technology here)
Like the title says it would be helfull to have the Catchup be shown in the EPG instead of its own library
JF 10.8
Plugin 0.2.1.0
Windows 10
On my Dashboard, a LiveTV session started 2 days ago appears to still be active. The activity log has it stopping and starting repeatedly over and over again. I close the window playing the TV stream 2 mins after is started, but it still shows as active. It says it's transcoding but there is nothing in my transcode directory.
Dashboard activity (notice the time, which continues to tick up)
Activity log (notice how it keeps stopping and restarting - this is happening without me interacting at all.
Is there any plans to have it so the ordering groups the channels and changing the order of groups?
It would be amazing to have the option to override the EPG from the xtream API to use the XMLTV from LiveTV. Sometimes the source only has EPG for some channels and can be incomplete. An XMLTV file can give the flexibility to customize program pictures and adds more information.
It probably needs to override the channel id, so the XMLTV EPG works.
Hi, first thanks for this plugin, really simplifies things for me.
Is recording using this plugin supposed to work? When I setup this plugin I can watch Live TV fine but if I try to record just get the circle going around and around.
If I setup the normal JF live TV section with M3U tuner and EPG manually set recording works fine
Thanks
As you can see in the EPG there are \uXXXX codes instead of the right characters.
In this case instead of this:
"U\u017dIVO: U\u017eivo: NFL: DIVISIONAL PLAYOFF G3: DETROIT - TAMPA BAY, ameri\u010dki nogomet"
It should display:
"UŽIVO: Uživo: NFL: DIVISIONAL PLAYOFF G3: DETROIT - TAMPA BAY, američki nogomet"
The encodings for EPG seem to have the C/C++ format, so they don't render in the Jellyfin UI and need to be transformed into HTML entities: https://www.fileformat.info/info/unicode/char/17d/index.htm
This code seems to accomplish it:
// A function to convert a hexadecimal number to a decimal number
function hexToDec(hex) {
return parseInt(hex, 16);
}
// A function to convert a C style unicode escape sequence to a HTML entity
function unicodeToHtml(unicode) {
// Remove the backslash and the u from the sequence
var hex = unicode.slice(2);
// Convert the hexadecimal number to a decimal number
var dec = hexToDec(hex);
// Return the HTML entity using the decimal number as the character code
return "&#" + dec + ";";
}
// A function to parse a string with C style unicode escape sequences into HTML entities
function parseUnicodeToHtml(str) {
// Use a regular expression to match all C style unicode escape sequences in the string
var regex = /\u[0-9a-fA-F]{4}/g;
// Replace each match with the corresponding HTML entity using the unicodeToHtml function
var result = str.replace(regex, unicodeToHtml);
// Return the result
return result;
}
// A sample string with C style unicode escape sequences
var sample = "U\u017dIVO: U\u017eivo: NFL: DIVISIONAL PLAYOFF G3: DETROIT - TAMPA BAY, ameri\u010dki nogomet";
// Parse the sample string into HTML entities
var parsed = parseUnicodeToHtml(sample);
// Print the result
console.log(parsed);
The string could also contain a double escaped version with two backslashes instead of one.
Probably it would be better to try replacing those first, it is just an additional backslash in the regex above.
Jellyfin has a breaking plugin API change at GetApiUrlForLocalAccess introduced by jellyfin/jellyfin@3275f83, thus the build system needs to build against 10.8.1.
The Live TV
integration has matured enough to remove the need for the (sort-of duplicate) Xtream Live
section with less features.
Having the option to limit the number of simultaneous streams like in native live tv.
The rework in a688707 seems to have broken the Xtream Live
channel.
Playback Error
This client isn't compatible with the media and the server isn't sending a compatible media format.
the plugin is installed on a synology DS218+ NAS on docker. All movies work just fine. Any idea what might be the issue?
Is it possible to add option to default the numbering of channels so they are grouped together. For example, Group 1 is channels 1-20, Group 2 is channels 21-40, Group 3 is channels 41-60 and so on instead of every group starting with 1. For whatever reason, the override option never works for me.
Can you add a feature where the Xtream account can be linked to specific users?
I can modify the code myself but I would like an over view on how I can do that. Even if it is like a "hack" to modify a file manually without any UI it would be amazing.
Sorry my C knowledge is really lacking these. days so I can't quite work out what's happening on my own.
I just got Xtream working amazingly for most of the content from the server, but when it comes to Series I'm having no luck getting them all to work.
LiveTV & Movies work perfectly but Jellyfin appears to struggle parsing most of the series returning;
[15:32:33] [DBG] [16] Jellyfin.Api.ModelBinders.CommaDelimitedArrayModelBinder: Error converting value.
System.FormatException: SongCount is not a valid value for ItemFields.
---> System.ArgumentException: Requested value 'SongCount' was not found.
at System.Enum.TryParseByName(RuntimeType enumType, ReadOnlySpan`1 value, Boolean ignoreCase, Boolean throwOnFailure, UInt64& result)
at System.Enum.TryParseInt32Enum(RuntimeType enumType, ReadOnlySpan`1 value, Int32 minInclusive, Int32 maxInclusive, Boolean ignoreCase, Boolean throwOnFailure, TypeCode type, Int32& result)
at System.Enum.TryParse(Type enumType, ReadOnlySpan`1 value, Boolean ignoreCase, Boolean throwOnFailure, Object& result)
at System.Enum.TryParse(Type enumType, String value, Boolean ignoreCase, Boolean throwOnFailure, Object& result)
at System.ComponentModel.EnumConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
--- End of inner exception stack trace ---
at System.ComponentModel.EnumConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
at Jellyfin.Api.ModelBinders.CommaDelimitedArrayModelBinder.GetParsedResult(IReadOnlyList`1 values, Type elementType, TypeConverter converter)
When trying to enter one of the subfolders of the channel, the rough folder structure appears to be /series/genre/serial_name/seasons/episodes
Any help would be appreciated in case I'm just missing something obvious 🙈
Live TV Tuner Setup - How to get LiveTV to show up in JellyFin Client?
I've tried "Other" and Detect but nothing is detected. I've set everything up and it shows the VOD stuff but no LiveTV and I missing something?
#The TV section popped up in the Client now.
When i enter in an account A login it works ok.
but when i delete account A login details and enter Account B
the channels from account A remain in the GUI.
the only way to remove them is to uninstall the plugin
Thank you for the work. It is very useful to have Xtream API working with Jellyfin.
I noticed that VOD and Series are always being transcoded, despite the codec being fully supported on the client side. The transcoding is also software-based and not taking advantage of the hardware. The LiveTV is working as expected and direct plays on the client.
Here is a snippet of the log generated during transcoding:
/videos/8529e4ee-612e-1588-eee8-16703a294115/hls1/main/0.ts
{"Protocol":1,"Id":"831599","Path":"http://..................","EncoderPath":null,"EncoderProtocol":1,"Type":0,"Container":null,"Size":null,"Name":"default","IsRemote":true,"ETag":null,"RunTimeTicks":33998400000,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"OpenToken":null,"RequiresClosing":false,"LiveStreamId":null,"BufferMs":null,"RequiresLooping":false,"SupportsProbing":true,"VideoType":null,"IsoType":null,"Video3DFormat":null,"MediaStreams":[],"MediaAttachments":[],"Formats":[],"Bitrate":null,"Timestamp":null,"RequiredHttpHeaders":{},"TranscodingUrl":null,"TranscodingSubProtocol":null,"TranscodingContainer":null,"AnalyzeDurationMs":null,"DefaultAudioStreamIndex":null,"DefaultSubtitleStreamIndex":null}
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -filter_hw_device qs -autorotate 0 -i "http://......." -map_metadata -1 -map_chapters -1 -threads 2 -sn -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/bdbe5804cc6e346935537e30bd5f90fe%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/transcodes/bdbe5804cc6e346935537e30bd5f90fe.m3u8"
ffmpeg version 5.1.3-Jellyfin Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 10 (Debian 10.2.1-6)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
Input #0, matroska,webm, from 'http://.......':
Metadata:
title : 1. kapitola
encoder : libebml v1.4.2 + libmatroska v1.6.4
creation_time : 2022-11-27T18:24:58.000000Z
Duration: 00:56:39.84, start: 0.000000, bitrate: 1692 kb/s
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
Metadata:
BPS : 1306136
DURATION : 00:56:38.020000000
NUMBER_OF_FRAMES: 81471
NUMBER_OF_BYTES : 554784704
_STATISTICS_WRITING_APP: mkvmerge v68.0.0 ('The Curtain') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2022-11-27 18:24:58
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:1(ger): Audio: eac3, 48000 Hz, stereo, fltp, 128 kb/s
Metadata:
BPS : 128000
DURATION : 00:56:39.840000000
NUMBER_OF_FRAMES: 106245
NUMBER_OF_BYTES : 54397440
_STATISTICS_WRITING_APP: mkvmerge v68.0.0 ('The Curtain') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2022-11-27 18:24:58
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:2(eng): Audio: eac3, 48000 Hz, stereo, fltp, 128 kb/s
Metadata:
BPS : 128000
DURATION : 00:56:39.840000000
NUMBER_OF_FRAMES: 106245
NUMBER_OF_BYTES : 54397440
_STATISTICS_WRITING_APP: mkvmerge v68.0.0 ('The Curtain') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2022-11-27 18:24:58
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:3(pol): Audio: eac3, 48000 Hz, stereo, fltp, 128 kb/s
Metadata:
BPS : 128000
DURATION : 00:56:39.840000000
NUMBER_OF_FRAMES: 106245
NUMBER_OF_BYTES : 54397440
_STATISTICS_WRITING_APP: mkvmerge v68.0.0 ('The Curtain') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2022-11-27 18:24:58
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:4(cze): Subtitle: subrip (default)
Metadata:
BPS : 69
DURATION : 00:55:48.554000000
NUMBER_OF_FRAMES: 852
NUMBER_OF_BYTES : 29258
_STATISTICS_WRITING_APP: mkvmerge v68.0.0 ('The Curtain') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2022-11-27 18:24:58
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:5(ger): Subtitle: subrip (default)
Metadata:
BPS : 78
DURATION : 00:53:03.932000000
NUMBER_OF_FRAMES: 761
NUMBER_OF_BYTES : 31305
_STATISTICS_WRITING_APP: mkvmerge v68.0.0 ('The Curtain') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2022-11-27 18:24:58
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:6(ger): Subtitle: subrip (default)
Metadata:
BPS : 0
DURATION : 00:52:19.678000000
NUMBER_OF_FRAMES: 7
NUMBER_OF_BYTES : 361
_STATISTICS_WRITING_APP: mkvmerge v68.0.0 ('The Curtain') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2022-11-27 18:24:58
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:7(eng): Subtitle: subrip (default)
Metadata:
BPS : 77
DURATION : 00:53:18.570000000
NUMBER_OF_FRAMES: 948
NUMBER_OF_BYTES : 31117
_STATISTICS_WRITING_APP: mkvmerge v68.0.0 ('The Curtain') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2022-11-27 18:24:58
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:8(hun): Subtitle: subrip (default)
Metadata:
BPS : 66
DURATION : 00:55:48.679000000
NUMBER_OF_FRAMES: 853
NUMBER_OF_BYTES : 27791
_STATISTICS_WRITING_APP: mkvmerge v68.0.0 ('The Curtain') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2022-11-27 18:24:58
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:9(pol): Subtitle: subrip (default)
Metadata:
BPS : 67
DURATION : 00:55:46.143000000
NUMBER_OF_FRAMES: 769
NUMBER_OF_BYTES : 28256
_STATISTICS_WRITING_APP: mkvmerge v68.0.0 ('The Curtain') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2022-11-27 18:24:58
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:10(slo): Subtitle: subrip (default)
Metadata:
BPS : 67
DURATION : 00:55:46.051000000
NUMBER_OF_FRAMES: 848
NUMBER_OF_BYTES : 28301
_STATISTICS_WRITING_APP: mkvmerge v68.0.0 ('The Curtain') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2022-11-27 18:24:58
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (eac3 (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x555b6b8eba80] using SAR=1/1
[libx264 @ 0x555b6b8eba80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x555b6b8eba80] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x555b6b8eba80] 264 - core 160 r3011 cde9a93 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=2 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, hls, to '/config/transcodes/bdbe5804cc6e346935537e30bd5f90fe.m3u8':
Metadata:
encoder : Lavf59.27.100
Stream #0:0: Video: h264, yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 90k tbn (default)
Metadata:
encoder : Lavc59.37.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s
Metadata:
encoder : Lavc59.37.100 aac
frame= 1 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x
frame= 46 fps=0.0 q=0.0 size=N/A time=00:00:01.53 bitrate=N/A speed=2.53x
frame= 54 fps= 48 q=28.0 size=N/A time=00:00:01.79 bitrate=N/A speed= 1.6x
frame= 78 fps= 48 q=28.0 size=N/A time=00:00:02.85 bitrate=N/A speed=1.75x
frame= 100 fps= 47 q=28.0 size=N/A time=00:00:03.88 bitrate=N/A speed=1.82x
frame= 121 fps= 46 q=28.0 size=N/A time=00:00:04.77 bitrate=N/A speed= 1.8x
frame= 141 fps= 45 q=28.0 size=N/A time=00:00:05.56 bitrate=N/A speed=1.76x
frame= 161 fps= 44 q=28.0 size=N/A time=00:00:06.25 bitrate=N/A speed= 1.7x
frame= 180 fps= 43 q=28.0 size=N/A time=00:00:07.01 bitrate=N/A speed=1.68x
frame= 201 fps= 43 q=28.0 size=N/A time=00:00:08.55 bitrate=N/A speed=1.81x
frame= 231 fps= 44 q=28.0 size=N/A time=00:00:09.34 bitrate=N/A speed=1.79x
frame= 262 fps= 46 q=28.0 size=N/A time=00:00:10.60 bitrate=N/A speed=1.85x
frame= 289 fps= 46 q=28.0 size=N/A time=00:00:11.52 bitrate=N/A speed=1.85x
[hls @ 0x555b6b8fd400] Opening '/config/transcodes/bdbe5804cc6e346935537e30bd5f90fe0.ts' for writing
frame= 311 fps= 46 q=28.0 size=N/A time=00:00:12.54 bitrate=N/A speed=1.85x
frame= 336 fps= 46 q=25.0 size=N/A time=00:00:13.82 bitrate=N/A speed= 1.9x
[hls @ 0x555b6b8fd400] Opening '/config/transcodes/bdbe5804cc6e346935537e30bd5f90fe1.ts' for writing
Surprisingly, it is converting from h264 to h264 via software...
Maybe I missed it, but a setting that would change the default access for new users to false would be useful. I allow people on my server to invite friends, but often time those people don't need access to xtreme codes.
Currently, I am just looking for new users each day and turning off their access. Occasionally one will slip through and someone who shouldn't have live TV access is using it.
Implement a local sqlite cache database to solve provider-related issues and an indexed database for faster querying.
Goal:
DB Scheme:
TODO (post sqlite scheme here)
Wish list for channels:
Would it be possible to implement the ability for each Jellyfin account to have their own Xtream login?
The stream URL could be set by the admin in the plugin settings. However, each user could set their username and password in their local settings?
This would be ideal for limited concurrent connections and to allow multiple users to watch on the same platform.
A feature to use multiple sources/xtream codes accounts instead of just 1 at a time.
That way one can combine providers and choose channels from each
with Jellyfin 10.8 now released. It would be nice to support that as well
Hi there..
I love the plugin and it is so great compared to what I have tried before.. but Ian missing that I can search on series as well..
Seems it is only movies and channels and I get when I search in the top of jellyfin. Let me know if I should provide screenshot or logs.
Hello!
New Jellyfin user here. I have everything working except for my IPTV. The plugin is setup, authentication works, I can see my EPG and all the channels, but when I click on a show to watch it...nothing happens for about 3-4 minutes, then I get this popup:
"Playback Failed
Playback failed with error "loading failed". Retry with transcode? (Note this may hang the player.)" And I also get this error:
"This client isn't compatible with the media and the server isn't sending a compatible media format."
Any ideas??
Originally requested in #13 by @eqpaisley.
Jellyfin Ubuntu 20 server
Xtream plugin v 0.1.0.0
Feature Request to assign live TV like a Channel under the plugin, so that user access may be selected that way
Logic being that if the Catchup, Series and Movies come from 1 xtream playlist, the other things that don't fall under those sections may be classified as a Live channel.
Currently i can select users that have access to catchup, VOD channels, so maybe its possible to do same with Live TV?
Hello,
i have a Samsung Tizen TV with the Jellyfin App, and installed Jellyfin.Xtream AddOn.
I can watch IPTV over my Windows Jellyfin App and Browser, but over my Samsung TV i have always a Loadingscreen if i play a TV Channel.
Can any help me?
If I select all my tv series categories, I get nothing under xtreme series. If I select few categories, its hit and miss. I see nothing in some categories, empty season under titles, missing episodes, missing titles.
I am not sure which logs to share but attaching jellyfin log. https://raw.githubusercontent.com/ArjunZe/logs/main/log_20230228.log
Example series Supernatural and example category Discovery+.
Everything is in the title.
Concerning the subtitles, isn't there a way to engrave them or extract them? I don't really know how it works.
And for the users the mediatheques appear only for my main user, strangely enough .
thanks.
Hi,
Thanks for this awesome plugin, when I enable on specific categories in the plugin settings, all categories still show and it doesn't seem to still show. Also, I cant seem to find how the EPG is integrated? The default "Live TV" library is also still showing and has nothing inside of it? Is this correct?
Thanks
Hello does this plugin allow me to rewind like 7 Days back if my provider allow me 7 Days for e.g?
Or is there a planed feature for that?
Other question this plugin works for emby?
For example: The category in Xtreme is US Entertainment, a collection is created titled US Entertainment will all the selected channels in the US Entertainment Collection
I setup your app successfully on JF server.
I can play channels through browser.
I can play channels through Android app.
I can see the guide and select channels in Android TV app (on FTV Max) but playing the channel errors out.
Any ideas why?
Currently, the plugin uses channels for Live TV instead of the native Live TV. This choice has been made to ensure that Jellyfin can handle the amount of TV channels that some Xtream APIs provide. Until Live TV grouping has been implemented, this seems the best way forward.
However, in the settings panel a selection list can be added to include a limited set of IPTV categories in the native Live TV section.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.