Jellyfin Forum
Unable to get transcoding to work from AMD server - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Unable to get transcoding to work from AMD server (/t-unable-to-get-transcoding-to-work-from-amd-server)



Unable to get transcoding to work from AMD server - duelistgamer - 2023-10-23

My server specs are:
  • Ryzen 5 5600G (Cezanne), with iGPU
  • OpenSUSE Tumbleweed
  • ffmpeg, Mesa and codecs are installed from the external packman repository to solve opensuse official restrictions
  • Renderer is set to VA-API
Clients are:
  • Sony TV, X80J series

Please note that transcoding used to work properly when I was using an Intel server. This installation was migrated to the AMD server when the Intel build died.

I've been trying to get transcoding to work on my system but I'm not sure why the playback doesn't work. There seems to be a failure in accessing some m3u8 but I don't know what could be causing that.

Code:
...
[2023-10-23 18:35:48.285 +05:30] [INF] [44] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Kodi", Path="/media/Anime/Saint Seiya/Saint Seiya - 006.mkv", AudioStreamIndex=null, SubtitleStreamIndex=nu    ll ) => ( PlayMethod=Transcode, TranscodeReason=VideoBitDepthNotSupported ) "media:/videos/000000-0000-0000-000-0000000000/stream.m3u8?MediaSourceId=0000000000000000000000000&VideoCodec=h264,hevc,h265,mpeg4,mpeg2video,vc1,h264&AudioCodec=flac&AudioStrea    mIndex=1&VideoBitrate=996416000&AudioBitrate=3584000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=<token>&TranscodingMaxAudioChannels=6&RequireAvc=false&Tag=000000000000000000000000000000&h264-level=51&h264-videobitdepth=8&h264-profile=high10&h264-audioch    annels=2&TranscodeReasons=VideoBitDepthNotSupported"
[timestamp] [ERR] [32] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/videos/00000000-0000-0000-0000-0000000/master.m3u8".
System.InvalidOperationException: Nullable object must have a value.
at System.Nullable`1.get_Value()
at MediaBrowser.Controller.MediaEncoding.EncodingHelper.CanStreamCopyAudio(EncodingJobInfo state, MediaStream audioStream, IEnumerable`1 supportedAudioCodecs)
at MediaBrowser.Controller.MediaEncoding.EncodingHelper.TryStreamCopy(EncodingJobInfo state)
at Jellyfin.Api.Helpers.StreamingHelpers.GetStreamingState(StreamingRequestDto streamingRequest, HttpRequest httpRequest, IAuthorizationContext authorizationContext, IMediaSourceManager mediaSourceManager, IUserManager userManager, ILibraryManager libraryManager    , IServerConfigurationManager serverConfigurationManager, IMediaEncoder mediaEncoder, EncodingHelper encodingHelper, IDlnaManager dlnaManager, IDeviceManager deviceManager, TranscodingJobHelper transcodingJobHelper, TranscodingJobType transcodingJobType, Cancellati    onToken cancellationToken)
at Jellyfin.Api.Helpers.DynamicHlsHelper.GetMasterPlaylistInternal(StreamingRequestDto streamingRequest, Boolean isHeadRequest, Boolean enableAdaptiveBitrateStreaming, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource)
at Jellyfin.Api.Helpers.DynamicHlsHelper.GetMasterHlsPlaylist(TranscodingJobType transcodingJobType, StreamingRequestDto streamingRequest, Boolean enableAdaptiveBitrateStreaming)
at Jellyfin.Api.Controllers.DynamicHlsController.GetMasterHlsVideoPlaylist(Guid itemId, 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, N    ullable`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, Nullabl    e`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, Boolean enableAdaptiv    eBitrateStreaming)
at lambda_method1166(Closure , Object )
...



RE: Unable to get transcoding to work from AMD server - Deleted User - 2023-10-23

check permissions on transcode directory
check ffmpeg logs


RE: Unable to get transcoding to work from AMD server - duelistgamer - 2023-10-25

(2023-10-23, 03:06 PM)000 Wrote: check permissions on transcode directory
check ffmpeg logs

I updated the file permissions for the user and group Jellyfin was running as, but that didn't solve the problem.

I couldn't figure out where to find the ffmpeg logs. Where does Jellyfin store them?


RE: Unable to get transcoding to work from AMD server - TheDreadPirate - 2023-10-25

/var/log/jellyfin