TVHeadend: jellyfin-ffmpeg exits with 253 - IngwiePhoenix - 2024-11-07
Hello there!
I successfuly installed Jellyfin on my Radxa Rock 5 ITX (RK3558 and I use a small FriendlyElec Nano node to serve as a TVHeadend server with a DVB-S stick plugged in; it only has Ethernet, USB and Power, so it's perfect.
However, when i try to open a TV stream in Jellyfin, it is reported that ffmpeg exited with code 253. So, I grabbed the exact command from the logs and ran it myself to see what the output looked like.
On my instance, I do have some hardware accelerations enabled, so I bet this has something to do with it. But, my ffmpeg-fu is quite terrible.
Here is the log:
Code: root@0ce6505ce3a2:/# /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 3000000 -probesize 1G -i "http://192.168.1.8:9981/stream/channelid/694893686?ticket=8bf29d848c58cfe3f83b3cdc79e688c67abe6f79" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libsvtav1 -preset 10 -b:v 143626438 -bufsize 287252876 -profile:v:0 main -level 53 -svtav1-params:0 rc=1:tune=0:film-grain=0:enable-overlays=1:enable-tf=0 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,yadif=0:-1:0,format=yuv420p" -codec:a:0 libfdk_aac -ab 384000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "7240ebd99b28f2ec8c2145ae92f8034c-1.mp4" -start_number 0 -hls_base_url "hls/7240ebd99b28f2ec8c2145ae92f8034c/" -hls_segment_filename "/cache/transcodes/7240ebd99b28f2ec8c2145ae92f8034c%d.mp4" -hls_playlist_type event -hls_list_size 0 -y "/cache/transcodes/7240ebd99b28f2ec8c2145ae92f8034c.m3u8"
ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=arm64 --cross-prefix=/usr/bin/aarch64-linux-gnu- --toolchain=hardened --enable-cross-compile --enable-rkmpp --enable-rkrga
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
[mpeg2video @ 0xaaaade02c410] Invalid frame dimensions 0x0.
[mp3float @ 0xaaaade029060] Header missing
[mpeg2video @ 0xaaaade02c410] Invalid frame dimensions 0x0.
Last message repeated 4 times
[mpegts @ 0xaaaade0206b0] Could not find codec parameters for stream 4 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' (3000000) and 'probesize' (1000000000) options
Input #0, mpegts, from 'http://192.168.1.8:9981/stream/channelid/694893686?ticket=8bf29d848c58cfe3f83b3cdc79e688c67abe6f79':
Duration: N/A, start: 93936.023967, bitrate: N/A
Program 1
Metadata:
service_name : RTL Television
service_provider: RTL Deutschland
Stream #0:1[0x68](deu): Audio: mp2 (mp3float) ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:2[0x69](deu): Subtitle: dvb_teletext (libzvbi_teletextdec) ([6][0][0][0] / 0x0006), 492x250
Stream #0:3[0x6a](deu): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 384 kb/s
Stream #0:4[0x6c]: Unknown: none ([5][0][0][0] / 0x0005)
Stream #0:5[0x6e](deu): Subtitle: dvb_subtitle (dvbsub) ([6][0][0][0] / 0x0006) (hearing impaired)
Stream #0:6[0xa3]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt470bg, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn
Side data:
cpb: bitrate max/min/avg: 15000000/0/0 buffer size: 1835008 vbv_delay: N/A
No Program
Stream #0:0[0x12]: Data: epg
Stream mapping:
Stream #0:6 -> #0:0 (mpeg2video (native) -> av1 (libsvtav1))
Stream #0:1 -> #0:1 (mp2 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
[mp2 @ 0xaaaade067720] Header missing
[aist#0:1/mp2 @ 0xaaaade031350] [dec:mp2 @ 0xaaaade02fc90] Error submitting packet to decoder: Invalid data found when processing input
Svt[info]: -------------------------------------------
Svt[info]: SVT [version]: SVT-AV1 Encoder Lib v2.2.1
Svt[info]: SVT [build] : GCC 12.2.0 64 bit
Svt[info]: LIB Build date: Oct 25 2024 18:12:00
Svt[info]: -------------------------------------------
Svt[error]: Instance 1: The target bit rate must be between [0, 100000] kbps
[libsvtav1 @ 0xaaaade02c410] Error setting encoder parameters: bad parameter (0x80001005)
[vost#0:0/libsvtav1 @ 0xaaaade041f70] Error while opening encoder - maybe incorrect parameters such as bit_rate, rate, width or height.
[vf#0:0 @ 0xaaaade020120] Error sending frames to consumers: Invalid argument
[vf#0:0 @ 0xaaaade020120] Task finished with error code: -22 (Invalid argument)
[vf#0:0 @ 0xaaaade020120] Terminating thread with return code -22 (Invalid argument)
[vost#0:0/libsvtav1 @ 0xaaaade041f70] Could not open encoder before EOF
[vost#0:0/libsvtav1 @ 0xaaaade041f70] Task finished with error code: -22 (Invalid argument)
[vost#0:0/libsvtav1 @ 0xaaaade041f70] Terminating thread with return code -22 (Invalid argument)
[out#0/hls @ 0xaaaade02ebf0] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
Conversion failed!
Do you spot anything obvious here? In my configuration, I enabled these transcoding formats enabled: H264, HEVC, AV1, HEVC 10bit.
Thank you and kind regards,
Ingwie
RE: TVHeadend: jellyfin-ffmpeg exits with 253 - TheDreadPirate - 2024-11-07
Disable AV1 encoding (Allow encoding in AV1 format). The RK3558S only supports AV1 decoding.
RE: TVHeadend: jellyfin-ffmpeg exits with 253 - IngwiePhoenix - 2024-11-07
Hey @TheaDreadPirate !
Thanks - that definitively seemed to do something. But now I am stuck here:
Code: {"Protocol":1,"Id":"694893686","Path":"http://192.168.1.8:9981/stream/channelid/694893686?ticket=3e57a7d3b6ddb9e01a7ce98098ad07f85023d27a","EncoderPath":null,"EncoderProtocol":null,"Type":0,"Container":null,"Size":null,"Name":null,"IsRemote":false,"ETag":null,"RunTimeTicks":null,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":true,"UseMostCompatibleTranscodingProfile":false,"RequiresOpening":false,"OpenToken":null,"RequiresClosing":false,"LiveStreamId":null,"BufferMs":1500,"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,"Rotation":null,"Comment":null,"TimeBase":null,"CodecTimeBase":null,"Title":null,"VideoRange":1,"VideoRangeType":1,"VideoDoViTitle":null,"AudioSpatialFormat":0,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"LocalizedHearingImpaired":null,"DisplayTitle":"SDR","NalLengthSize":"0","IsInterlaced":true,"IsAVC":null,"ChannelLayout":null,"BitRate":null,"BitDepth":null,"RefFrames":null,"PacketLength":null,"Channels":null,"SampleRate":null,"IsDefault":false,"IsForced":false,"IsHearingImpaired":false,"Height":null,"Width":null,"AverageFrameRate":null,"RealFrameRate":null,"ReferenceFrameRate":null,"Profile":null,"Type":1,"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},{"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,"Rotation":null,"Comment":null,"TimeBase":null,"CodecTimeBase":null,"Title":null,"VideoRange":0,"VideoRangeType":0,"VideoDoViTitle":null,"AudioSpatialFormat":0,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"LocalizedHearingImpaired":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,"IsHearingImpaired":false,"Height":null,"Width":null,"AverageFrameRate":null,"RealFrameRate":null,"ReferenceFrameRate":null,"Profile":null,"Type":0,"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}],"MediaAttachments":[],"Formats":[],"Bitrate":null,"FallbackMaxStreamingBitrate":null,"Timestamp":null,"RequiredHttpHeaders":{},"TranscodingUrl":null,"TranscodingSubProtocol":0,"TranscodingContainer":null,"AnalyzeDurationMs":3000,"DefaultAudioStreamIndex":null,"DefaultSubtitleStreamIndex":null,"HasSegments":false}
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 3000000 -probesize 1G -init_hw_device rkmpp=rk -i "http://192.168.1.8:9981/stream/channelid/694893686?ticket=3e57a7d3b6ddb9e01a7ce98098ad07f85023d27a" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 h264_rkmpp -b:v 672531125 -maxrate 672531125 -bufsize 1345062250 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,yadif=0:-1:0,format=nv12" -flags -global_header -codec:a:0 libfdk_aac -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/25c41a76df735feb72b094797ba16020/" -hls_segment_filename "/cache/transcodes/25c41a76df735feb72b094797ba16020%d.ts" -hls_playlist_type event -hls_list_size 0 -y "/cache/transcodes/25c41a76df735feb72b094797ba16020.m3u8"
ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=arm64 --cross-prefix=/usr/bin/aarch64-linux-gnu- --toolchain=hardened --enable-cross-compile --enable-rkmpp --enable-rkrga
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
[mpeg2video @ 0xaaaace810460] Invalid frame dimensions 0x0.
Last message repeated 1 times
[mp3float @ 0xaaaace80d0b0] Header missing
[mpeg2video @ 0xaaaace810460] Invalid frame dimensions 0x0.
Last message repeated 8 times
[mpegts @ 0xaaaace8047a0] Could not find codec parameters for stream 4 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' (3000000) and 'probesize' (1000000000) options
Input #0, mpegts, from 'http://192.168.1.8:9981/stream/channelid/694893686?ticket=3e57a7d3b6ddb9e01a7ce98098ad07f85023d27a':
Duration: N/A, start: 22164.114278, bitrate: N/A
Program 1
Metadata:
service_name : RTL Television
service_provider: RTL Deutschland
Stream #0:1[0x68](deu): Audio: mp2 (mp3float) ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:2[0x69](deu): Subtitle: dvb_teletext (libzvbi_teletextdec) ([6][0][0][0] / 0x0006), 492x250
Stream #0:3[0x6a](deu): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 384 kb/s
Stream #0:4[0x6c]: Unknown: none ([5][0][0][0] / 0x0005)
Stream #0:5[0x6e](deu): Subtitle: dvb_subtitle (dvbsub) ([6][0][0][0] / 0x0006) (hearing impaired)
Stream #0:6[0xa3]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt470bg, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn
Side data:
cpb: bitrate max/min/avg: 15000000/0/0 buffer size: 1835008 vbv_delay: N/A
No Program
Stream #0:0[0x12]: Data: epg
Stream mapping:
Stream #0:6 -> #0:0 (mpeg2video (native) -> h264 (h264_rkmpp))
Stream #0:1 -> #0:1 (mp2 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
[mp2 @ 0xaaaace8c26b0] Header missing
[aist#0:1/mp2 @ 0xaaaace8153a0] [dec:mp2 @ 0xaaaace813ce0] Error submitting packet to decoder: Invalid data found when processing input
[h264_rkmpp @ 0xaaaace810460] Failed to set config: -6
[vost#0:0/h264_rkmpp @ 0xaaaace86f990] Error while opening encoder - maybe incorrect parameters such as bit_rate, rate, width or height.
[vf#0:0 @ 0xaaaace870230] Error sending frames to consumers: Generic error in an external library
[vf#0:0 @ 0xaaaace870230] Task finished with error code: -542398533 (Generic error in an external library)
[vf#0:0 @ 0xaaaace870230] Terminating thread with return code -542398533 (Generic error in an external library)
[vost#0:0/h264_rkmpp @ 0xaaaace86f990] Could not open encoder before EOF
[vost#0:0/h264_rkmpp @ 0xaaaace86f990] Task finished with error code: -22 (Invalid argument)
[vost#0:0/h264_rkmpp @ 0xaaaace86f990] Terminating thread with return code -22 (Invalid argument)
[out#0/hls @ 0xaaaace812c40] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
Conversion failed!
(forgot that Jellyfin stored the logs in .../config/logs/FFmpeg.* , so I'll just grab these.)
The main logs inform me about this:
Code: [2024-11-07 17:08:05.632 +00:00] [INF] [42] TVHeadEnd.AccessTicketHandler: [TVHclient] AccessTicketHandler.GetAccessTicket: New ticket (#"10") created for "channelId"="694893686"
[2024-11-07 17:08:05.634 +00:00] [INF] [42] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "IngwiePhoenix". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-11-07 17:08:05.693 +00:00] [ERR] [38] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/Items/7335ceaca30eea45df80a92487099eb6/Images/Primary".
System.Net.Http.HttpRequestException: Response status code does not indicate success: 401 (Unauthorized).
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken)
at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex, Boolean removeOnFailure)
at Jellyfin.Api.Controllers.ImageController.GetImageInternal(Guid itemId, ImageType imageType, Nullable`1 imageIndex, String tag, Nullable`1 format, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 percentPlayed, Nullable`1 unplayedCount, Nullable`1 width, Nullable`1 height, Nullable`1 quality, Nullable`1 fillWidth, Nullable`1 fillHeight, Nullable`1 blur, String backgroundColor, String foregroundLayer, BaseItem item, ItemImageInfo imageInfo)
at Jellyfin.Api.Controllers.ImageController.GetItemImage(Guid itemId, ImageType imageType, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 width, Nullable`1 height, Nullable`1 quality, Nullable`1 fillWidth, Nullable`1 fillHeight, String tag, Nullable`1 format, Nullable`1 percentPlayed, Nullable`1 unplayedCount, Nullable`1 blur, String backgroundColor, String foregroundLayer, Nullable`1 imageIndex)
at lambda_method1060(Closure, Object)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, 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 Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Jellyfin.Api.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.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
[2024-11-07 17:08:07.222 +00:00] [INF] [34] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 3000000 -probesize 1G -init_hw_device rkmpp=rk -i \"http://192.168.1.8:9981/stream/channelid/694893686?ticket=3e57a7d3b6ddb9e01a7ce98098ad07f85023d27a\" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 h264_rkmpp -b:v 672531125 -maxrate 672531125 -bufsize 1345062250 -vf \"setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,yadif=0:-1:0,format=nv12\" -flags -global_header -codec:a:0 libfdk_aac -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/25c41a76df735feb72b094797ba16020/\" -hls_segment_filename \"/cache/transcodes/25c41a76df735feb72b094797ba16020%d.ts\" -hls_playlist_type event -hls_list_size 0 -y \"/cache/transcodes/25c41a76df735feb72b094797ba16020.m3u8\""
[2024-11-07 17:08:11.876 +00:00] [ERR] [34] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 187
[2024-11-07 17:08:11.882 +00:00] [ERR] [62] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/videos/7335ceac-a30e-ea45-df80-a92487099eb6/live.m3u8".
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 187
at MediaBrowser.MediaEncoding.Transcoding.TranscodeManager.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, Guid userId, 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, Boolean enableAudioVbrEncoding, Boolean alwaysBurnInSubtitleWhenTranscoding)
at lambda_method1820(Closure, Object)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, 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 Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Jellyfin.Api.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.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
[2024-11-07 17:08:11.894 +00:00] [INF] [68] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) "/cache/transcodes/25c41a76df735feb72b094797ba16020.m3u8"
[2024-11-07 17:08:13.395 +00:00] [INF] [68] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Media Player" "1.11.1" playing "RTL Television". Stopped at "0" ms
I am confused as to what it is complaining about; it clearly sees the proper video dimensions - but perhaps the error message is just rather generic...
RE: TVHeadend: jellyfin-ffmpeg exits with 253 - TheDreadPirate - 2024-11-07
I'm not familiar with TVHeadend, but this error would indicate that Jellyfin isn't able to authenticate with the TVH server?
Code: System.Net.Http.HttpRequestException: Response status code does not indicate success: 401 (Unauthorized).
RE: TVHeadend: jellyfin-ffmpeg exits with 253 - IngwiePhoenix - 2024-11-07
I also went to look at the error codes, because I do know that -6 is an errno for missing files: https://gist.github.com/greggyNapalm/2413028#file-gistfile1-txt-L11
So, I double-checked:
Code: root@5aed3fec3148:/dev# file mpp* dri/* mali*
mpp_service: character special (241/0)
dri/card0: character special (226/0)
dri/card1: character special (226/1)
dri/renderD128: character special (226/128)
dri/renderD129: character special (226/129)
mali0: character special (10/120)
It's also mapped in compose.yaml via devices (I use Podman)
Sadly I did not find any info on what -6 is in the context of FFmpeg...
As for the authentication - it can, for some reason it ends up retrying. But it has the correct creds and TVH absolutely sees Jellyfin making a connection, grabbing a ticket, and streaming:
Code: Nov 07 17:38:33 tvboi tvheadend[1082]: subscription: CF82: "HTTP" subscribing on channel "RTL Television", weight: 100, adapter: "Montage Technology M88DS3103B #0 : DVB-S #0", network: "DVB-S Network", mux: "12187.5H", provider: "RTL Deutschland", service: "RTL Television", profile="pass", hostname="192.168.1.2", username="admin", client="Lavf/61.1.100"
Nov 07 17:38:37 tvboi tvheadend[1082]: subscription: CF82: "HTTP" unsubscribing from "RTL Television", hostname="192.168.1.2", username="admin", client="Lavf/61.1.100"
So I am ruling out authorization here. Besides, I tested with the same creds in my browser ^^
RE: TVHeadend: jellyfin-ffmpeg exits with 253 - TheDreadPirate - 2024-11-07
Can you share screenshots of the TVH server config?
RE: TVHeadend: jellyfin-ffmpeg exits with 253 - IngwiePhoenix - 2024-11-07
Sure! I put the TVH and transcoding config in here: https://imgur.com/a/nlSYvQa
RE: TVHeadend: jellyfin-ffmpeg exits with 253 - TheDreadPirate - 2024-11-07
I meant on the actual TVH side. Not the TVH plugin in Jellyfin.
RE: TVHeadend: jellyfin-ffmpeg exits with 253 - IngwiePhoenix - 2024-11-07
Oh! Sure. I'll grab everything related to streaming then!
Screenshots: https://imgur.com/a/4i5ys2V
And, since it's not in the screenshot, everything is basically on default (except the DVB config, but that part is both confirmed working and usually rather individual depending on device and stuff)
Further:
Code: # /var/lib/tvheadend/config
{
"server_name": "tvboi",
"version": 24,
"full_version": "4.3-2370~g28de5c092",
"language_ui": "eng",
"theme_ui": "access",
"ui_quicktips": true,
"uilevel": 2,
"uilevel_nochange": true,
"caclient_ui": false,
"info_area": [
"login",
"storage",
"time"
],
"chname_num": true,
"chname_src": false,
"date_mask": "",
"label_formatting": false,
"language": [
"ger",
"eng"
],
"epg_compress": true,
"epg_cutwindow": 300,
"epg_window": 86400,
"prefer_picon": true,
"chiconscheme": 0,
"piconpath": "https://marhycz.github.io/picons/1024/%C.png",
"piconscheme": 0,
"http_server_name": "HTS/tvheadend",
"http_realm_name": "tvheadend",
"digest": 1,
"digest_algo": 0,
"cookie_expires": 7,
"ticket_expires": 300,
"proxy": true,
"cors_origin": "*",
"hdhomerun_ip": "",
"local_ip": "",
"local_port": 0,
"hdhomerun_server_tuner_count": 0,
"hdhomerun_server_enable": true,
"http_user_agent": "TVHeadend/4.3-2370~g28de5c092",
"iptv_tpool": 3,
"dscp": -1,
"descrambler_buffer": 9000,
"parser_backlog": false,
"hbbtv": true,
"tvhtime_update_enabled": false,
"tvhtime_ntp_enabled": false,
"tvhtime_tolerance": 5000,
"satip_uuid": "4f97a9da-0f72-4c58-eeb5-feedef7b48a5",
"satip_rtsp": 9983,
"satip_anonymize": false,
"satip_noupnp": false,
"satip_weight": 100,
"satip_remote_weight": true,
"satip_descramble": 1,
"satip_muxcnf": 0,
"satip_rtptcpsize": 42,
"satip_nat_rtsp": 0,
"satip_nat_name_force": false,
"satip_iptv_sig_level": 220,
"force_sig_level": 0,
"satip_dvbs": 1,
"satip_dvbs2": 0,
"satip_dvbt": 0,
"satip_dvbt2": 0,
"satip_dvbc": 0,
"satip_dvbc2": 0,
"satip_atsct": 0,
"satip_atscc": 0,
"satip_isdbt": 0,
"satip_max_sessions": 0,
"satip_max_user_connections": 0,
"satip_rewrite_pmt": false,
"satip_nom3u": false,
"satip_notcp_mode": false,
"satip_restrict_pids_all": false,
"satip_drop_fe": false
}
Anything else? ^^
RE: TVHeadend: jellyfin-ffmpeg exits with 253 - TheDreadPirate - 2024-11-07
Are you using host networking for the jellyfin container? Or bridge networking?
|