[Issue]: Hardware encoding fails on macOS with Intel GPU #4720

Closed
opened 2026-02-07 01:06:22 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @yaakovfeldman on GitHub (Mar 17, 2023).

Please describe your bug

I am running macOS Ventura on a 2012 mac mini with a Ivy Bridge cpu. This supports Intel QSV encoding for MPEG-2.

I get an error when enabling hardware encoding but if I edit the ffmpeg command (form the logs) to remove -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,426)/2)*2:trunc(ow/a/2)*2,format=nv12" and the -hls_segment_filename then it works.

On such old hardware getting hardware acceleration working is important because otherwise a single stream can use most of the cpu!

Is there any way to edit the command being passed to ffmpeg? I can live without the custom colourspace, and omitting the custom segment filename doesn't seem to cause any issues (the separate chunks are still created, they are just named <output filename><chunk number>.ts.

The ffmpeg command that didnt work can be seen below, but this worked:

/Applications/Jellyfin.app/Contents/MacOS/ffmpeg \
-analyzeduration 200M \
-init_hw_device videotoolbox=vt \
-hwaccel videotoolbox \
-autorotate 0 \
-i file:"/Volumes/Media/media/movies/movie.mp4" \
-autoscale 0 \
-map_metadata -1 \
-map_chapters -1 \
-threads 0 \
-map 0:0 \
-map 0:1 \
-map -0:s \
-codec:v:0 h264_videotoolbox \
-b:v 292000 \
-maxrate 292000 \
-bufsize 584000 \
-profile:v:0 high \
-level 41 \
-force_key_frames:0 "expr:gte(t,0+n_forced*3)" \
-g:v:0 54 \
-keyint_min:v:0 54 \
-codec:a:0 aac \
-ac 2 \
-ab 128000 \
-ar 48000 \
-af "volume=2" \
-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_playlist_type vod -hls_list_size 0 \
-y "/Users/user/Downloads/test4.m3u8"

Jellyfin Version

Other

if other:

10.8.9 (native binary download)

Environment

- OS: macOS Ventura
- Virtualization: none
- Clients: Web
- Browser: Firefox
- FFmpeg Version: 5.1.2
- Playback Method: Web app
- Hardware Acceleration: Attempted, Jellyfin set to use Video Toolbox

Jellyfin logs

[2023-03-16 14:59:00.767 +00:00] [WRN] [21] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://jellyfin.apps.example.com/videos/cea579de-8f5f-8f08-6bf4-eda11a859054/hls1/main/0.ts?DeviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6MTA5LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMTEwLjB8MTY3ODc0NzY5NjIxNA11&MediaSourceId=cea579de8f5f8f086bf4eda11a859054&VideoCodec=h264,h264&AudioCodec=aac&AudioStreamIndex=2&VideoBitrate=292000&AudioBitrate=128000&AudioSampleRate=48000&MaxFramerate=17.982018&PlaySessionId=f3fb9684b1f14673a20e275ace5aaf01&api_key=e26f6ac2fabf4c05be91662e0519568f&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=5a6d084cc752da4200246a03bda0549e&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-level=41&h264-videobitdepth=8&h264-profile=high&h264-audiochannels=6&aac-profile=lc&h264-rangetype=SDR&h264-deinterlace=true&TranscodeReasons=ContainerBitrateExceedsLimit&allowVideoStreamCopy=false&runtimeTicks=0&actualSegmentLengthTicks=30000000" to "127.0.0.1" in 0:00:00.5796588 with Status Code 500
[2023-03-16 14:59:00.800 +00:00] [INF] [82] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "user". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-03-16 14:59:00.800 +00:00] [INF] [82] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Volumes/Media/media/movies/movie.mp4", AudioStreamIndex=2, SubtitleStreamIndex=0 ) => ( PlayMethod=Transcode, TranscodeReason=ContainerBitrateExceedsLimit ) "media:/videos/cea579de-8f5f-8f08-6bf4-eda11a859054/master.m3u8?MediaSourceId=cea579de8f5f8f086bf4eda11a859054&VideoCodec=h264,h264&AudioCodec=aac&AudioStreamIndex=2&VideoBitrate=292000&AudioBitrate=128000&AudioSampleRate=48000&MaxFramerate=17.982018&api_key=<token>&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=5a6d084cc752da4200246a03bda0549e&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-level=41&h264-videobitdepth=8&h264-profile=high&h264-audiochannels=6&aac-profile=lc&h264-rangetype=SDR&h264-deinterlace=true&TranscodeReasons=ContainerBitrateExceedsLimit"
[2023-03-16 14:59:00.836 +00:00] [INF] [82] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting partial stream file(s) "/Users/user/.local/share/jellyfin/transcodes/436b61d9edb06cf0d5019b1697b3a34d.m3u8"
[2023-03-16 14:59:01.034 +00:00] [INF] [70] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2023-03-16 14:59:01.035 +00:00] [INF] [70] Jellyfin.Api.Helpers.TranscodingJobHelper: "ffmpeg" "-analyzeduration 200M -init_hw_device videotoolbox=vt -hwaccel videotoolbox -autorotate 0 -i file:\"/Volumes/Media/media/movies/movie.mp4\" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_videotoolbox -b:v 292000 -maxrate 292000 -bufsize 584000 -profile:v:0 high -level 41 -force_key_frames:0 \"expr:gte(t,0+n_forced*3)\" -g:v:0 54 -keyint_min:v:0 54 -vf \"setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,426)/2)*2:trunc(ow/a/2)*2,format=nv12\" -codec:a:0 aac -ac 2 -ab 128000 -ar 48000 -af \"volume=2\" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"/Users/user/.local/share/jellyfin/transcodes/9d96df54b1ec1088633ada697c1de8e7%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/Users/user/.local/share/jellyfin/transcodes/9d96df54b1ec1088633ada697c1de8e7.m3u8\""
[2023-03-16 14:59:01.558 +00:00] [ERR] [65] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 1
[2023-03-16 14:59:01.586 +00:00] [ERR] [70] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/videos/cea579de-8f5f-8f08-6bf4-eda11a859054/hls1/main/0.ts".
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
   at Jellyfin.Api.Helpers.TranscodingJobHelper.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, HttpRequest request, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
   at Jellyfin.Api.Controllers.DynamicHlsController.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_method1708(Closure , Object )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
   at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
   at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
   at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
   at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
   at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
   at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)

FFmpeg logs

/videos/cea579de-8f5f-8f08-6bf4-eda11a859054/hls1/main/0.ts

{"Protocol":0,"Id":"cea579de8f5f8f086bf4eda11a859054","Path":"/Volumes/Media/media/movies/movie.mp4","EncoderPath":null,"EncoderProtocol":null,"Type":0,"Container":"mov,mp4,m4a,3gp,3g2,mj2","Size":1470989746,"Name":"Movie","IsRemote":false,"ETag":"5a6d084cc752da4200246a03bda0549e","RunTimeTicks":46376890000,"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":"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":null,"VideoRange":null,"VideoRangeType":null,"VideoDoViTitle":null,"LocalizedUndefined":"Undefined","LocalizedDefault":"Default","LocalizedForced":"Forced","LocalizedExternal":"External","DisplayTitle":"English - SUBRIP - External","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":0,"Score":null,"IsExternal":true,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":true,"SupportsExternalStream":true,"Path":"/Volumes/Media/media/movies/movie.en.srt","PixelFormat":null,"Level":0,"IsAnamorphic":null},{"Codec":"h264","CodecTag":"avc1","Language":"und","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/18000","CodecTimeBase":null,"Title":null,"VideoRange":"SDR","VideoRangeType":"SDR","VideoDoViTitle":null,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"DisplayTitle":"1080p H264 SDR","NalLengthSize":"4","IsInterlaced":false,"IsAVC":true,"ChannelLayout":null,"BitRate":2250040,"BitDepth":8,"RefFrames":1,"PacketLength":null,"Channels":null,"SampleRate":null,"IsDefault":true,"IsForced":false,"Height":1072,"Width":1424,"AverageFrameRate":17.982018,"RealFrameRate":17.982018,"Profile":"High","Type":1,"AspectRatio":"4:3","Index":1,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":"yuv420p","Level":41,"IsAnamorphic":null},{"Codec":"aac","CodecTag":"mp4a","Language":"und","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/48000","CodecTimeBase":null,"Title":null,"VideoRange":null,"VideoRangeType":null,"VideoDoViTitle":null,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"DisplayTitle":"AAC - 5.1 - Default","NalLengthSize":null,"IsInterlaced":false,"IsAVC":null,"ChannelLayout":"5.1","BitRate":280380,"BitDepth":null,"RefFrames":null,"PacketLength":null,"Channels":6,"SampleRate":48000,"IsDefault":true,"IsForced":false,"Height":null,"Width":null,"AverageFrameRate":null,"RealFrameRate":null,"Profile":"LC","Type":0,"AspectRatio":null,"Index":2,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":null,"Level":0,"IsAnamorphic":null}],"MediaAttachments":[],"Formats":[],"Bitrate":2537453,"Timestamp":null,"RequiredHttpHeaders":{},"TranscodingUrl":null,"TranscodingSubProtocol":null,"TranscodingContainer":null,"AnalyzeDurationMs":null,"DefaultAudioStreamIndex":null,"DefaultSubtitleStreamIndex":null}

ffmpeg -analyzeduration 200M -init_hw_device videotoolbox=vt -hwaccel videotoolbox -autorotate 0 -i file:"/Volumes/Media/media/movies/movie.mp4" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_videotoolbox -b:v 292000 -maxrate 292000 -bufsize 584000 -profile:v:0 high -level 41 -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -g:v:0 54 -keyint_min:v:0 54 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,426)/2)*2:trunc(ow/a/2)*2,format=nv12" -codec:a:0 aac -ac 2 -ab 128000 -ar 48000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/Users/user/.local/share/jellyfin/transcodes/9d96df54b1ec1088633ada697c1de8e7%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/Users/user/.local/share/jellyfin/transcodes/9d96df54b1ec1088633ada697c1de8e7.m3u8"


ffmpeg version 5.1.2-tessus Copyright (c) 2000-2022 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.17)
  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
  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, mov,mp4,m4a,3gp,3g2,mj2, from 'file:/Volumes/Media/media/movies/movie.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.35.100
  Duration: 01:17:17.69, start: 0.000000, bitrate: 2537 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1424x1072 [SAR 1:1 DAR 89:67], 2250 kb/s, 17.98 fps, 17.98 tbr, 18k tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 280 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_videotoolbox))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[h264_videotoolbox @ 0x7fb31c116940] Error: cannot create compression session: -12903
[h264_videotoolbox @ 0x7fb31c116940] Try -allow_sw 1. The hardware encoder may be busy, or not supported.
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[aac @ 0x7fb31c112800] Qavg: 65536.000
[aac @ 0x7fb31c112800] 2 frames left in the queue on closing
Conversion failed!

Please attach any browser or client logs here

No response

Please attach any screenshots here

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
Originally created by @yaakovfeldman on GitHub (Mar 17, 2023). ### Please describe your bug I am running macOS Ventura on a 2012 mac mini with a Ivy Bridge cpu. This supports Intel QSV encoding for MPEG-2. I get an error when enabling hardware encoding but if I edit the ffmpeg command (form the logs) to remove `-vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,426)/2)*2:trunc(ow/a/2)*2,format=nv12"` and the `-hls_segment_filename` then it works. On such old hardware getting hardware acceleration working is important because otherwise a single stream can use most of the cpu! Is there any way to edit the command being passed to ffmpeg? I can live without the custom colourspace, and omitting the custom segment filename doesn't seem to cause any issues (the separate chunks are still created, they are just named `<output filename><chunk number>.ts`. The ffmpeg command that didnt work can be seen below, but this worked: ``` /Applications/Jellyfin.app/Contents/MacOS/ffmpeg \ -analyzeduration 200M \ -init_hw_device videotoolbox=vt \ -hwaccel videotoolbox \ -autorotate 0 \ -i file:"/Volumes/Media/media/movies/movie.mp4" \ -autoscale 0 \ -map_metadata -1 \ -map_chapters -1 \ -threads 0 \ -map 0:0 \ -map 0:1 \ -map -0:s \ -codec:v:0 h264_videotoolbox \ -b:v 292000 \ -maxrate 292000 \ -bufsize 584000 \ -profile:v:0 high \ -level 41 \ -force_key_frames:0 "expr:gte(t,0+n_forced*3)" \ -g:v:0 54 \ -keyint_min:v:0 54 \ -codec:a:0 aac \ -ac 2 \ -ab 128000 \ -ar 48000 \ -af "volume=2" \ -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_playlist_type vod -hls_list_size 0 \ -y "/Users/user/Downloads/test4.m3u8" ``` ### Jellyfin Version Other ### if other: 10.8.9 (native binary download) ### Environment ```markdown - OS: macOS Ventura - Virtualization: none - Clients: Web - Browser: Firefox - FFmpeg Version: 5.1.2 - Playback Method: Web app - Hardware Acceleration: Attempted, Jellyfin set to use Video Toolbox ``` ### Jellyfin logs ```shell [2023-03-16 14:59:00.767 +00:00] [WRN] [21] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://jellyfin.apps.example.com/videos/cea579de-8f5f-8f08-6bf4-eda11a859054/hls1/main/0.ts?DeviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6MTA5LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMTEwLjB8MTY3ODc0NzY5NjIxNA11&MediaSourceId=cea579de8f5f8f086bf4eda11a859054&VideoCodec=h264,h264&AudioCodec=aac&AudioStreamIndex=2&VideoBitrate=292000&AudioBitrate=128000&AudioSampleRate=48000&MaxFramerate=17.982018&PlaySessionId=f3fb9684b1f14673a20e275ace5aaf01&api_key=e26f6ac2fabf4c05be91662e0519568f&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=5a6d084cc752da4200246a03bda0549e&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-level=41&h264-videobitdepth=8&h264-profile=high&h264-audiochannels=6&aac-profile=lc&h264-rangetype=SDR&h264-deinterlace=true&TranscodeReasons=ContainerBitrateExceedsLimit&allowVideoStreamCopy=false&runtimeTicks=0&actualSegmentLengthTicks=30000000" to "127.0.0.1" in 0:00:00.5796588 with Status Code 500 [2023-03-16 14:59:00.800 +00:00] [INF] [82] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "user". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-03-16 14:59:00.800 +00:00] [INF] [82] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Volumes/Media/media/movies/movie.mp4", AudioStreamIndex=2, SubtitleStreamIndex=0 ) => ( PlayMethod=Transcode, TranscodeReason=ContainerBitrateExceedsLimit ) "media:/videos/cea579de-8f5f-8f08-6bf4-eda11a859054/master.m3u8?MediaSourceId=cea579de8f5f8f086bf4eda11a859054&VideoCodec=h264,h264&AudioCodec=aac&AudioStreamIndex=2&VideoBitrate=292000&AudioBitrate=128000&AudioSampleRate=48000&MaxFramerate=17.982018&api_key=<token>&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=5a6d084cc752da4200246a03bda0549e&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-level=41&h264-videobitdepth=8&h264-profile=high&h264-audiochannels=6&aac-profile=lc&h264-rangetype=SDR&h264-deinterlace=true&TranscodeReasons=ContainerBitrateExceedsLimit" [2023-03-16 14:59:00.836 +00:00] [INF] [82] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting partial stream file(s) "/Users/user/.local/share/jellyfin/transcodes/436b61d9edb06cf0d5019b1697b3a34d.m3u8" [2023-03-16 14:59:01.034 +00:00] [INF] [70] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request [2023-03-16 14:59:01.035 +00:00] [INF] [70] Jellyfin.Api.Helpers.TranscodingJobHelper: "ffmpeg" "-analyzeduration 200M -init_hw_device videotoolbox=vt -hwaccel videotoolbox -autorotate 0 -i file:\"/Volumes/Media/media/movies/movie.mp4\" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_videotoolbox -b:v 292000 -maxrate 292000 -bufsize 584000 -profile:v:0 high -level 41 -force_key_frames:0 \"expr:gte(t,0+n_forced*3)\" -g:v:0 54 -keyint_min:v:0 54 -vf \"setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,426)/2)*2:trunc(ow/a/2)*2,format=nv12\" -codec:a:0 aac -ac 2 -ab 128000 -ar 48000 -af \"volume=2\" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"/Users/user/.local/share/jellyfin/transcodes/9d96df54b1ec1088633ada697c1de8e7%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/Users/user/.local/share/jellyfin/transcodes/9d96df54b1ec1088633ada697c1de8e7.m3u8\"" [2023-03-16 14:59:01.558 +00:00] [ERR] [65] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 1 [2023-03-16 14:59:01.586 +00:00] [ERR] [70] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/videos/cea579de-8f5f-8f08-6bf4-eda11a859054/hls1/main/0.ts". MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1 at Jellyfin.Api.Helpers.TranscodingJobHelper.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, HttpRequest request, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory) at Jellyfin.Api.Controllers.DynamicHlsController.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_method1708(Closure , Object ) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager) at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager) at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager) at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager) at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Jellyfin.Server.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext) at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext) at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context) at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager) at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context) ``` ### FFmpeg logs ```shell /videos/cea579de-8f5f-8f08-6bf4-eda11a859054/hls1/main/0.ts {"Protocol":0,"Id":"cea579de8f5f8f086bf4eda11a859054","Path":"/Volumes/Media/media/movies/movie.mp4","EncoderPath":null,"EncoderProtocol":null,"Type":0,"Container":"mov,mp4,m4a,3gp,3g2,mj2","Size":1470989746,"Name":"Movie","IsRemote":false,"ETag":"5a6d084cc752da4200246a03bda0549e","RunTimeTicks":46376890000,"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":"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":null,"VideoRange":null,"VideoRangeType":null,"VideoDoViTitle":null,"LocalizedUndefined":"Undefined","LocalizedDefault":"Default","LocalizedForced":"Forced","LocalizedExternal":"External","DisplayTitle":"English - SUBRIP - External","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":0,"Score":null,"IsExternal":true,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":true,"SupportsExternalStream":true,"Path":"/Volumes/Media/media/movies/movie.en.srt","PixelFormat":null,"Level":0,"IsAnamorphic":null},{"Codec":"h264","CodecTag":"avc1","Language":"und","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/18000","CodecTimeBase":null,"Title":null,"VideoRange":"SDR","VideoRangeType":"SDR","VideoDoViTitle":null,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"DisplayTitle":"1080p H264 SDR","NalLengthSize":"4","IsInterlaced":false,"IsAVC":true,"ChannelLayout":null,"BitRate":2250040,"BitDepth":8,"RefFrames":1,"PacketLength":null,"Channels":null,"SampleRate":null,"IsDefault":true,"IsForced":false,"Height":1072,"Width":1424,"AverageFrameRate":17.982018,"RealFrameRate":17.982018,"Profile":"High","Type":1,"AspectRatio":"4:3","Index":1,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":"yuv420p","Level":41,"IsAnamorphic":null},{"Codec":"aac","CodecTag":"mp4a","Language":"und","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/48000","CodecTimeBase":null,"Title":null,"VideoRange":null,"VideoRangeType":null,"VideoDoViTitle":null,"LocalizedUndefined":null,"LocalizedDefault":null,"LocalizedForced":null,"LocalizedExternal":null,"DisplayTitle":"AAC - 5.1 - Default","NalLengthSize":null,"IsInterlaced":false,"IsAVC":null,"ChannelLayout":"5.1","BitRate":280380,"BitDepth":null,"RefFrames":null,"PacketLength":null,"Channels":6,"SampleRate":48000,"IsDefault":true,"IsForced":false,"Height":null,"Width":null,"AverageFrameRate":null,"RealFrameRate":null,"Profile":"LC","Type":0,"AspectRatio":null,"Index":2,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":null,"Level":0,"IsAnamorphic":null}],"MediaAttachments":[],"Formats":[],"Bitrate":2537453,"Timestamp":null,"RequiredHttpHeaders":{},"TranscodingUrl":null,"TranscodingSubProtocol":null,"TranscodingContainer":null,"AnalyzeDurationMs":null,"DefaultAudioStreamIndex":null,"DefaultSubtitleStreamIndex":null} ffmpeg -analyzeduration 200M -init_hw_device videotoolbox=vt -hwaccel videotoolbox -autorotate 0 -i file:"/Volumes/Media/media/movies/movie.mp4" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_videotoolbox -b:v 292000 -maxrate 292000 -bufsize 584000 -profile:v:0 high -level 41 -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -g:v:0 54 -keyint_min:v:0 54 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,426)/2)*2:trunc(ow/a/2)*2,format=nv12" -codec:a:0 aac -ac 2 -ab 128000 -ar 48000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/Users/user/.local/share/jellyfin/transcodes/9d96df54b1ec1088633ada697c1de8e7%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/Users/user/.local/share/jellyfin/transcodes/9d96df54b1ec1088633ada697c1de8e7.m3u8" ffmpeg version 5.1.2-tessus Copyright (c) 2000-2022 the FFmpeg developers built with Apple clang version 11.0.0 (clang-1100.0.33.17) configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay 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, mov,mp4,m4a,3gp,3g2,mj2, from 'file:/Volumes/Media/media/movies/movie.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf58.35.100 Duration: 01:17:17.69, start: 0.000000, bitrate: 2537 kb/s Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1424x1072 [SAR 1:1 DAR 89:67], 2250 kb/s, 17.98 fps, 17.98 tbr, 18k tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 280 kb/s (default) Metadata: handler_name : SoundHandler vendor_id : [0][0][0][0] Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_videotoolbox)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help [h264_videotoolbox @ 0x7fb31c116940] Error: cannot create compression session: -12903 [h264_videotoolbox @ 0x7fb31c116940] Try -allow_sw 1. The hardware encoder may be busy, or not supported. Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height [aac @ 0x7fb31c112800] Qavg: 65536.000 [aac @ 0x7fb31c112800] 2 frames left in the queue on closing Conversion failed! ``` ### Please attach any browser or client logs here _No response_ ### Please attach any screenshots here _No response_ ### Code of Conduct - [X] I agree to follow this project's Code of Conduct
OVERLORD added the bugstalemedia playback labels 2026-02-07 01:06:22 +03:00
Author
Owner

@Ritchie1108 commented on GitHub (May 6, 2023):

maybe you have to choice "Apple Video Toolbox"
https://jellyfin.org/docs/general/administration/hardware-acceleration/#supported-acceleration-methods

@Ritchie1108 commented on GitHub (May 6, 2023): maybe you have to choice "Apple Video Toolbox" https://jellyfin.org/docs/general/administration/hardware-acceleration/#supported-acceleration-methods
Author
Owner

@jellyfin-bot commented on GitHub (Sep 4, 2023):

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.

@jellyfin-bot commented on GitHub (Sep 4, 2023): 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](https://docs.jellyfin.org/general/getting-help.html).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#4720