• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support Troubleshooting SOLVED: The decoding path cannot be saved after setting - 解码路径设置后无法保存

    Pages (2): 1 2 Next »

     
    • 0 Vote(s) - 0 Average

    SOLVED: The decoding path cannot be saved after setting - 解码路径设置后无法保存

    播放视频出错,已设置解码路径,日志显示解码路径为空
    我是菁英
    Offline

    Junior Member

    Posts: 10
    Threads: 1
    Joined: 2025 Apr
    Reputation: 0
    Country:China
    #1
    2025-04-12, 12:26 PM (This post was last modified: 2025-04-16, 02:35 PM by TheDreadPirate. Edited 2 times in total.)
    已开启硬件解码选项,并且已经在/jellyfin/conf/encoding.xml文件中设置了解码路径:<HardwareAccelerationType>vaapi</HardwareAccelerationType>;<EncoderAppPath>/share/homes/BB/jellyfin-ffmpeg/ffmpeg</EncoderAppPath>。
    播放视频时出错, /jellyfin/log/log_20250412.log日志显示解码路径为空:
    Code:
    [2025-04-12 19:47:12.518 +08:00] [INF] [42] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "AAA". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
    [2025-04-12 19:47:14.238 +08:00] [INF] [42] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
    [2025-04-12 19:47:14.242 +08:00] [ERR] [42] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/videos/f30f98d4-19bc-8a83-e87f-af0ea148093d/hls1/main/-1.mp4".
    [color=#fffa1e]System.ArgumentNullException: Value cannot be null. (Parameter '_mediaEncoder.EncoderPath')[/color]
      at System.ArgumentNullException.Throw(String paramName)
      at System.ArgumentNullException.ThrowIfNull(Object argument, String paramName)
      at System.ArgumentException.ThrowNullOrEmptyException(String argument, String paramName)
      at System.ArgumentException.ThrowIfNullOrEmpty(String argument, String paramName)
      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_method1470(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()
    --- End of stack trace from previous location ---
      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()
    --- End of stack trace from previous location ---
      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)
    [2025-04-12 19:47:14.308 +08:00] [INF] [42] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.9.2" playing "MEYD-662". Stopped at "0" ms

    硬件:威联通TS-453-PRO,系统:QTS 5.2.1.2930,软件Jellyfin_10.9.2.0_x86_64

    补充硬件:
    处理器:英特尔® 赛扬® 处理器 J1900
    2M 高速缓存,高达 2.42 GHz(4核心,4线程)
    内存:8GB

    Quote:The hardware decoding option has been enabled, and the decoding path has been set in the /jellyfin/conf/encoding.xml file: <HardwareAccelerationType>vaapi</HardwareAccelerationType>; <EncoderAppPath>/share/homes/BB/jellyfin-ffmpeg/ffmpeg</EncoderAppPath>.
    An error occurred when playing the video, and the /jellyfin/log/log_20250412.log log showed that the decoding path was empty:

    Quote:Hardware: QNAP TS-453-PRO, OS: QTS 5.2.1.2930, Software Jellyfin_10.9.2.0_x86_64

    Supplementary hardware:
    Processor: Intel® Celeron® Processor J1900
    2M Cache, up to 2.42 GHz (4 cores, 4 threads)
    Memory: 8GB
    Go to solution
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #2
    2025-04-12, 04:47 PM
    Why are you manually setting an encoder path? Are you trying to use a custom or newer build of ffmpeg? AFAIK, overriding the ffmpeg path is no longer supported.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    我是菁英
    Offline

    Junior Member

    Posts: 10
    Threads: 1
    Joined: 2025 Apr
    Reputation: 0
    Country:China
    #3
    2025-04-12, 05:24 PM (This post was last modified: 2025-04-16, 02:36 PM by TheDreadPirate. Edited 1 time in total.)
    (2025-04-12, 04:47 PM)TheDreadPirate Wrote: Why are you manually setting an encoder path?  Are you trying to use a custom or newer build of ffmpeg?  AFAIK, overriding the ffmpeg path is no longer supported.

    我曾用过此版本的 ffmpeg (链接:https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz),此版本为ffmpeg-7.02。下载后进行以下步骤进行编译?
    1.
    Code:
    xz -d ffmpeg-git-amd64-static.tar.xz
    2.
    Code:
    tar -xvf ffmpeg-git-amd64-static.tar
    编译完成后,用之前同样的方法,将编译完成的ffmpeg解码器路径加入jellyfin的/jellyfin/conf/encoding.xml文件中的解码路径。结果与上面描述的一样。

    现在有新的解决办法吗?针对jellyfin通过硬件解码的方式播放视频。

    Quote:I have used this version of ffmpeg (link: https://johnvansickle.com/ffmpeg/builds/...tic.tar.xz), this version is ffmpeg-7.02. After downloading, do the following steps to compile?

    Quote:After the compilation is complete, use the same method as before to add the compiled ffmpeg decoder path to the decoding path in the /jellyfin/conf/encoding.xml file of jellyfin. The result is the same as described above.

    Is there a new solution now? For jellyfin to play videos through hardware decoding.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #4
    2025-04-12, 09:51 PM
    Jellyfin comes with ffmpeg. You do not need to use a separate ffmpeg. In fact, the version of ffmpeg that comes with Jellyfin is significantly customized for Jellyfin to improve transcoding.

    Revert encoding.xml back to the default and use jellyfin-ffmpeg.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    我是菁英
    Offline

    Junior Member

    Posts: 10
    Threads: 1
    Joined: 2025 Apr
    Reputation: 0
    Country:China
    #5
    2025-04-13, 01:33 PM (This post was last modified: 2025-04-16, 02:36 PM by TheDreadPirate. Edited 1 time in total.)
    (2025-04-12, 09:51 PM)TheDreadPirate Wrote: Jellyfin comes with ffmpeg.  You do not need to use a separate ffmpeg.  In fact, the version of ffmpeg that comes with Jellyfin is significantly customized for Jellyfin to improve transcoding.

    Revert encoding.xml back to the default and use jellyfin-ffmpeg.
    我目前使用的jellyfin版本是10.9.2.0,用的是.qpkg后缀的威联通套件版本,安装后查找安装路径,有看到目录内包含ffmpeg,具体路径:/jellyfin/bin/ffmpeg。
    我想要此版本播放视频支持硬件解码要怎么设置呢?是按照您所说的办法保持默认的/jellyfin/conf/encoding.xml设置就可以了吗?

    Quote:The jellyfin version I'm using is 10.9.2.0, which is the QNAP suite version with the .qpkg suffix. After installing it, I searched for the installation path and saw that the directory contained ffmpeg, the specific path is: /jellyfin/bin/ffmpeg.
    I want this version to support hardware decoding when playing videos. How can I set it up? Can I just keep the default /jellyfin/conf/encoding.xml settings as you said?
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #6
    2025-04-13, 03:59 PM
    Yes, but you would have to use VAAPI instead of Intel Quick Sync due to the age of the CPU in that NAS. The codec support is pretty limited as well.

    Use the table on this wiki. Use the Ivy Bridge column. The iGPU in your NAS is based on that family of Intel CPUs.

    https://en.wikipedia.org/wiki/Intel_Quic...d_encoding
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    我是菁英
    Offline

    Junior Member

    Posts: 10
    Threads: 1
    Joined: 2025 Apr
    Reputation: 0
    Country:China
    #7
    2025-04-14, 04:51 PM (This post was last modified: 2025-04-16, 02:37 PM by TheDreadPirate. Edited 1 time in total.)

    .zip   附件.zip (Size: 3.77 KB / Downloads: 19)
    .zip   附件.zip (Size: 3.77 KB / Downloads: 19)
    (2025-04-12, 09:51 PM)TheDreadPirate Wrote: Jellyfin comes with ffmpeg.  You do not need to use a separate ffmpeg.  In fact, the version of ffmpeg that comes with Jellyfin is significantly customized for Jellyfin to improve transcoding.

    Revert encoding.xml back to the default and use jellyfin-ffmpeg.

    我按照这个设置,在播放视频的开始,仍旧出现“致命的播放器错误”的提示。没有使用硬件解码,在日志里面仍旧显示:System.ArgumentNullException: Value cannot be null. (Parameter '_mediaEncoder.EncoderPath')。
    附件:1:/jellyfin/conf/encoding.xml;
    2: /jellyfin/log/log_20250415.log

    Quote:I followed this setting, but at the beginning of the video playback, the prompt "Fatal player error" still appeared. Without using hardware decoding, the log still shows: System.ArgumentNullException: Value cannot be null. (Parameter '_mediaEncoder.EncoderPath').
    Attachment: 1: /jellyfin/conf/encoding.xml;
    2: /jellyfin/log/log_20250415.log
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #8
    2025-04-14, 06:11 PM
    Code:
    <EncoderAppPathDisplay>/usr/lib/jellyfin-ffmpeg/ffmpeg</EncoderAppPathDisplay>

    Use this in encoding.xml. That should be the path within the container for jellyfin-ffmpeg.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    我是菁英
    Offline

    Junior Member

    Posts: 10
    Threads: 1
    Joined: 2025 Apr
    Reputation: 0
    Country:China
    #9
    2025-04-15, 12:39 AM (This post was last modified: 2025-04-16, 02:37 PM by TheDreadPirate. Edited 2 times in total.)
    (2025-04-14, 06:11 PM)TheDreadPirate Wrote:
    Code:
      <EncoderAppPathDisplay>/usr/lib/jellyfin-ffmpeg/ffmpeg</EncoderAppPathDisplay>

    Use this in encoding.xml.  That should be the path within the container for jellyfin-ffmpeg.
    我翻看了文件夹,确实没有看见 /usr/lib/jellyfin-ffmpeg这个文件夹,能不能复制一份给我呢?
    另外我前面有尝试更改此内容,
    Code:
      <EncoderAppPathDisplay>/usr/lib/jellyfin-ffmpeg/ffmpeg</EncoderAppPathDisplay>
    ,保存后重新启动jellyfin,内容会被更改成<EncoderAppPathDisplay />,没办法保存。

    Quote:I looked through the folders and I really didn't see the folder /usr/lib/jellyfin-ffmpeg. Can you copy a copy for me?
    In addition, I tried to change this content before,
    Code:
      <EncoderAppPathDisplay>/usr/lib/jellyfin-ffmpeg/ffmpeg</EncoderAppPathDisplay>
    , saved it and restarted jellyfin, and the content was changed to <EncoderAppPathDisplay />, and I couldn't save it.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #10
    2025-04-15, 01:21 PM
    Does the QNAP package not come with jellyfin-ffmpeg?!
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    Pages (2): 1 2 Next »

    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode