Jellyfin Transcoding Error

weyon

Benutzer
Mitglied seit
17. Apr 2017
Beiträge
697
Punkte für Reaktionen
91
Punkte
48
Hallo,
ich habe die aktuelle Jellyfin auf meiner DS1520+ installiert. Läuft auch sehr gut. Nur wenn ich Transcoding einschalte (Quicksync) spielt er einige Filme problemlos ab, bei anderen kommt die Fehlermeldung Wiedergabefehler. Anbei Screenshots der Codecinfos des betroffenen Films (3ways) und eines anderen Films (300) mit dem gleichen Codec. Auch die Logdatei ist hier. Vielen Dank schonmal für eure Hilfe.

Bin dieser Anleitung gefolgt:
https://mariushosting.com/how-to-install-jellyfin-with-hardware-transcoding-on-your-synology-nas/

start_at_zero -codec:a:0 libfdk_aac -ac 2 -ab 256000 -af \"volume=2\" -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 \"2f0ea82d4bce73519dad98b180d5899c-1.mp4\" -start_number 0 -hls_segment_filename \"/volume2/@appdata/jellyfin/cache/transcodes/2f0ea82d4bce73519dad98b180d5899c%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"/volume2/@appdata/jellyfin/cache/transcodes/2f0ea82d4bce73519dad98b180d5899c.m3u8\""
[2024-08-28 21:07:02.566 +02:00] [ERR] [26] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 1
[2024-08-28 21:07:02.655 +02:00] [ERR] [26] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/videos/94d4176f-c772-19fd-1f11-7503ceec2f81/hls1/main/-1.mp4".
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
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.GetDynamicSegment(StreamingRequestDto streamingRequest, Int32 segmentId)
at Jellyfin.Api.Controllers.DynamicHlsController.GetHlsVideoSegment(Guid itemId, String playlistId, Int32 segmentId, String container, Int64 runtimeTicks, Int64 actualSegmentLengthTicks, 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_method1265(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-08-28 21:07:03.165 +02:00] [INF] [25] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) "/volume2/@appdata/jellyfin/cache/transcodes/2f0ea82d4bce73519dad98b180d5899c.m3u8"
[2024-08-28 21:07:04.665 +02:00] [INF] [32] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.9.7" playing "3 Days to Kill". Stopped at "0" ms
 

Anhänge

  • 3days.png
    3days.png
    85,6 KB · Aufrufe: 8
  • 300.png
    300.png
    91 KB · Aufrufe: 8
  • error.png
    error.png
    18,1 KB · Aufrufe: 8
Zuletzt bearbeitet:

matrixpro

Benutzer
Mitglied seit
06. Mai 2024
Beiträge
47
Punkte für Reaktionen
7
Punkte
8
Jelly ist glaube ich ähnlich wie emby? Ich kann aus mehr Erfahrung mit emby sagen. Stelle das transcodieren aus. Sofern du über einen Upload von min 25mbit hast. Im LAN braucht man es eh nicht.
Bei emby kann man im Menü die streaming Qualität einstellen. Stelle dort alles auf max. So sollte alles im direkt play laufen, und somit braucht man kein transcodieren.
Zumindest läuft es bei mir so allerdings mit 56mbit Upload. Egal ob bei meiner Freundin oder unterwegs egal ob 480p oder 4k alles in direkt play. Eventuell bringt es etwas bei dir.
 

weyon

Benutzer
Mitglied seit
17. Apr 2017
Beiträge
697
Punkte für Reaktionen
91
Punkte
48
Wenn ich transcoding ausschalte kann nur einer etwas schauen, da die CPU Last dann bei fast 100% ist, und bei mir schauen teilweise 3 oder 4 gleichzeitig (von extern). Das geht leider garnicht 😥
 

ctrlaltdelete

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
14.040
Punkte für Reaktionen
6.050
Punkte
569
Ich bin deshalb von jellyfin zu Plex gewechselt.
Hast wirklich alles genau so eingestellt wie in der Anleitung von Marius?
Edit: Den Plexpass braucht nur der Server, ich würde es mal testen mit einem Monatspass, evtl. gibt es ja auch einen Testzeitraum
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Tuxnet

weyon

Benutzer
Mitglied seit
17. Apr 2017
Beiträge
697
Punkte für Reaktionen
91
Punkte
48
Ja, exakt wie in der Anleitung. Plex habe ich parallel am laufen, mit Plex Monatspass im Testzeitraum. Sofern es keine Lösung fur das Transcoding gibt, wird Plex verwendet. Dann da läuft es ohne Probleme.
 

ctrlaltdelete

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
14.040
Punkte für Reaktionen
6.050
Punkte
569
Das transcoding und die Covers waren mein Grund zu Plex zu wechseln.
 

synfor

Benutzer
Sehr erfahren
Mitglied seit
22. Dez 2017
Beiträge
9.160
Punkte für Reaktionen
1.651
Punkte
308
Wenn ich transcoding ausschalte kann nur einer etwas schauen, da die CPU Last dann bei fast 100% ist,
Da hast du wohl nur die Hardwarebeschleunigung statt das Transcoding deaktiviert. Mit abgeschaltetem Transcoding schiebt die CPU nur die blanken Daten übers Netzwerk und langweilt sich dabei.
 

Ronny1978

Benutzer
Sehr erfahren
Mitglied seit
09. Mai 2019
Beiträge
2.164
Punkte für Reaktionen
919
Punkte
148
In anderen Themen hatte ich meine Empfehlung gegeben, dass Transcoding nicht zu nutzen und dem Client das Transcoding zu überlassen. Eine DS ist - meine Meinung - nicht für das Transcoding von mehreren Streams gedacht. Ich nutze Jellyfin zwar auf Proxmox und nutze auch die integrierte iGPU des Intel Chips, aber auch hier "pustet" der Proxmox bei gleichzeitig 2-3 Streams, wenn transcodiert werden muss (.h265 und Dolby Atmos zum Beispiel).

Bei mir Transcodieren die Smartphones oder TVs selbst. Somit kann ich bequem 3-5 Streams laufen lassen, ohne das der Proxmox sich "beschwert" und die zugewiesenen 2 Kerne haben keinen Stress..
 

ctrlaltdelete

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
14.040
Punkte für Reaktionen
6.050
Punkte
569
Wenn das ganze aber von extern abgerufen wird, reicht der Upload dann nicht aus.
 

weyon

Benutzer
Mitglied seit
17. Apr 2017
Beiträge
697
Punkte für Reaktionen
91
Punkte
48
D
Da hast du wohl nur die Hardwarebeschleunigung statt das Transcoding deaktiviert. Mit abgeschaltetem Transcoding schiebt die CPU nur die blanken Daten übers Netzwerk und langweilt sich dabei.

Bei Transcoding ist Quicksync aktiv und weiter unten ist das Häkchen bei Hardwarebeschleunigung aktiv, so wie in der Anleitung von Mariushosting.
 

Anhänge

  • IMG_1440.jpeg
    IMG_1440.jpeg
    40,2 KB · Aufrufe: 14
  • IMG_1441.jpeg
    IMG_1441.jpeg
    49,9 KB · Aufrufe: 15

Ronny1978

Benutzer
Sehr erfahren
Mitglied seit
09. Mai 2019
Beiträge
2.164
Punkte für Reaktionen
919
Punkte
148
Wenn das ganze aber von extern abgerufen wird, reicht der Upload dann nicht aus.
Da gebe ich dir recht. mit 2-4 Streams parallel konnte ich das noch nicht testen. 1 Stream extern funktioniert (mit VPN oder ohne) völlig problemlos.
 

Ronny1978

Benutzer
Sehr erfahren
Mitglied seit
09. Mai 2019
Beiträge
2.164
Punkte für Reaktionen
919
Punkte
148
@weyon : Deine Einstellungen sind exakt wie bei mir im Jellyfin im Proxmox.
 

weyon

Benutzer
Mitglied seit
17. Apr 2017
Beiträge
697
Punkte für Reaktionen
91
Punkte
48
  • Like
Reaktionen: ctrlaltdelete

ctrlaltdelete

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
14.040
Punkte für Reaktionen
6.050
Punkte
569
Ich hatte jellyfin und Plex ein halbes Jahr parallel laufen und habe mich dann für Plex entschieden, weil einfach alles perfekt lief.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat