Nvidia NVENC does work properly #2008

Closed
opened 2025-12-21 19:57:04 +01:00 by backuprepo · 2 comments
Owner

Originally created by @bingzhangdai on GitHub (Aug 4, 2020).

Describe the bug

System (please complete the following information):

  • OS: Debian
  • Virtualization: Docker
  • Clients: Browser, Android
  • Browser: Edge Version 84.0.522.52 (Official build) (64-bit)
  • Jellyfin Version: 10.6.2
  • Playback: Transcode
  • Installed Plugins: none
  • Reverse Proxy: Traefik
  • Base URL: none
  • Networking: Bridge/NAT
  • Storage: local

To Reproduce

  1. Run jellyfin docker. According to the nvidia-docker doc, specify the --gpu all parameter.
  2. Enable Nvidia NVENC in the settings.
  3. Play any media that needs transcoding.
  4. See error

Expected behavior
Play normally.

Logs

[10:50:05] [INF] [58] MediaBrowser.Api.Playback.MediaInfoService: User policy for bingzhang. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[10:50:05] [INF] [58] MediaBrowser.Api.Playback.MediaInfoService: Not eligible for DirectPlay due to unsupported subtitles
[10:50:05] [INF] [58] MediaBrowser.Api.Playback.MediaInfoService: Not eligible for DirectStream due to unsupported subtitles
[10:50:05] [INF] [58] MediaBrowser.Api.Playback.MediaInfoService: Profile: Unknown Profile, Path: /data/AnimationMovies/天空之城 (1986)/天空之城 (1986) 1080p AC3.mkv, isEligibleForDirectPlay: False, isEligibleForDirectStream: False
[10:50:06] [INF] [26] MediaBrowser.Api.Playback.Hls.DynamicHlsService: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[10:50:06] [INF] [26] MediaBrowser.Api.Playback.Hls.DynamicHlsService: /usr/lib/jellyfin-ffmpeg/ffmpeg -c:v hevc_cuvid -resize 1920x1038 -i file:"/data/AnimationMovies/天空之城 (1986)/天空之城 (1986) 1080p AC3.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -codec:v:0 h264_nvenc -pix_fmt yuv420p -preset default -b:v 22238398 -maxrate 22238398 -bufsize 44476796 -profile:v high  -g 72 -keyint_min 72 -sc_threshold 0 -filter_complex "[0:5]scale=1920x1038[sub];[0:0][sub]overlay" -start_at_zero -vsync -1 -codec:a:0 libmp3lame -ac 2 -ab 320000  -copyts -avoid_negative_ts disabled -f hls -max_delay 5000000 -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/data/transcodes/05ac2a2a537dc2c32c913b232a68681a%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcodes/05ac2a2a537dc2c32c913b232a68681a.m3u8"
[10:50:06] [ERR] [26] MediaBrowser.Api.Playback.Hls.DynamicHlsService: FFMpeg exited with code 1
[10:50:06] [WRN] [30] MediaBrowser.Api.Playback.Hls.DynamicHlsService: cannot serve /config/data/transcodes/05ac2a2a537dc2c32c913b232a68681a0.ts as transcoding quit before we got there
[10:50:06] [ERR] [30] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: Could not find file '/config/data/transcodes/05ac2a2a537dc2c32c913b232a68681a0.ts'. URL: http://***.****.com/videos/8ebcb1db-79fc-61e3-e555-df28dd99743a/hls1/main/0.ts?DeviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzg0LjAuNDE0Ny44OSBTYWZhcmkvNTM3LjM2IEVkZy84NC4wLjUyMi40MHwxNTk1NjcyNTEzODcx&MediaSourceId=8ebcb1db79fc61e3e555df28dd99743a&VideoCodec=h264&AudioCodec=mp3,aac&AudioStreamIndex=1&SubtitleStreamIndex=5&VideoBitrate=139680000&AudioBitrate=320000&PlaySessionId=9dced489791a4af7b33ba37b2ef59533&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=09b7203dd481cc98265a12b6d9606b14&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline,high10&h264-level=51&h264-deinterlace=true&TranscodeReasons=SubtitleCodecNotSupported&allowVideoStreamCopy=false&allowAudioStreamCopy=false,false
[10:50:06] [INF] [10] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Web 10.6.2 playing 天空之城. Stopped at 0 ms

Additional context

  • GPU: GeForce GT 1030
  • docker exec -it jellyfin ldconfig && nvidia-smi works properly

#3639 may related to this issue. My video does not need transcoding if I turn off subtitles, hence it can play normally. However, if turning on subtitles, it show playback error: This client isn't compatible with the media and the server isn't sending a compatible media format.

Originally created by @bingzhangdai on GitHub (Aug 4, 2020). **Describe the bug** <!-- A clear and concise description of what the bug is. --> **System (please complete the following information):** - OS: Debian - Virtualization: Docker - Clients: Browser, Android - Browser: Edge Version 84.0.522.52 (Official build) (64-bit) - Jellyfin Version: 10.6.2 - Playback: Transcode - Installed Plugins: none - Reverse Proxy: Traefik - Base URL: none - Networking: Bridge/NAT - Storage: local **To Reproduce** <!-- Steps to reproduce the behavior: --> 1. Run jellyfin docker. According to the [nvidia-docker](https://github.com/NVIDIA/nvidia-docker) doc, specify the --gpu all parameter. 2. Enable Nvidia NVENC in the settings. 3. Play any media that needs transcoding. 4. See error **Expected behavior** Play normally. **Logs** ```log [10:50:05] [INF] [58] MediaBrowser.Api.Playback.MediaInfoService: User policy for bingzhang. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [10:50:05] [INF] [58] MediaBrowser.Api.Playback.MediaInfoService: Not eligible for DirectPlay due to unsupported subtitles [10:50:05] [INF] [58] MediaBrowser.Api.Playback.MediaInfoService: Not eligible for DirectStream due to unsupported subtitles [10:50:05] [INF] [58] MediaBrowser.Api.Playback.MediaInfoService: Profile: Unknown Profile, Path: /data/AnimationMovies/天空之城 (1986)/天空之城 (1986) 1080p AC3.mkv, isEligibleForDirectPlay: False, isEligibleForDirectStream: False [10:50:06] [INF] [26] MediaBrowser.Api.Playback.Hls.DynamicHlsService: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request [10:50:06] [INF] [26] MediaBrowser.Api.Playback.Hls.DynamicHlsService: /usr/lib/jellyfin-ffmpeg/ffmpeg -c:v hevc_cuvid -resize 1920x1038 -i file:"/data/AnimationMovies/天空之城 (1986)/天空之城 (1986) 1080p AC3.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -codec:v:0 h264_nvenc -pix_fmt yuv420p -preset default -b:v 22238398 -maxrate 22238398 -bufsize 44476796 -profile:v high -g 72 -keyint_min 72 -sc_threshold 0 -filter_complex "[0:5]scale=1920x1038[sub];[0:0][sub]overlay" -start_at_zero -vsync -1 -codec:a:0 libmp3lame -ac 2 -ab 320000 -copyts -avoid_negative_ts disabled -f hls -max_delay 5000000 -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/data/transcodes/05ac2a2a537dc2c32c913b232a68681a%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcodes/05ac2a2a537dc2c32c913b232a68681a.m3u8" [10:50:06] [ERR] [26] MediaBrowser.Api.Playback.Hls.DynamicHlsService: FFMpeg exited with code 1 [10:50:06] [WRN] [30] MediaBrowser.Api.Playback.Hls.DynamicHlsService: cannot serve /config/data/transcodes/05ac2a2a537dc2c32c913b232a68681a0.ts as transcoding quit before we got there [10:50:06] [ERR] [30] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: Could not find file '/config/data/transcodes/05ac2a2a537dc2c32c913b232a68681a0.ts'. URL: http://***.****.com/videos/8ebcb1db-79fc-61e3-e555-df28dd99743a/hls1/main/0.ts?DeviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzg0LjAuNDE0Ny44OSBTYWZhcmkvNTM3LjM2IEVkZy84NC4wLjUyMi40MHwxNTk1NjcyNTEzODcx&MediaSourceId=8ebcb1db79fc61e3e555df28dd99743a&VideoCodec=h264&AudioCodec=mp3,aac&AudioStreamIndex=1&SubtitleStreamIndex=5&VideoBitrate=139680000&AudioBitrate=320000&PlaySessionId=9dced489791a4af7b33ba37b2ef59533&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=09b7203dd481cc98265a12b6d9606b14&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline,high10&h264-level=51&h264-deinterlace=true&TranscodeReasons=SubtitleCodecNotSupported&allowVideoStreamCopy=false&allowAudioStreamCopy=false,false [10:50:06] [INF] [10] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Web 10.6.2 playing 天空之城. Stopped at 0 ms ``` **Additional context** * GPU: GeForce GT 1030 * `docker exec -it jellyfin ldconfig && nvidia-smi` works properly #3639 may related to this issue. My video does not need transcoding if I turn off subtitles, hence it can play normally. However, if turning on subtitles, it show **playback error**: This client isn't compatible with the media and the server isn't sending a compatible media format.
backuprepo 2025-12-21 19:57:04 +01:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@nyanmisaka commented on GitHub (Aug 4, 2020):

GT 1030 doesn't support hardware encoding. Please turn off hardware encoding or use GTX 1050 as a alternative.

https://developer.nvidia.com/video-encode-decode-gpu-support-matrix

@nyanmisaka commented on GitHub (Aug 4, 2020): GT 1030 doesn't support hardware encoding. Please turn off hardware encoding or use GTX 1050 as a alternative. https://developer.nvidia.com/video-encode-decode-gpu-support-matrix
Author
Owner

@bingzhangdai commented on GitHub (Aug 4, 2020):

Thanks very much! Now it works! :)

@bingzhangdai commented on GitHub (Aug 4, 2020): Thanks very much! Now it works! :)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: starred/jellyfin#2008
No description provided.