Jump to content


Photo

Transcoding/Encoding Issue (QNAP, NVIDIA Quadro P2000, IPTV)


  • Please log in to reply
10 replies to this topic

#1 embyaner OFFLINE  

embyaner

    Newbie

  • Members
  • 6 posts
  • Local time: 06:16 PM

Posted 22 February 2020 - 09:46 AM

Hi guys,

 

I am having an issue with transcoding/encoding an UHD IPTV stream using H.265/HEVC.

Hardware acceleration is not used when encoding the stream in H.264/AVC.

 

System Type: QNAP x86_64 with AMD processor

Graphics Card: NVIDIA Quadro P2000 (NVENC + NVDEC)

Used version of emby: 4.4.0.16-beta (same behaviour with the current stable)

 

Decoding HEVC seems to work:

>>>>>>  FindVideoDecoder - MediaType: hevc, Mode: Custom
Info    Checking: 'NVDEC Quadro P2000 - H.265 (HEVC)'
Info    Check successful - selecting 'NVDEC Quadro P2000 - H.265 (HEVC)'

But encoding does not use hardware acceleration:

>>>>>>  FindVideoEncoder - Media: h264, UseHardwareCodecs: True, Mode: Custom
Info    Checking: 'NVENC Quadro P2000 - H.264 (AVC)'

Warning: The required encoding level (AvcLevel52) is greater than the maximum level supported by the client (AvcLevel51)
NoMatch Encoder does not support the minimum requied encoding level (AvcLevel52)
NoMatch Encoder does not match
Info    Checking: 'libx264 Software Encoder'

Warning: The required encoding level (AvcLevel52) is greater than the maximum level supported by the client (AvcLevel51)
Info    Check successful - selecting 'libx264 Software Encoder'

...

>>>>>>  Processing Plan
Info    Name                                        CanDoInHardware      WillDoInHardware     Reason                                  
Info    NVDEC Quadro P2000 - H.265 (HEVC)        >> True                 True                 Hardware Codec                           
Info    VideoInput                               >> False                False                The sw pipeline builder does not supp... 
Info    ColorConversion                          >> False                False                                                         
Info    VideoOutput                              >> False                False                Not a hardware encoder                   
Info    libx264 Software Encoder                 >> False                False                Software Codec                           


>>>>>>  Projected Processing Formats
Info    Previous                HW-Context   Format       SW-Format       Next
Info    hevc_cuvid           >> -            yuv420p10    yuv420p10    >> format
Info    format               >> -            yuv420p      yuv420p      >> 

Additionally some stream details:

{"Protocol":"Http","Id":"123","Path":"http://127.0.0.1:8096/LiveTv/LiveStreamFiles/123/stream.ts","Type":"Default","Container":"mpegts","IsRemote":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":false,"IsInfiniteStream":true,"RequiresOpening":true,"RequiresClosing":true,"LiveStreamId":"123","RequiresLooping":false,"SupportsProbing":false,"MediaStreams":[{"Codec":"hevc","ColorTransfer":"arib-std-b67","ColorPrimaries":"bt2020","ColorSpace":"bt2020nc","TimeBase":"1/90000","CodecTimeBase":"1/50","VideoRange":"HDR","DisplayTitle":"4K HEVC","IsInterlaced":false,"BitRate":30000000,"RefFrames":1,"IsDefault":false,"IsForced":false,"Height":2160,"Width":3840,"AverageFrameRate":50,"RealFrameRate":50,"Profile":"Main 10","Type":"Video","AspectRatio":"16:9","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Protocol":"File","PixelFormat":"yuv420p10le","Level":153,"IsAnamorphic":false},{"Codec":"eac3","TimeBase":"1/90000","CodecTimeBase":"1/48000","DisplayTitle":"Dolby Digital+ stereo","IsInterlaced":false,"ChannelLayout":"stereo","BitRate":224000,"Channels":2,"SampleRate":48000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Protocol":"File","Level":0}],"Formats":[],"Bitrate":30224000,"RequiredHttpHeaders":{"User-Agent":"VLC/3.0.1"},"ReadAtNativeFramerate":false}

The complete log is attached.

 

Do I need to change a configuration? I think hardware encoding should work in this case, because the P2000 supports it.

 

Decoder
NVDEC Quadro P2000 - MPEG-2
NVDEC Quadro P2000 - VC-1
NVDEC Quadro P2000 - H.264 (AVC)
NVDEC Quadro P2000 - H.265 (HEVC)
NVDEC Quadro P2000 - VP9

Encoder
NVENC Quadro P2000 - H.264 (AVC)
NVENC Quadro P2000 - H.265 (HEVC)

Thanks in advance!



#2 embyaner OFFLINE  

embyaner

    Newbie

  • Members
  • 6 posts
  • Local time: 06:16 PM

Posted 22 February 2020 - 09:51 AM

The complete logfile is attached to this reply. I didn't realize I need to press the "attach" button when creating the thread.

Attached File  ffmpeg-transcode.txt   21.64KB   4 downloads



#3 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 152591 posts
  • Local time: 01:16 PM

Posted 22 February 2020 - 05:12 PM

Hi there, did you follow our hardware acceleration setup guide?
https://support.emby...ration-overview

#4 embyaner OFFLINE  

embyaner

    Newbie

  • Members
  • 6 posts
  • Local time: 06:16 PM

Posted 23 February 2020 - 09:34 AM

Hi there, did you follow our hardware acceleration setup guide?
https://support.emby...ration-overview

Same issue even with subtitles disabled.

Transcoding works in general - playing local MKV containers (various video and audio formats) ain't an issue.



#5 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 152591 posts
  • Local time: 01:16 PM

Posted 23 February 2020 - 03:22 PM

Did you follow the setup guide, and if so, what did you do?



#6 embyaner OFFLINE  

embyaner

    Newbie

  • Members
  • 6 posts
  • Local time: 06:16 PM

Posted 24 February 2020 - 04:27 PM

Did you follow the setup guide, and if so, what did you do?

After installing the graphics card into the QNAP NAS, the drivers have automatically been installed by the OS. NvKernelDriver and NVIDIA GPU Driver. Everything (OS, NvKernelDriver, NVIDIA GPU Driver) is updated to the most recent version.

Emby discovered the graphics card and listed it on the transcoding settings page. All checkboxes are checked, so the graphics card should be used for every available codec as encoder/decoder. And it is working for streams of local files. Okay, at least sometimes I had to disable subtitles to prevent stuttering.

 

Example

>>>>>> FindVideoEncoder - Media: h264, UseHardwareCodecs: True, Mode: Custom
Info Checking: 'NVENC Quadro P2000 - H.264 (AVC)'
Info Check successful - selecting 'NVENC Quadro P2000 - H.264 (AVC)'

>>>>>> FindVideoDecoder - MediaType: hevc, Mode: Custom
Info Checking: 'NVDEC Quadro P2000 - H.265 (HEVC)'
Info Check successful - selecting 'NVDEC Quadro P2000 - H.265 (HEVC)'

>>>>>>  Processing Plan
Info    Name                                        CanDoInHardware      WillDoInHardware     Reason                                  
Info    NVDEC Quadro P2000 - H.265 (HEVC)        >> True                 True                 Hardware Codec                           
Info    VideoInput                               >> True                 True                 Matching hardware context                
Info    ColorConversion                          >> True                 True                                                          
Info    VideoOutput                              >> True                 True                 Hardware encoder                         
Info    NVENC Quadro P2000 - H.264 (AVC)         >> True                 True                 Hardware Codec                           

>>>>>>  Projected Processing Formats
Info    Previous                HW-Context   Format       SW-Format       Next
Info    hevc_cuvid           >> CUDA         cuda         yuv420p10    >> scale_cuda
Info    scale_cuda           >> CUDA         cuda         nv12         >> setsar
Info    setsar               >> CUDA         cuda         nv12         >> 

So, the only two things mentioned in the setup guide, installing the driver and maybe disable subtitles, is done.

 

The graphics card is detected and chosen for streaming local files. So maybe that IPTV stream has something Emby does not want the graphics card to do - or is not supported by the GPU?



#7 softworkz OFFLINE  

softworkz

    Advanced Member

  • Developers
  • 2560 posts
  • Local time: 07:16 PM

Posted 26 February 2020 - 12:01 AM

This should be fixed in the next beta (not the .17 from today - the next one)

 

Thanks a lot for reporting!



#8 embyaner OFFLINE  

embyaner

    Newbie

  • Members
  • 6 posts
  • Local time: 06:16 PM

Posted 26 February 2020 - 04:40 PM

Thank you, I will test with .18 when it gets released and report back.



#9 softworkz OFFLINE  

softworkz

    Advanced Member

  • Developers
  • 2560 posts
  • Local time: 07:16 PM

Posted 28 February 2020 - 02:19 AM

@embyaner  - Just fyi - beta .18 is available now. 



#10 embyaner OFFLINE  

embyaner

    Newbie

  • Members
  • 6 posts
  • Local time: 06:16 PM

Posted 29 February 2020 - 07:54 AM

Looks good, thank you!

 
>>>>>>  FindVideoEncoder - Media: h264, UseHardwareCodecs: True, Mode: Custom
Info    Checking: 'NVENC Quadro P2000 - H.264 (AVC)'
Info    Check successful - selecting 'NVENC Quadro P2000 - H.264 (AVC)'

>>>>>>  FindVideoDecoder - MediaType: hevc, Mode: Custom
Info    Checking: 'NVDEC Quadro P2000 - H.265 (HEVC)'
Info    Check successful - selecting 'NVDEC Quadro P2000 - H.265 (HEVC)'

Warning: No filter behavior available for filter setsar

>>>>>>  Processing Plan
Info    Name                                        CanDoInHardware      WillDoInHardware     Reason                                  
Info    NVDEC Quadro P2000 - H.265 (HEVC)        >> True                 True                 Hardware Codec                           
Info    VideoInput                               >> True                 True                 Matching hardware context                
Info    ColorConversion                          >> True                 True                                                          
Info    VideoOutput                              >> True                 True                 Hardware encoder                         
Info    NVENC Quadro P2000 - H.264 (AVC)         >> True                 True                 Hardware Codec                           

>>>>>>  Projected Processing Formats
Info    Previous                HW-Context   Format       SW-Format       Next
Info    hevc_cuvid           >> CUDA         cuda         yuv420p10    >> scale_cuda
Info    scale_cuda           >> CUDA         cuda         nv12         >> setsar
Info    setsar               >> CUDA         cuda         nv12         >> 

Edited by embyaner, 29 February 2020 - 07:55 AM.

  • softworkz likes this

#11 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 152591 posts
  • Local time: 01:16 PM

Posted 29 February 2020 - 01:52 PM

Thanks for the feedback !




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users