Giter VIP home page Giter VIP logo

Comments (8)

Reno4212 avatar Reno4212 commented on July 28, 2024 2

I had the same problem.

The following patch (based on 10.8.10) resolve the issue. Didn't noticed any side effect.

--- a/Jellyfin.Api/Helpers/StreamingHelpers.cs
+++ b/Jellyfin.Api/Helpers/StreamingHelpers.cs
@@ -240,9 +240,20 @@ namespace Jellyfin.Api.Helpers
 
             ApplyDeviceProfileSettings(state, dlnaManager, deviceManager, httpRequest, streamingRequest.DeviceProfileId, streamingRequest.Static);
 
             var ext = string.IsNullOrWhiteSpace(state.OutputContainer)
                 ? GetOutputFileExtension(state, mediaSource)
                 : ("." + state.OutputContainer);
+            ext = ext.AsSpan().LeftPart('?').ToString();
 
             state.OutputFilePath = GetOutputFilePath(state, ext!, serverConfigurationManager, streamingRequest.DeviceId, streamingRequest.PlaySessionId);

from jellyfin-plugin-dlna.

Diveenn avatar Diveenn commented on July 28, 2024 1

@Reno4212 could you submit a PR with your patch please ?

from jellyfin-plugin-dlna.

aubierr avatar aubierr commented on July 28, 2024 1

Will the solution be integrated?

from jellyfin-plugin-dlna.

jellyfin-bot avatar jellyfin-bot commented on July 28, 2024

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

from jellyfin-plugin-dlna.

aubierr avatar aubierr commented on July 28, 2024

Same problem for me

Logs

[2023-05-06 05:40:22.284 +00:00] [INF] [21] Jellyfin.Api.Helpers.TranscodingJobHelper: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -fflags +genpts -f matroska,webm  -i file:\"/sharefolder/Public/Serie/Solar Opposites/Saison 1/Solar.Opposites.S01E05.FRENCH.720p.WEB.H264-STRINGERBELL.mkv\" -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -map_metadata -1 -map_chapters -1 -threads 0 -codec:a:0 copy -y \"/config/transcodes/f7f696d28ccded902b2fc5b775f359ab.mkv?deviceprofileid=5810f6c1a0594936a7636665882ed623&deviceid=test&mediasourceid=b7552b46b77fc58be9d2cf26d3ece5b9&static=true&videocodec=h264&audiocodec=eac3&audiostreamindex=1&subtitlestreamindex=2&subtitlemethod=embed&tag=1c308a847125a59cfe227efcd40e1969&dlnaheaders=true\""
[2023-05-06 05:40:22.451 +00:00] [ERR] [26] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 1
[2023-05-06 05:40:22.543 +00:00] [ERR] [26] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/videos/b7552b46-b77f-c58b-e9d2-cf26d3ece5b9/stream.mkv%3FDeviceProfileId=5810f6c1a0594936a7636665882ed623&DeviceId=test&MediaSourceId=b7552b46b77fc58be9d2cf26d3ece5b9&Static=true&VideoCodec=h264&AudioCodec=eac3&AudioStreamIndex=1&SubtitleStreamIndex=2&SubtitleMethod=Embed&Tag=1c308a847125a59cfe227efcd40e1969&dlnaheaders=true".
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.Helpers.FileStreamResponseHelpers.GetTranscodedFile(StreamState state, Boolean isHeadRequest, HttpContext httpContext, TranscodingJobHelper transcodingJobHelper, String ffmpegCommandLineArguments, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource)
   at Jellyfin.Api.Controllers.VideosController.GetVideoStream(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 maxWidth, Nullable`1 maxHeight, 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)
   at lambda_method1704(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.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 Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)

FFmpeg Logs

/videos/b7552b46-b77f-c58b-e9d2-cf26d3ece5b9/stream.mkv%3FDeviceProfileId=5810f6c1a0594936a7636665882ed623&DeviceId=test&MediaSourceId=b7552b46b77fc58be9d2cf26d3ece5b9&Static=true&VideoCodec=h264&AudioCodec=eac3&AudioStreamIndex=1&SubtitleStreamIndex=2&SubtitleMethod=Embed&Tag=1c308a847125a59cfe227efcd40e1969&dlnaheaders=true

{"Protocol":0,"Id":"b7552b46b77fc58be9d2cf26d3ece5b9","Path":"/sharefolder/Public/Serie/Solar Opposites/Saison 1/Solar.Opposites.S01E05.FRENCH.720p.WEB.H264-STRINGERBELL.mkv","EncoderPath":null,"EncoderProtocol":null,"Type":0,"Container":"mkv,webm","Size":497165395,"Name":"Solar.Opposites.S01E05.FRENCH.720p.WEB.H264-STRINGERBELL","IsRemote":false,"ETag":"1c308a847125a59cfe227efcd40e1969","RunTimeTicks":13610239999,"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":0,"IsoType":null,"Video3DFormat":null,"MediaStreams":[{"Codec":"h264","CodecTag":null,"Language":null,"ColorRange":null,"ColorSpace":"bt709","ColorTransfer":"bt709","ColorPrimaries":"bt709","DvVersionMajor":null,"DvVersionMinor":null,"DvProfile":null,"DvLevel":null,"RpuPresentFlag":null,"ElPresentFlag":null,"BlPresentFlag":null,"DvBlSignalCompatibilityId":null,"Comment":null,"TimeBase":"1/1000","CodecTimeBase":null,"Title":null,"VideoRange":"SDR","VideoRangeType":"SDR","VideoDoViTitle":null,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"DisplayTitle":"720p H264 SDR","NalLengthSize":"4","IsInterlaced":false,"IsAVC":true,"ChannelLayout":null,"BitRate":2922302,"BitDepth":8,"RefFrames":1,"PacketLength":null,"Channels":null,"SampleRate":null,"IsDefault":true,"IsForced":false,"Height":720,"Width":1280,"AverageFrameRate":23.976025,"RealFrameRate":23.976025,"Profile":"High","Type":1,"AspectRatio":"16:9","Index":0,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":"yuv420p","Level":31,"IsAnamorphic":null},{"Codec":"eac3","CodecTag":null,"Language":"fre","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":"1/1000","CodecTimeBase":null,"Title":"French","VideoRange":null,"VideoRangeType":null,"VideoDoViTitle":null,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"DisplayTitle":"French - Dolby Digital\u002B - 5.1 - Default","NalLengthSize":null,"IsInterlaced":false,"IsAVC":null,"ChannelLayout":"5.1","BitRate":256000,"BitDepth":null,"RefFrames":null,"PacketLength":null,"Channels":6,"SampleRate":48000,"IsDefault":true,"IsForced":false,"Height":null,"Width":null,"AverageFrameRate":null,"RealFrameRate":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":0,"IsAnamorphic":null},{"Codec":"subrip","CodecTag":null,"Language":"fre","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":"1/1000","CodecTimeBase":null,"Title":"French (Forced)","VideoRange":null,"VideoRangeType":null,"VideoDoViTitle":null,"LocalizedUndefined":"Non d\u00E9fini","LocalizedDefault":"Par d\u00E9faut","LocalizedForced":"Forc\u00E9","LocalizedExternal":"External","DisplayTitle":"French (Forced) - Par d\u00E9faut - Forc\u00E9 - SUBRIP","NalLengthSize":null,"IsInterlaced":false,"IsAVC":null,"ChannelLayout":null,"BitRate":null,"BitDepth":null,"RefFrames":null,"PacketLength":null,"Channels":null,"SampleRate":null,"IsDefault":true,"IsForced":true,"Height":null,"Width":null,"AverageFrameRate":null,"RealFrameRate":null,"Profile":null,"Type":2,"AspectRatio":null,"Index":2,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":true,"SupportsExternalStream":true,"Path":null,"PixelFormat":null,"Level":0,"IsAnamorphic":null},{"Codec":"subrip","CodecTag":null,"Language":"fre","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":"1/1000","CodecTimeBase":null,"Title":"French","VideoRange":null,"VideoRangeType":null,"VideoDoViTitle":null,"LocalizedUndefined":"Non d\u00E9fini","LocalizedDefault":"Par d\u00E9faut","LocalizedForced":"Forc\u00E9","LocalizedExternal":"External","DisplayTitle":"French - SUBRIP","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":2,"AspectRatio":null,"Index":3,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":true,"SupportsExternalStream":true,"Path":null,"PixelFormat":null,"Level":0,"IsAnamorphic":null},{"Codec":"subrip","CodecTag":null,"Language":"eng","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":"1/1000","CodecTimeBase":null,"Title":"English (SDH)","VideoRange":null,"VideoRangeType":null,"VideoDoViTitle":null,"LocalizedUndefined":"Non d\u00E9fini","LocalizedDefault":"Par d\u00E9faut","LocalizedForced":"Forc\u00E9","LocalizedExternal":"External","DisplayTitle":"English (SDH) - SUBRIP","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":2,"AspectRatio":null,"Index":4,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":true,"SupportsExternalStream":true,"Path":null,"PixelFormat":null,"Level":0,"IsAnamorphic":null}],"MediaAttachments":[],"Formats":[],"Bitrate":3178302,"Timestamp":null,"RequiredHttpHeaders":{},"TranscodingUrl":null,"TranscodingSubProtocol":null,"TranscodingContainer":null,"AnalyzeDurationMs":null,"DefaultAudioStreamIndex":null,"DefaultSubtitleStreamIndex":null}

/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -fflags +genpts -f matroska,webm  -i file:"/sharefolder/Public/Serie/Solar Opposites/Saison 1/Solar.Opposites.S01E05.FRENCH.720p.WEB.H264-STRINGERBELL.mkv" -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -map_metadata -1 -map_chapters -1 -threads 0 -codec:a:0 copy -y "/config/transcodes/f7f696d28ccded902b2fc5b775f359ab.mkv?deviceprofileid=5810f6c1a0594936a7636665882ed623&deviceid=test&mediasourceid=b7552b46b77fc58be9d2cf26d3ece5b9&static=true&videocodec=h264&audiocodec=eac3&audiostreamindex=1&subtitlestreamindex=2&subtitlemethod=embed&tag=1c308a847125a59cfe227efcd40e1969&dlnaheaders=true"


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 'file:/sharefolder/Public/Serie/Solar Opposites/Saison 1/Solar.Opposites.S01E05.FRENCH.720p.WEB.H264-STRINGERBELL.mkv':
  Metadata:
    encoder         : libebml v1.4.2 + libmatroska v1.6.4
    creation_time   : 2021-03-12T12:23:24.000000Z
  Duration: 00:22:41.02, start: 0.000000, bitrate: 2922 kb/s
  Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
    Metadata:
      BPS-eng         : 2664755
      DURATION-eng    : 00:22:40.651000000
      NUMBER_OF_FRAMES-eng: 32623
      NUMBER_OF_BYTES-eng: 453225240
      _STATISTICS_WRITING_APP-eng: mkvmerge v55.0.0 ('Waiting For Space') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-03-12 12:23:24
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:1(fre): Audio: eac3, 48000 Hz, 5.1(side), fltp, 256 kb/s (default)
    Metadata:
      title           : French
      BPS-eng         : 256000
      DURATION-eng    : 00:22:41.024000000
      NUMBER_OF_FRAMES-eng: 42532
      NUMBER_OF_BYTES-eng: 43552768
      _STATISTICS_WRITING_APP-eng: mkvmerge v55.0.0 ('Waiting For Space') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-03-12 12:23:24
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:2(fre): Subtitle: subrip (default) (forced)
    Metadata:
      title           : French (Forced)
      BPS-eng         : 3
      DURATION-eng    : 00:21:33.500000000
      NUMBER_OF_FRAMES-eng: 22
      NUMBER_OF_BYTES-eng: 517
      _STATISTICS_WRITING_APP-eng: mkvmerge v55.0.0 ('Waiting For Space') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-03-12 12:23:24
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:3(fre): Subtitle: subrip
    Metadata:
      title           : French
      BPS-eng         : 120
      DURATION-eng    : 00:21:33.500000000
      NUMBER_OF_FRAMES-eng: 470
      NUMBER_OF_BYTES-eng: 19495
      _STATISTICS_WRITING_APP-eng: mkvmerge v55.0.0 ('Waiting For Space') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-03-12 12:23:24
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:4(eng): Subtitle: subrip
    Metadata:
      title           : English (SDH)
      BPS-eng         : 134
      DURATION-eng    : 00:21:28.955000000
      NUMBER_OF_FRAMES-eng: 524
      NUMBER_OF_BYTES-eng: 21647
      _STATISTICS_WRITING_APP-eng: mkvmerge v55.0.0 ('Waiting For Space') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-03-12 12:23:24
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
[NULL @ 0x55b95268d980] Unable to find a suitable output format for '/config/transcodes/f7f696d28ccded902b2fc5b775f359ab.mkv?deviceprofileid=5810f6c1a0594936a7636665882ed623&deviceid=test&mediasourceid=b7552b46b77fc58be9d2cf26d3ece5b9&static=true&videocodec=h264&audiocodec=eac3&audiostreamindex=1&subtitlestreamindex=2&subtitlemethod=embed&tag=1c308a847125a59cfe227efcd40e1969&dlnaheaders=true'
/config/transcodes/f7f696d28ccded902b2fc5b775f359ab.mkv?deviceprofileid=5810f6c1a0594936a7636665882ed623&deviceid=test&mediasourceid=b7552b46b77fc58be9d2cf26d3ece5b9&static=true&videocodec=h264&audiocodec=eac3&audiostreamindex=1&subtitlestreamindex=2&subtitlemethod=embed&tag=1c308a847125a59cfe227efcd40e1969&dlnaheaders=true: Invalid argument

Server System (please complete the following information):

OS: Docker container : NAS Asustor
Jellyfin Version: 10.8.10

Client System (please complete the following information):

Device: Orange TV decoder
[Website]( - https://assistance.orange.fr/equipement/tv/decodeur-tv-uhd-sagemcom)

from jellyfin-plugin-dlna.

Sefofo avatar Sefofo commented on July 28, 2024

Hi,

Same here, I'm wondering if output path is intended

/config/data/transcodes/24490dceefadd431b6363dd415fa2166.avi?deviceprofileid=ee85865999fa41798528994a73646564&deviceid=test&mediasourceid=b72a45c
d1c1eced065db27fa88f33d94&static=true&videocodec=mpeg4&audiocodec=mp3&audiostreamindex=1&tag=ba11705917e0a414525bf8bc820b9a2c&dlnaheaders=true

Parameters seems inherited from xml sent by jellyfin:

<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item restricted="1" id="b72a45cd1c1eced065db27fa88f33d94" parentID="movies_f137a2dd21bbc1b99aa5c0f6bf02a805"><dc:title>blablabla</dc:title><upnp:class>object.item.videoItem.movie</upnp:class><dc:date>2002-02-19</dc:date><upnp:genre>Familial</upnp:genre><upnp:genre>Comédie</upnp:genre><upnp:publisher>Soyouz Films</upnp:publisher><upnp:publisher>StudioCanal</upnp:publisher><upnp:publisher>Canal+</upnp:publisher><upnp:publisher>Ciné+</upnp:publisher><dc:description>blablabla</dc:description><upnp:actor>blablabla</upnp:actor><upnp:actor>blablabla</upnp:actor><upnp:actor>blablabla</upnp:actor><upnp:actor>blablabla</upnp:actor><upnp:actor>blablabla</upnp:actor><upnp:actor>blablabla</upnp:actor><res duration="01:37:49.6155136" size="728963776" nrAudioChannels="2" resolution="720x304" sampleFrequency="48000" bitrate="987686" protocolInfo="http-get:*:video/x-msvideo:DLNA.ORG_PN=AVI;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=21D00000000000000000000000000000">http://192.168.1.5:8096/videos/b72a45cd-1c1e-ced0-65db-27fa88f33d94/stream.avi?DeviceProfileId=278eacb7caa14b249e044c312f41ed25&amp;amp;DeviceId=test&amp;amp;MediaSourceId=b72a45cd1c1eced065db27fa88f33d94&amp;amp;Static=true&amp;amp;VideoCodec=mpeg4&amp;amp;AudioCodec=mp3&amp;amp;AudioStreamIndex=1&amp;amp;Tag=ba11705917e0a414525bf8bc820b9a2c&amp;amp;dlnaheaders=true&lt;/res&gt;&lt;upnp:albumArtURI...

Compared to minidlna:

<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/">
<item id="2$15$0$0$0" parentID="2$15$0$0" restricted="1" refID="64$0$0$0"><dc:title>blablabla</dc:title><upnp:class>object.item.videoItem</upnp:class><dc:creator>DiVX</dc:creator><dc:date>2023-05-10T18:05:33</dc:date><res size="728963746" duration="1:37:49.615" bitrate="124192" sampleFrequency="48000" nrAudioChannels="2" resolution="720x304" protocolInfo="http-get:*:video/avi:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000">http://192.168.1.5:8200/MediaItems/23.avi&lt;/res&gt;&lt;/item&gt;&lt;/DIDL-Lite>

Why jellyfin add ?DeviceProfileId=278eacb7caa14b249e044c312f41ed25&amp;amp;DeviceId=test&amp;amp;MediaSourceId=b72a45cd1c1eced065db27fa88f33d94&amp;amp;Static=true&amp;amp;VideoCodec=mpeg4&amp;amp;AudioCodec=mp3&amp;amp;AudioStreamIndex=1&amp;amp;Tag=ba11705917e0a414525bf8bc820b9a2c&amp;amp;dlnaheaders=true to media url ?

Best regards

from jellyfin-plugin-dlna.

Sefofo avatar Sefofo commented on July 28, 2024

Interesting, here is 2 GET:

VLC (working)

/videos/b72a45cd-1c1e-ced0-65db-27fa88f33d94/stream.avi?DeviceProfileId=7d342edc68304269831647a23b6785cd&DeviceId=test&MediaSourceId=b72a45cd1c1eced065db27fa88f33d94&Static=true&VideoCodec=mpeg4&AudioCodec=mp3&AudioStreamIndex=1&Tag=ba11705917e0a414525bf8bc820b9a2c&dlnaheaders=true

TV Decoder (doesn't work)

/videos/b72a45cd-1c1e-ced0-65db-27fa88f33d94/stream.avi%3FDeviceProfileId%3D278eacb7caa14b249e044c312f41ed25%26DeviceId%3Dtest%26MediaSourceId%3Db72a45cd1c1eced065db27fa88f33d94%26Static%3Dtrue%26VideoCodec%3Dmpeg4%26AudioCodec%3Dmp3%26AudioStreamIndex%3D1%26Tag%3Dba11705917e0a414525bf8bc820b9a2c%26dlnaheaders%3Dtrue

TV decoder is encoding url parameters. Is Jellyfin able to decode encoded url ?

from jellyfin-plugin-dlna.

Vebryn avatar Vebryn commented on July 28, 2024

Hi,

Same here, I try to create a dlna profile with this option:

image

I expect a DIDL with object.item.videoItem instead of object.item.videoItem.movie. Wrong class is used:

"<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/\" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/\">SOAP-ENV:Body<u:BrowseResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1"><DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/\" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item restricted="1" id="b72a45cd1c1eced065db27fa88f33d94" parentID="movies_f137a2dd21bbc1b99aa5c0f6bf02a805"><dc:title>xxx</dc:title><upnp:class>object.item.videoItem.movie</upnp:class><dc:date>2020-02-19</dc:date><upnp:genre>Familial</upnp:genre><upnp:genre>Comédie</upnp:genre><...<res duration="01:37:49.6155136" size="728963776" nrAudioChannels="2" resolution="720x304" sampleFrequency="48000" bitrate="987686" protocolInfo="http-get:*:video/x-msvideo:DLNA.ORG_PN=AVI;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=21D00000000000000000000000000000">http://192.168.1.5:8096/videos/b72a45cd-1c1e-ced0-65db-27fa88f33d94/stream.avi?DeviceProfileId=d9373277a1cc489c9a867c33f3b73a09&amp;amp;DeviceId=test&amp;amp;MediaSourceId=b72a45cd1c1eced065db27fa88f33d94&amp;amp;Static=true&amp;amp;VideoCodec=mpeg4&amp;amp;AudioCodec=mp3&amp;amp;AudioStreamIndex=1&amp;amp;Tag=ba11705917e0a414525bf8bc820b9a2c&amp;amp;dlnaheaders=true&lt;/res&gt;&lt;upnp:albumArtURI dlna:profileID="JPEG_SM">http://192.168.1.5:8096/Items/b72a45cd1c1eced065db27fa88f33d94/Images/Primary/0/03e271afe3db1f00fd877a9518730918/jpg/480/480/0/0&lt;/upnp:albumArtURI&gt;&lt;upnp:icon&gt;http://192.168.1.5:8096/Items/b72a45cd1c1eced065db27fa88f33d94/Images/Primary/0/03e271afe3db1f00fd877a9518730918/jpg/48/48/0/0&lt;/upnp:icon&gt;&lt;/item&gt;&lt;item restricted="1" id="e704208811420e0b767253e6406931f5" parentID="movies_f137a2dd21bbc1b99aa5c0f6bf02a805"><

My profile is applied to my device:

[2023-05-28 22:22:52.417 +02:00] [DBG] [25] Emby.Dlna.Main.DlnaEntryPoint: Attempting to create PlayToController from location http://192.168.1.193:42300/description.xml
[2023-05-28 22:22:52.568 +02:00] [DBG] [51] Emby.Dlna.Main.DlnaEntryPoint: Dlna Device.Start
[2023-05-28 22:22:52.581 +02:00] [DBG] [51] Emby.Dlna.DlnaManager: Found matching device profile: "Décodeur TV UHD"
[2023-05-28 22:22:52.584 +02:00] [INF] [51] Emby.Dlna.Main.DlnaEntryPoint: DLNA Session created for "Décodeur TV UHD" - "SoftAtHome Media Renderer"

I see an error on GetCurrentConnectionIDs reception:

[2023-05-28 22:23:03.814 +02:00] [DBG] [99] Emby.Dlna.ConnectionManager.ConnectionManagerService: Received control request "GetCurrentConnectionIDs", params: []
[2023-05-28 22:23:03.816 +02:00] [ERR] [99] Emby.Dlna.ConnectionManager.ConnectionManagerService: Error processing control request
MediaBrowser.Common.Extensions.ResourceNotFoundException: Unexpected control request name: GetCurrentConnectionIDs
at Emby.Dlna.ConnectionManager.ControlHandler.WriteResult(String methodName, IReadOnlyDictionary`2 methodParams, XmlWriter xmlWriter)
at Emby.Dlna.Service.BaseControlHandler.CreateControlResponse(ControlRequestInfo requestInfo)
at Emby.Dlna.Service.BaseControlHandler.ProcessControlRequestInternalAsync(ControlRequest request)
at Emby.Dlna.Service.BaseControlHandler.ProcessControlRequestAsync(ControlRequest request)

On movie listing:

[2023-05-28 22:23:25.437 +02:00] [DBG] [84] Emby.Dlna.ContentDirectory.ContentDirectoryService: Received control request "Browse", params: [("ObjectID": "movies_f137a2dd21bbc1b99aa5c0f6bf02a805"), ("BrowseFlag": "BrowseDirectChildren"), ("Filter": "*"), ("StartingIndex": "0"), ("RequestedCount": "20"), ("SortCriteria": "+upnp:class,+dc:title")]
[2023-05-28 22:23:25.749 +02:00] [DBG] [84] Emby.Dlna.ContentDirectory.ContentDirectoryService: Profile: "Generic Device", Path: "/data/movies/xxx.avi", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2023-05-28 22:23:25.925 +02:00] [DBG] [84] Emby.Dlna.ContentDirectory.ContentDirectoryService: DirectPlay Result for Profile: "Generic Device", Path: "/data/movies/xxx.avi", PlayMethod: DirectPlay, AudioStreamIndex: 1, SubtitleStreamIndex: null, Reasons: 0
[2023-05-28 22:23:26.039 +02:00] [INF] [84] Emby.Dlna.ContentDirectory.ContentDirectoryService: StreamBuilder.BuildVideoItem( Profile="Generic Device", Path="/data/movies/xxx.avi", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/b72a45cd-1c1e-ced0-65db-27fa88f33d94/stream.avi?MediaSourceId=b72a45cd1c1eced065db27fa88f33d94&Static=true&VideoCodec=mpeg4&AudioCodec=mp3&AudioStreamIndex=1&api_key=&Tag=ba11705917e0a414525bf8bc820b9a2c"
[2023-05-28 22:23:26.140 +02:00] [DBG] [84] Emby.Dlna.ContentDirectory.ContentDirectoryService: Profile: "Generic Device", Path: "/data/movies/xxx.avi", isEligibleForDirectPlay: True, isEligibleForDirectStream: True

from jellyfin-plugin-dlna.

Related Issues (20)

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.