Hardware acceleration blocks playback with certain formats #325

Closed
opened 2026-02-06 19:35:14 +03:00 by OVERLORD · 14 comments
Owner

Originally created by @eoop on GitHub (Jan 24, 2019).

Describe the bug
If 10-bit h264 video is transcoded with NVENC hardware acceleration enabled FFmpeg will throw an error since 10-bit h264 transcoding is not supported on Nvidia hardware. Client side, the video will appear to be continuously loading.

To Reproduce
Steps to reproduce the behavior:

  1. Enable NVENC Hardware Acceleration in Jellyfin
  2. Input path to NVENC enabled FFmpeg binary
  3. Attempt playback of 10-bit h264 video in browser
  4. See log for FFmpeg error

Expected behavior
When playing video unsupported by hardware acceleration, fall back to software decoding/encoding.

Logs

{"Protocol":"File","Id":"b145acc35d4756f88dfc206ab47c7618","Path":"/media/drives/medialibrary/anime/A Certain Scientific Railgun/Season 1/A Certain Scientific Railgun - S01E01 - Electro Master Bluray-1080p.mkv","Type":"Default","Container":"mkv,webm","Name":"A Certain Scientific Railgun - S01E01 - Electro Master Bluray-1080p","IsRemote":false,"ETag":"5a194628ebf2fc508bed6f32777aaae9","RunTimeTicks":15121800192,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":true,"VideoType":"VideoFile","MediaStreams":[{"Codec":"h264","Language":"jpn","TimeBase":"1/1000","CodecTimeBase":"1001/48000","Title":"[Beatrice-Raws]","VideoRange":"SDR","DisplayTitle":"1080P H264","NalLengthSize":"4","IsInterlaced":false,"IsAVC":true,"BitRate":8861911,"BitDepth":10,"RefFrames":4,"IsDefault":true,"IsForced":false,"Height":1080,"Width":1920,"AverageFrameRate":23.9760246,"RealFrameRate":23.9760246,"Profile":"High 10","Type":"Video","AspectRatio":"16:9","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"PixelFormat":"yuv420p10le","Level":50},{"Codec":"flac","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"1/48000","Title":"FLAC 5.1 [Etzimal]","DisplayTitle":"Eng FLAC 5.1 Default","IsInterlaced":false,"ChannelLayout":"5.1","BitDepth":16,"Channels":6,"SampleRate":48000,"IsDefault":true,"IsForced":false,"Type":"Audio","Index":1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0},{"Codec":"flac","Language":"jpn","TimeBase":"1/1000","CodecTimeBase":"1/48000","Title":"FLAC 2.0 [Beatrice]","DisplayTitle":"Jpn FLAC stereo","IsInterlaced":false,"ChannelLayout":"stereo","BitDepth":16,"Channels":2,"SampleRate":48000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":2,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0},{"Codec":"ass","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"1/1000","Title":"Signs [Chrisazter]","DisplayTitle":"Eng Default Forced","IsInterlaced":false,"IsDefault":true,"IsForced":true,"Type":"Subtitle","Index":3,"IsExternal":false,"IsTextSubtitleStream":true,"SupportsExternalStream":true,"Level":0},{"Codec":"ass","Language":"jpn","TimeBase":"1/1000","CodecTimeBase":"1/1000","Title":"Subtitles [Chrisazter]","DisplayTitle":"Jpn","IsInterlaced":false,"IsDefault":false,"IsForced":false,"Type":"Subtitle","Index":4,"IsExternal":false,"IsTextSubtitleStream":true,"SupportsExternalStream":true,"Level":0}],"Formats":[],"Bitrate":8861911,"RequiredHttpHeaders":{}}
 
/home/logan/bin/ffmpeg -c:v h264_cuvid  -resize 1920x1080 -i file:"/media/drives/medialibrary/anime/A Certain Scientific Railgun/Season 1/A Certain Scientific Railgun - S01E01 - Electro Master Bluray-1080p.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:2 -map -0:s -codec:v:0 h264_nvenc -pix_fmt yuv420p -preset default -b:v 139808000 -maxrate 139808000 -bufsize 279616000 -profile:v high -force_key_frames "expr:gte(t,n_forced*3)" -copyts -vsync -1 -codec:a:0 aac -strict experimental -ac 2 -ab 192000  -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 3  -individual_header_trailer 0 -segment_format mpegts -segment_list_type m3u8 -segment_start_number 0 -segment_list "/var/lib/jellyfin/transcoding-temp/f4f3d66cd35d201c12fa4fcff81c5be2.m3u8" -y "/var/lib/jellyfin/transcoding-temp/f4f3d66cd35d201c12fa4fcff81c5be2%d.ts"
 
 
ffmpeg version n4.0 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 20160609
  configuration: --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
Input #0, matroska,webm, from 'file:/media/drives/medialibrary/anime/A Certain Scientific Railgun/Season 1/A Certain Scientific Railgun - S01E01 - Electro Master Bluray-1080p.mkv':
  Metadata:
    encoder         : libebml v1.3.3 + libmatroska v1.4.4
    creation_time   : 2017-08-30T02:12:49.000000Z
  Duration: 00:25:12.18, start: 0.000000, bitrate: 8861 kb/s
    Chapter #0:0: start 0.000000, end 143.018000
    Metadata:
      title           : Avant
    Chapter #0:1: start 143.018000, end 233.066000
    Metadata:
      title           : OP
    Chapter #0:2: start 233.066000, end 713.087000
    Metadata:
      title           : Part A
    Chapter #0:3: start 713.087000, end 1411.076000
    Metadata:
      title           : Part B
    Chapter #0:4: start 1411.076000, end 1501.083000
    Metadata:
      title           : ED
    Chapter #0:5: start 1501.083000, end 1512.180000
    Metadata:
      title           : Next
    Stream #0:0(jpn): Video: h264 (High 10), yuv420p10le(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Metadata:
      title           : [Beatrice-Raws]
      BPS             : 6573073
      BPS-eng         : 6573073
      DURATION        : 00:25:12.178000000
      DURATION-eng    : 00:25:12.178000000
      NUMBER_OF_FRAMES: 36256
      NUMBER_OF_FRAMES-eng: 36256
      NUMBER_OF_BYTES : 1242457088
      NUMBER_OF_BYTES-eng: 1242457088
      _STATISTICS_WRITING_APP: mkvmerge v9.2.0 ('Photograph') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v9.2.0 ('Photograph') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-08-30 02:12:49
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-30 02:12:49
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:1(eng): Audio: flac, 48000 Hz, 5.1(side), s16 (default)
    Metadata:
      title           : FLAC 5.1 [Etzimal]
      BPS             : 1505363
      BPS-eng         : 1505363
      DURATION        : 00:25:10.046000000
      DURATION-eng    : 00:25:10.046000000
      NUMBER_OF_FRAMES: 17696
      NUMBER_OF_FRAMES-eng: 17696
      NUMBER_OF_BYTES : 284145973
      NUMBER_OF_BYTES-eng: 284145973
      _STATISTICS_WRITING_APP: mkvmerge v9.2.0 ('Photograph') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v9.2.0 ('Photograph') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-08-30 02:12:49
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-30 02:12:49
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:2(jpn): Audio: flac, 48000 Hz, stereo, s16
    Metadata:
      title           : FLAC 2.0 [Beatrice]
      BPS             : 738197
      BPS-eng         : 738197
      DURATION        : 00:25:12.180000000
      DURATION-eng    : 00:25:12.180000000
      NUMBER_OF_FRAMES: 17721
      NUMBER_OF_FRAMES-eng: 17721
      NUMBER_OF_BYTES : 139535963
      NUMBER_OF_BYTES-eng: 139535963
      _STATISTICS_WRITING_APP: mkvmerge v9.2.0 ('Photograph') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v9.2.0 ('Photograph') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-08-30 02:12:49
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-30 02:12:49
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:3(eng): Subtitle: ass (default) (forced)
    Metadata:
      title           : Signs [Chrisazter]
      BPS             : 57
      BPS-eng         : 57
      DURATION        : 00:25:10.090000000
      DURATION-eng    : 00:25:10.090000000
      NUMBER_OF_FRAMES: 93
      NUMBER_OF_FRAMES-eng: 93
      NUMBER_OF_BYTES : 10911
      NUMBER_OF_BYTES-eng: 10911
      _STATISTICS_WRITING_APP: mkvmerge v9.2.0 ('Photograph') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v9.2.0 ('Photograph') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-08-30 02:12:49
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-30 02:12:49
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:4(jpn): Subtitle: ass
    Metadata:
      title           : Subtitles [Chrisazter]
      BPS             : 171
      BPS-eng         : 171
      DURATION        : 00:25:10.090000000
      DURATION-eng    : 00:25:10.090000000
      NUMBER_OF_FRAMES: 506
      NUMBER_OF_FRAMES-eng: 506
      NUMBER_OF_BYTES : 32305
      NUMBER_OF_BYTES-eng: 32305
      _STATISTICS_WRITING_APP: mkvmerge v9.2.0 ('Photograph') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v9.2.0 ('Photograph') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-08-30 02:12:49
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-30 02:12:49
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:5: Attachment: ttf
    Metadata:
      filename        : Monotype Corsiva.TTF
      mimetype        : application/x-truetype-font
    Stream #0:6: Attachment: ttf
    Metadata:
      filename        : ARIALN.TTF
      mimetype        : application/x-truetype-font
    Stream #0:7: Attachment: ttf
    Metadata:
      filename        : ARLRDBD.TTF
      mimetype        : application/x-truetype-font
    Stream #0:8: Attachment: ttf
    Metadata:
      filename        : chalkdust.ttf
      mimetype        : application/x-truetype-font
    Stream #0:9: Attachment: ttf
    Metadata:
      filename        : comic.ttf
      mimetype        : application/x-truetype-font
    Stream #0:10: Attachment: ttf
    Metadata:
      filename        : epmgobld.ttf
      mimetype        : application/x-truetype-font
    Stream #0:11: Attachment: ttf
    Metadata:
      filename        : GARA.TTF
      mimetype        : application/x-truetype-font
    Stream #0:12: Attachment: ttf
    Metadata:
      filename        : KozMinPro-Bold.otf
      mimetype        : application/x-truetype-font
    Stream #0:13: Attachment: ttf
    Metadata:
      filename        : MAIAN.TTF
      mimetype        : application/x-truetype-font
    Stream #0:14: Attachment: ttf
    Metadata:
      filename        : mentone-semibold.otf
      mimetype        : application/x-truetype-font
    Stream #0:15: Attachment: ttf
    Metadata:
      filename        : jesaya free.ttf
      mimetype        : application/x-truetype-font
[h264_cuvid @ 0x2c790c0] Bit depth 10 is not supported.
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (h264_cuvid) -> h264 (h264_nvenc))
  Stream #0:2 -> #0:1 (flac (native) -> aac (native))
Error while opening decoder for input stream #0:0 : Invalid argument

System (please complete the following information):

  • OS: Ubuntu 16.04
  • Browser: N/A (bug is not browser dependent)
  • Jellyfin Version: 10.1.0

Additional context
This may only be a problem on older non Nvidia Pascal GPUs, though it appears that Nvidia hardware acceleration does not support 10-bit h264 no matter the architecture. I am using a GTX 750.

Originally created by @eoop on GitHub (Jan 24, 2019). **Describe the bug** If 10-bit h264 video is transcoded with NVENC hardware acceleration enabled FFmpeg will throw an error since 10-bit h264 transcoding is not supported on Nvidia hardware. Client side, the video will appear to be continuously loading. **To Reproduce** Steps to reproduce the behavior: 1. Enable NVENC Hardware Acceleration in Jellyfin 2. Input path to NVENC enabled FFmpeg binary 3. Attempt playback of 10-bit h264 video in browser 4. See log for FFmpeg error **Expected behavior** When playing video unsupported by hardware acceleration, fall back to software decoding/encoding. **Logs** ``` {"Protocol":"File","Id":"b145acc35d4756f88dfc206ab47c7618","Path":"/media/drives/medialibrary/anime/A Certain Scientific Railgun/Season 1/A Certain Scientific Railgun - S01E01 - Electro Master Bluray-1080p.mkv","Type":"Default","Container":"mkv,webm","Name":"A Certain Scientific Railgun - S01E01 - Electro Master Bluray-1080p","IsRemote":false,"ETag":"5a194628ebf2fc508bed6f32777aaae9","RunTimeTicks":15121800192,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":true,"VideoType":"VideoFile","MediaStreams":[{"Codec":"h264","Language":"jpn","TimeBase":"1/1000","CodecTimeBase":"1001/48000","Title":"[Beatrice-Raws]","VideoRange":"SDR","DisplayTitle":"1080P H264","NalLengthSize":"4","IsInterlaced":false,"IsAVC":true,"BitRate":8861911,"BitDepth":10,"RefFrames":4,"IsDefault":true,"IsForced":false,"Height":1080,"Width":1920,"AverageFrameRate":23.9760246,"RealFrameRate":23.9760246,"Profile":"High 10","Type":"Video","AspectRatio":"16:9","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"PixelFormat":"yuv420p10le","Level":50},{"Codec":"flac","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"1/48000","Title":"FLAC 5.1 [Etzimal]","DisplayTitle":"Eng FLAC 5.1 Default","IsInterlaced":false,"ChannelLayout":"5.1","BitDepth":16,"Channels":6,"SampleRate":48000,"IsDefault":true,"IsForced":false,"Type":"Audio","Index":1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0},{"Codec":"flac","Language":"jpn","TimeBase":"1/1000","CodecTimeBase":"1/48000","Title":"FLAC 2.0 [Beatrice]","DisplayTitle":"Jpn FLAC stereo","IsInterlaced":false,"ChannelLayout":"stereo","BitDepth":16,"Channels":2,"SampleRate":48000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":2,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0},{"Codec":"ass","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"1/1000","Title":"Signs [Chrisazter]","DisplayTitle":"Eng Default Forced","IsInterlaced":false,"IsDefault":true,"IsForced":true,"Type":"Subtitle","Index":3,"IsExternal":false,"IsTextSubtitleStream":true,"SupportsExternalStream":true,"Level":0},{"Codec":"ass","Language":"jpn","TimeBase":"1/1000","CodecTimeBase":"1/1000","Title":"Subtitles [Chrisazter]","DisplayTitle":"Jpn","IsInterlaced":false,"IsDefault":false,"IsForced":false,"Type":"Subtitle","Index":4,"IsExternal":false,"IsTextSubtitleStream":true,"SupportsExternalStream":true,"Level":0}],"Formats":[],"Bitrate":8861911,"RequiredHttpHeaders":{}} /home/logan/bin/ffmpeg -c:v h264_cuvid -resize 1920x1080 -i file:"/media/drives/medialibrary/anime/A Certain Scientific Railgun/Season 1/A Certain Scientific Railgun - S01E01 - Electro Master Bluray-1080p.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:2 -map -0:s -codec:v:0 h264_nvenc -pix_fmt yuv420p -preset default -b:v 139808000 -maxrate 139808000 -bufsize 279616000 -profile:v high -force_key_frames "expr:gte(t,n_forced*3)" -copyts -vsync -1 -codec:a:0 aac -strict experimental -ac 2 -ab 192000 -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 3 -individual_header_trailer 0 -segment_format mpegts -segment_list_type m3u8 -segment_start_number 0 -segment_list "/var/lib/jellyfin/transcoding-temp/f4f3d66cd35d201c12fa4fcff81c5be2.m3u8" -y "/var/lib/jellyfin/transcoding-temp/f4f3d66cd35d201c12fa4fcff81c5be2%d.ts" ffmpeg version n4.0 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 20160609 configuration: --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libswscale 5. 1.100 / 5. 1.100 libswresample 3. 1.100 / 3. 1.100 Input #0, matroska,webm, from 'file:/media/drives/medialibrary/anime/A Certain Scientific Railgun/Season 1/A Certain Scientific Railgun - S01E01 - Electro Master Bluray-1080p.mkv': Metadata: encoder : libebml v1.3.3 + libmatroska v1.4.4 creation_time : 2017-08-30T02:12:49.000000Z Duration: 00:25:12.18, start: 0.000000, bitrate: 8861 kb/s Chapter #0:0: start 0.000000, end 143.018000 Metadata: title : Avant Chapter #0:1: start 143.018000, end 233.066000 Metadata: title : OP Chapter #0:2: start 233.066000, end 713.087000 Metadata: title : Part A Chapter #0:3: start 713.087000, end 1411.076000 Metadata: title : Part B Chapter #0:4: start 1411.076000, end 1501.083000 Metadata: title : ED Chapter #0:5: start 1501.083000, end 1512.180000 Metadata: title : Next Stream #0:0(jpn): Video: h264 (High 10), yuv420p10le(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default) Metadata: title : [Beatrice-Raws] BPS : 6573073 BPS-eng : 6573073 DURATION : 00:25:12.178000000 DURATION-eng : 00:25:12.178000000 NUMBER_OF_FRAMES: 36256 NUMBER_OF_FRAMES-eng: 36256 NUMBER_OF_BYTES : 1242457088 NUMBER_OF_BYTES-eng: 1242457088 _STATISTICS_WRITING_APP: mkvmerge v9.2.0 ('Photograph') 64bit _STATISTICS_WRITING_APP-eng: mkvmerge v9.2.0 ('Photograph') 64bit _STATISTICS_WRITING_DATE_UTC: 2017-08-30 02:12:49 _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-30 02:12:49 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:1(eng): Audio: flac, 48000 Hz, 5.1(side), s16 (default) Metadata: title : FLAC 5.1 [Etzimal] BPS : 1505363 BPS-eng : 1505363 DURATION : 00:25:10.046000000 DURATION-eng : 00:25:10.046000000 NUMBER_OF_FRAMES: 17696 NUMBER_OF_FRAMES-eng: 17696 NUMBER_OF_BYTES : 284145973 NUMBER_OF_BYTES-eng: 284145973 _STATISTICS_WRITING_APP: mkvmerge v9.2.0 ('Photograph') 64bit _STATISTICS_WRITING_APP-eng: mkvmerge v9.2.0 ('Photograph') 64bit _STATISTICS_WRITING_DATE_UTC: 2017-08-30 02:12:49 _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-30 02:12:49 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:2(jpn): Audio: flac, 48000 Hz, stereo, s16 Metadata: title : FLAC 2.0 [Beatrice] BPS : 738197 BPS-eng : 738197 DURATION : 00:25:12.180000000 DURATION-eng : 00:25:12.180000000 NUMBER_OF_FRAMES: 17721 NUMBER_OF_FRAMES-eng: 17721 NUMBER_OF_BYTES : 139535963 NUMBER_OF_BYTES-eng: 139535963 _STATISTICS_WRITING_APP: mkvmerge v9.2.0 ('Photograph') 64bit _STATISTICS_WRITING_APP-eng: mkvmerge v9.2.0 ('Photograph') 64bit _STATISTICS_WRITING_DATE_UTC: 2017-08-30 02:12:49 _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-30 02:12:49 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:3(eng): Subtitle: ass (default) (forced) Metadata: title : Signs [Chrisazter] BPS : 57 BPS-eng : 57 DURATION : 00:25:10.090000000 DURATION-eng : 00:25:10.090000000 NUMBER_OF_FRAMES: 93 NUMBER_OF_FRAMES-eng: 93 NUMBER_OF_BYTES : 10911 NUMBER_OF_BYTES-eng: 10911 _STATISTICS_WRITING_APP: mkvmerge v9.2.0 ('Photograph') 64bit _STATISTICS_WRITING_APP-eng: mkvmerge v9.2.0 ('Photograph') 64bit _STATISTICS_WRITING_DATE_UTC: 2017-08-30 02:12:49 _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-30 02:12:49 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:4(jpn): Subtitle: ass Metadata: title : Subtitles [Chrisazter] BPS : 171 BPS-eng : 171 DURATION : 00:25:10.090000000 DURATION-eng : 00:25:10.090000000 NUMBER_OF_FRAMES: 506 NUMBER_OF_FRAMES-eng: 506 NUMBER_OF_BYTES : 32305 NUMBER_OF_BYTES-eng: 32305 _STATISTICS_WRITING_APP: mkvmerge v9.2.0 ('Photograph') 64bit _STATISTICS_WRITING_APP-eng: mkvmerge v9.2.0 ('Photograph') 64bit _STATISTICS_WRITING_DATE_UTC: 2017-08-30 02:12:49 _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-30 02:12:49 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:5: Attachment: ttf Metadata: filename : Monotype Corsiva.TTF mimetype : application/x-truetype-font Stream #0:6: Attachment: ttf Metadata: filename : ARIALN.TTF mimetype : application/x-truetype-font Stream #0:7: Attachment: ttf Metadata: filename : ARLRDBD.TTF mimetype : application/x-truetype-font Stream #0:8: Attachment: ttf Metadata: filename : chalkdust.ttf mimetype : application/x-truetype-font Stream #0:9: Attachment: ttf Metadata: filename : comic.ttf mimetype : application/x-truetype-font Stream #0:10: Attachment: ttf Metadata: filename : epmgobld.ttf mimetype : application/x-truetype-font Stream #0:11: Attachment: ttf Metadata: filename : GARA.TTF mimetype : application/x-truetype-font Stream #0:12: Attachment: ttf Metadata: filename : KozMinPro-Bold.otf mimetype : application/x-truetype-font Stream #0:13: Attachment: ttf Metadata: filename : MAIAN.TTF mimetype : application/x-truetype-font Stream #0:14: Attachment: ttf Metadata: filename : mentone-semibold.otf mimetype : application/x-truetype-font Stream #0:15: Attachment: ttf Metadata: filename : jesaya free.ttf mimetype : application/x-truetype-font [h264_cuvid @ 0x2c790c0] Bit depth 10 is not supported. Stream mapping: Stream #0:0 -> #0:0 (h264 (h264_cuvid) -> h264 (h264_nvenc)) Stream #0:2 -> #0:1 (flac (native) -> aac (native)) Error while opening decoder for input stream #0:0 : Invalid argument ``` **System (please complete the following information):** - OS: Ubuntu 16.04 - Browser: N/A (bug is not browser dependent) - Jellyfin Version: 10.1.0 **Additional context** This may only be a problem on older non Nvidia Pascal GPUs, though it appears that Nvidia hardware acceleration does not support 10-bit h264 no matter the architecture. I am using a GTX 750.
OVERLORD added the bugstale labels 2026-02-06 19:35:14 +03:00
Author
Owner

@hawken93 commented on GitHub (Jan 25, 2019):

I think newer chips support 10 bit but I couldn't find documentation right away. Would be nice to have fallback logic if ffmpeg exits with an error or based on similar conditions.. Maybe also investigate if ffmpeg has a way to display the supported formats..

@hawken93 commented on GitHub (Jan 25, 2019): I think newer chips support 10 bit but I couldn't find documentation right away. Would be nice to have fallback logic if ffmpeg exits with an error or based on similar conditions.. Maybe also investigate if ffmpeg has a way to display the supported formats..
Author
Owner

@EraYaN commented on GitHub (Jan 25, 2019):

Only for encode or videos encoded using p010le, since you can't decode with converting the pixel format beforehand. The nvidia support matrix doesn't even mention 10-bit support for AVC. Only HEVC.

@EraYaN commented on GitHub (Jan 25, 2019): Only for encode or videos encoded using `p010le`, since you can't decode with converting the pixel format beforehand. The nvidia support matrix doesn't even mention 10-bit support for AVC. Only HEVC.
Author
Owner

@Evoley commented on GitHub (Jan 27, 2019):

I can add more information to this issue if needed as I thought it was due to the subtitles some files were using ( #695 ) .

@Evoley commented on GitHub (Jan 27, 2019): I can add more information to this issue if needed as I thought it was due to the subtitles some files were using ( #695 ) .
Author
Owner

@selkiess commented on GitHub (Feb 28, 2019):

Just to add more information to this issue to help with a better fix

While referenced as hardware acceleration above, specifically this bug has to do hardware decoding a h264 10 bit video.

this page from nvidia has decode/encode charts with supported bit depths:
https://developer.nvidia.com/nvidia-video-codec-sdk

Even turing does not have support for 10 bit decode or encode with h.264, only h.265

@selkiess commented on GitHub (Feb 28, 2019): Just to add more information to this issue to help with a better fix While referenced as hardware acceleration above, specifically this bug has to do hardware decoding a h264 10 bit video. this page from nvidia has decode/encode charts with supported bit depths: [https://developer.nvidia.com/nvidia-video-codec-sdk](https://developer.nvidia.com/nvidia-video-codec-sdk) Even turing does not have support for 10 bit decode or encode with h.264, only h.265
Author
Owner

@stale[bot] commented on GitHub (Jul 30, 2019):

Issues go stale after 60d of inactivity. Mark the issue as fresh by adding a comment or commit. Stale issues close after an additional 7d of inactivity. If this issue is safe to close now please do so. If you have any questions you can reach us on Matrix or Social Media.

@stale[bot] commented on GitHub (Jul 30, 2019): Issues go stale after 60d of inactivity. Mark the issue as fresh by adding a comment or commit. Stale issues close after an additional 7d of inactivity. If this issue is safe to close now please do so. If you have any questions you can reach us on [Matrix or Social Media](https://jellyfin.readthedocs.io/en/latest/getting-help/).
Author
Owner

@selkiess commented on GitHub (Sep 29, 2019):

Would it be possible to reopen this issue? It is still a bug on the current version.

@selkiess commented on GitHub (Sep 29, 2019): Would it be possible to reopen this issue? It is still a bug on the current version.
Author
Owner

@joshuaboniface commented on GitHub (Sep 29, 2019):

Might be fixed as we move to ffmpeg 4.2 - stay tuned.

@joshuaboniface commented on GitHub (Sep 29, 2019): Might be fixed as we move to ffmpeg 4.2 - stay tuned.
Author
Owner

@Scrumplex commented on GitHub (Oct 15, 2019):

No matter if this specific issue will be fixed. There should definitely be something like an error screen for the player, so the user does not get frustrated, when some ffmpeg error occurs.

@Scrumplex commented on GitHub (Oct 15, 2019): No matter if this specific issue will be fixed. There should definitely be something like an error screen for the player, so the user does not get frustrated, when some ffmpeg error occurs.
Author
Owner

@RazeLighter777 commented on GitHub (Dec 8, 2019):

I am currently having this same issue. Basically, NVENC doesn't support 10bit h264 at all, even in the latest GPUs. Therefore, there should be logic in the program to let the CPU take over when there are no available ways to use hardware transcoding.

@RazeLighter777 commented on GitHub (Dec 8, 2019): I am currently having this same issue. Basically, NVENC doesn't support 10bit h264 at all, even in the latest GPUs. Therefore, there should be logic in the program to let the CPU take over when there are no available ways to use hardware transcoding.
Author
Owner

@RazeLighter777 commented on GitHub (Dec 8, 2019):

I have more information on this issue. After picking through the logs, I found out that basically the decoder doesn't support 10-bit h264 (h264_cuvid), but the encoder (h264_nvenc) does. Therefore, the solution is to use regular h264 as the decoder and h264_nvenc as the encoder. I imagine this reduces performance a little bit and hits the cpu, but it's still better than failing

Like this (see the part in **)
/usr/lib/jellyfin-ffmpeg/ffmpeg **-c:v h264** -resize 1920x1080 -i file:"10-bit_264_file.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 4371161 -maxrate 4371161 -bufsize 8742322 -profile:v high -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -copyts -vf "subtitles='10-bit_264_file.mkv":si=0'" -vsync -1 -codec:a:0 aac -strict experimental -ac 2 -ab 192000 -f hls -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/481004b35d9b1472ecbe6bb041bb17fd%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/481004b35d9b1472ecbe6bb041bb17fd.m3u8"

Versus this:
/usr/lib/jellyfin-ffmpeg/ffmpeg **-c:v h264_cuvid** -resize 1920x1080 -i file:"10-bit_264_file.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 4371161 -maxrate 4371161 -bufsize 8742322 -profile:v high -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -copyts -vf "subtitles='10-bit_264_file.mkv":si=0'" -vsync -1 -codec:a:0 aac -strict experimental -ac 2 -ab 192000 -f hls -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/481004b35d9b1472ecbe6bb041bb17fd%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/481004b35d9b1472ecbe6bb041bb17fd.m3u8"
As you can see this solution uses regular h264 for the decoding but h264_nvenc for the encoding.
I'm not too experienced with ffmpeg so if someone could chime in with this that would be cool.

@RazeLighter777 commented on GitHub (Dec 8, 2019): I have more information on this issue. After picking through the logs, I found out that basically the decoder doesn't support 10-bit h264 (h264_cuvid), but the encoder (h264_nvenc) does. Therefore, the solution is to use regular h264 as the decoder and h264_nvenc as the encoder. I imagine this reduces performance a little bit and hits the cpu, but it's still better than failing Like this (see the part in **) `` /usr/lib/jellyfin-ffmpeg/ffmpeg **-c:v h264** -resize 1920x1080 -i file:"10-bit_264_file.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 4371161 -maxrate 4371161 -bufsize 8742322 -profile:v high -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -copyts -vf "subtitles='10-bit_264_file.mkv":si=0'" -vsync -1 -codec:a:0 aac -strict experimental -ac 2 -ab 192000 -f hls -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/481004b35d9b1472ecbe6bb041bb17fd%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/481004b35d9b1472ecbe6bb041bb17fd.m3u8" `` Versus this: `` /usr/lib/jellyfin-ffmpeg/ffmpeg **-c:v h264_cuvid** -resize 1920x1080 -i file:"10-bit_264_file.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 4371161 -maxrate 4371161 -bufsize 8742322 -profile:v high -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -copyts -vf "subtitles='10-bit_264_file.mkv":si=0'" -vsync -1 -codec:a:0 aac -strict experimental -ac 2 -ab 192000 -f hls -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/481004b35d9b1472ecbe6bb041bb17fd%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/481004b35d9b1472ecbe6bb041bb17fd.m3u8" `` As you can see this solution uses regular h264 for the decoding but h264_nvenc for the encoding. I'm not too experienced with ffmpeg so if someone could chime in with this that would be cool.
Author
Owner

@RazeLighter777 commented on GitHub (Dec 8, 2019):

@Scrumplex There is an error screen for me saying "no compatible streams" or something like that.

@RazeLighter777 commented on GitHub (Dec 8, 2019): @Scrumplex There is an error screen for me saying "no compatible streams" or something like that.
Author
Owner

@davispuh commented on GitHub (Feb 14, 2020):

I'm also having this issue, logs show

[h264_cuvid @ 0x55a81f681140] Bit depth 10 is not supported.
Stream mapping:
  Stream #0:1 -> #0:0 (h264 (h264_cuvid) -> h264 (h264_nvenc))
  Stream #0:2 -> #0:1 (flac (native) -> aac (native))
Error while opening decoder for input stream #0:1 : Invalid argument

I'm using NVENC on GeForce GTX 650 Ti.

@davispuh commented on GitHub (Feb 14, 2020): I'm also having this issue, logs show ```` [h264_cuvid @ 0x55a81f681140] Bit depth 10 is not supported. Stream mapping: Stream #0:1 -> #0:0 (h264 (h264_cuvid) -> h264 (h264_nvenc)) Stream #0:2 -> #0:1 (flac (native) -> aac (native)) Error while opening decoder for input stream #0:1 : Invalid argument ```` I'm using NVENC on GeForce GTX 650 Ti.
Author
Owner

@EraYaN commented on GitHub (Mar 9, 2020):

10-bit h264 will never be supported for hardware transcoding, no vendor has ever made a hardware implementation.

#2127 looks to at least make sure it correctly falls back to software transcoding.

@EraYaN commented on GitHub (Mar 9, 2020): 10-bit h264 will never be supported for hardware transcoding, no vendor has ever made a hardware implementation. #2127 looks to at least make sure it correctly falls back to software transcoding.
Author
Owner

@stale[bot] commented on GitHub (Jul 7, 2020):

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 nightlies, 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.

@stale[bot] commented on GitHub (Jul 7, 2020): 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 nightlies, 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#325