Project

General

Profile

TVH compiled-no stream profile VP9 or H265 available

Added by Jonas Lang over 1 year ago

I just purchased an HP Elitedesk with Kaby Lake processor with Intel HD 630. It's running Ubuntu 22.04 lts with a locally compiled TVH 4.3-2120~g18effa8ad and Kodi Nexus latest.

According to the output of vainfo these two profiles should be supported or maybe I'm reading the output incorrectly.

This is the build command I used

AUTOBUILD_CONFIGURE_EXTRA=--enable-libffmpeg_static\ --enable-vaapi\ --enable-trace\ --enable-debug ./Autobuild.sh

vainfo
libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.3.1 ()
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :    VAEntrypointVLD
      VAProfileMPEG2Main              :    VAEntrypointVLD
      VAProfileH264Main               :    VAEntrypointVLD
      VAProfileH264Main               :    VAEntrypointEncSliceLP
      VAProfileH264High               :    VAEntrypointVLD
      VAProfileH264High               :    VAEntrypointEncSliceLP
      VAProfileJPEGBaseline           :    VAEntrypointVLD
      VAProfileJPEGBaseline           :    VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline:    VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:    VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          :    VAEntrypointVLD
      VAProfileHEVCMain               :    VAEntrypointVLD
      VAProfileHEVCMain10             :    VAEntrypointVLD
      VAProfileVP9Profile0            :    VAEntrypointVLD
      VAProfileVP9Profile2            :    VAEntrypointVLD

This is the output of./configure

./configure
Checking support/features
  checking for cc execinfo.h ...                    ok
  checking for cc -mmmx ...                         ok
  checking for cc -msse2 ...                        ok
  checking for cc -Wunused-result ...               ok
  checking for cc -fstack-protector ...             ok
  checking for cc -fstack-protector-strong ...      ok
  checking for cc -fstack-check ...                 ok
  checking for cc -fPIE ...                         ok
  checking for cc strlcat ...                       fail
  checking for cc strlcpy ...                       fail
  checking for cc fdatasync ...                     ok
  checking for cc getloadavg ...                    ok
  checking for cc atomic32 ...                      ok
  checking for cc atomic64 ...                      ok
  checking for cc atomic_time_t ...                 ok
  checking for cc atomic_ptr ...                    ok
  checking for cc bitops64 ...                      ok
  checking for cc lockowner ...                     ok
  checking for cc qsort_r ...                       ok
  checking for cc stime ...                         fail
  checking for cc gmtoff ...                        ok
  checking for cc recvmmsg ...                      ok
  checking for cc sendmmsg ...                      ok
  checking for cc gnu_libiconv ...                  fail
  checking for cc libiconv ...                      fail
    ^ using build-in glibc iconv routines
  checking for cc ifnames ...                       ok
  checking for cc cclang_threadsan ...              fail
  checking for py module gzip ...                   ok
  checking for pkg-config ...                       ok
  checking for xgettext ...                         ok
  checking for msgmerge ...                         ok
  checking for gzip ...                             ok
  checking for bzip2 ...                            ok
  checking for pkg openssl  ...                     ok (detected 3.0.2)
  checking for cc linux/dvb/version.h ...           ok
  checking for pkg zlib  ...                        ok (detected 1.2.11)
  checking for pkg libpcre2-8  ...                  ok (detected 10.39)
  checking for pkg liburiparser  ...                ok (detected 0.9.6)
  checking for pkg avahi-client  ...                ok (detected 0.8)
  checking for cmake ...                            ok
  checking for cc -lstdc++ ...                      ok
  checking for pkg libva >=0.38.0 ...               ok (detected 1.14.0)
  checking for pkg libva-drm >=0.38.0 ...           ok (detected 1.14.0)
  checking for cc sys/inotify.h ...                 ok
  checking for cc inotify_init1 ...                 ok
  checking for cc dvbcsa/dvbcsa.h ...               ok
  checking for cc -ldvbcsa ...                      ok
  fetching dvb-scan files ...                       ok
  checking for cc epoll_create1 ...                 ok
  checking for pkg dbus-1  ...                      ok (detected 1.12.20)

Compiler:
  Using C compiler:                        cc
  Using LD flags:                           -ldvbcsa
  Build for arch:                          x86_64

Binaries:
  Using PYTHON:                            python
  Using GZIP:                              gzip
  Using BZIP2:                             bzip2

Options:
  pie                                      yes
  ccdebug                                  no
  cardclient                               yes
  cwc                                      yes
  cccam                                    yes
  capmt                                    yes
  constcw                                  yes
  linuxdvb                                 yes
  satip_server                             yes
  satip_client                             yes
  hdhomerun_client                         yes
  hdhomerun_static                         yes
  iptv                                     yes
  tsfile                                   yes
  dvbscan                                  yes
  timeshift                                yes
  trace                                    yes
  avahi                                    yes
  zlib                                     yes
  libav                                    yes
  ffmpeg_static                            yes
  libx264                                  yes
  libx264_static                           yes
  libx265                                  yes
  libx265_static                           yes
  libvpx                                   yes
  libvpx_static                            yes
  libtheora                                yes
  libtheora_static                         yes
  libvorbis                                yes
  libvorbis_static                         yes
  libfdkaac                                no
  libfdkaac_static                         no
  libopus                                  yes
  libopus_static                           yes
  nvenc                                    no
  vaapi                                    yes
  mmal                                     no
  omx                                      no
  inotify                                  yes
  epoll                                    yes
  pcre                                     no
  pcre2                                    yes
  uriparser                                yes
  ccache                                   no
  tvhcsa                                   yes
  bundle                                   no
  pngquant                                 no
  kqueue                                   no
  dbus_1                                   yes
  android                                  no
  gtimer_check                             no
  slow_memoryinfo                          no
  libsystemd_daemon                        no
  pcloud_cache                             yes
  ddci                                     yes
  cclang_threadsan                         no
  gperftools                               no
  execinfo                                 yes
  mmx                                      yes
  sse2                                     yes
  W_unused_result                          yes
  f_stack_protector                        yes
  f_stack_protector_strong                 yes
  f_stack_check                            yes
  f_PIE                                    yes
  fdatasync                                yes
  getloadavg                               yes
  atomic32                                 yes
  atomic64                                 yes
  atomic_time_t                            yes
  atomic_ptr                               yes
  bitops64                                 yes
  lockowner                                yes
  qsort_r                                  yes
  gmtoff                                   yes
  recvmmsg                                 yes
  sendmmsg                                 yes
  ifnames                                  yes
  py_gzip                                  yes
  bin_pkg_config                           yes
  bin_xgettext                             yes
  bin_msgmerge                             yes
  bin_gzip                                 yes
  bin_bzip2                                yes
  ssl                                      yes
  linuxdvbapi                              yes
  linuxdvb_ca                              yes
  upnp                                     yes
  bin_cmake                                yes
  stdcpp                                   yes
  libogg_static                            yes
  hwaccels                                 yes
  inotify_h                                yes
  inotify_init1                            yes
  dvbcsa                                   yes
  epoll_create1                            yes
  mpegts                                   yes
  mpegts_dvb                               yes

Packages:
  openssl                                  3.0.2
  zlib                                     1.2.11
  libpcre2-8                               10.39
  liburiparser                             0.9.6
  avahi-client                             0.8
  libva                                    1.14.0
  libva-drm                                1.14.0
  dbus-1                                   1.12.20

Installation paths:
  Prefix:                                  /usr/local
  Binaries:                                ${prefix}/bin
  Libraries:                               ${prefix}/lib
  Data files:                              ${prefix}/share
  Man pages:                               ${datadir}/man

Final Binary:
  /home/peter/build/tvheadend/master/build.linux/tvheadend

Tvheadend Data Directory:
  /usr/local/share/tvheadend

I'm receiving my DVBS channels via a Digibit Twin Sat>IP tuner.In Kodi I cannot play any of the HEVC UHD demo channels with VAAPI HEVC hardware acceleration enabled.They will play VAAPI HEVC hardware acceleration disabled.Everything else plays fine.

As an experiment I installed NextPVR on the same PC with an identical Kodi setup. With VAAPI HEVC hardware acceleration enabled in NextPVR the HEVC UHD demo channels play fine. The only thing I can think of that may be causing the problem is the lack of available stream profiles in TVH H265 and VP9.

I really would appreciate it if someone here could shed any light on this.


Replies (15)

RE: TVH compiled-no stream profile VP9 or H265 available - Added by Jonas Lang over 1 year ago

Anyone got any suggestions on this issue.

RE: TVH compiled-no stream profile VP9 or H265 available - Added by saen acro over 1 year ago

Kodi problem is how will play content.
If want to transcode before play on Kodi is other thing,
but not mentioned in question.

RE: TVH compiled-no stream profile VP9 or H265 available - Added by Ukn Unknown over 1 year ago

Assuming you pasted all output from vainfo you are missing a lot of codecs and profiles. My guess is that you did not enabled GuC. To answer your questions: Yes ... you have HEVC available for decoding with VAAPI, but only 2 profiles: Main and Main10. Confirm that your input is one of those.
My recommendation is to accept 'non-free' and install GuC FW from Intel. Instructions are available for Ubuntu 20.04 (try 20.04 first to confirm functionality):
https://tvheadend.org/boards/4/topics/48572?r=48662#message-48662
Follow the instructions for iGPU11 up to the point where you download source code, after that use your compile flow.
I am a little confused on how do you plan to encode? h264_vaapi? Decode VAAPI is enable only if you use a VAAPI encoder ... in this moment you only have h264_vaapi low_power available.

Edited:
Another reason might be that tvh user doesn't have access to vaapi hw encoder. Details are in the thread above.

RE: TVH compiled-no stream profile VP9 or H265 available - Added by Jonas Lang over 1 year ago

Ukn Unknown wrote:

Assuming you pasted all output from vainfo you are missing a lot of codecs and profiles. My guess is that you did not enabled GuC. To answer your questions: Yes ... you have HEVC available for decoding with VAAPI, but only 2 profiles: Main and Main10. Confirm that your input is one of those.
My recommendation is to accept 'non-free' and install GuC FW from Intel. Instructions are available for Ubuntu 20.04 (try 20.04 first to confirm functionality):
https://tvheadend.org/boards/4/topics/48572?r=48662#message-48662
Follow the instructions for iGPU11 up to the point where you download source code, after that use your compile flow.
I am a little confused on how do you plan to encode? h264_vaapi? Decode VAAPI is enable only if you use a VAAPI encoder ... in this moment you only have h264_vaapi low_power available.

Thanks for the response.Not a lot happening on the forum these days regarding technical responses so it's much appreciated.

Yes that's the complete output from vainfo I pasted. You say I'm missing a lot of codecs and profiles. You say by enabling GuC I should remedy that. I came across this thread and it looks like this user couldn't resolve the GuC issue. Could you shed any further light on this. https://ubuntuforums.org/showthread.php?t=2484927

Just to confirm the input you refer to that I use is Main10.

I'll be honest I find it extremely difficult to follow that thread on Ubuntu 20.04.It really needs to be cleaned up particularly the primary post I'm committed to Ubuntu 22.04 with Kernel 5.19 so going back to Ubuntu 20.04 is not really an option here.

I know the subject of Intel graphics on Linux in general and Ubuntu in particular is fraught with conflicting advice on the web.

On the current build command I'm using could you see any improvement I could make to optimise the built in Intel HD630 GPU. This is the current command I'm using.Any suggestions on any improvements would be greatly appreciated.

AUTOBUILD_CONFIGURE_EXTRA=--enable-libffmpeg_static\ --enable-vaapi\ --enable-trace\ --enable-debug ./Autobuild.sh

RE: TVH compiled-no stream profile VP9 or H265 available - Added by Jonas Lang over 1 year ago

saen acro wrote:

Accelerate building by this script.
https://tvheadend.org/boards/4/topics/24116#Automated-build-script

What do you mean here by “accelerate building by this script”

RE: TVH compiled-no stream profile VP9 or H265 available - Added by Ukn Unknown over 1 year ago

Let's start with easy stuff: make sure 'hts' user has access to video render. From https://tvheadend.org/boards/4/topics/48572?r=48662#message-48662
Follow the part:

Restart the server and check if you can decode with VAAPI.

Enable GuC is a little more complicated task.
BTW: what CPU do you have? I might have gave you some wrong info ... You might have iGPU 9.5 (not iGPU 11).

hts.png (16.5 KB) hts.png

RE: TVH compiled-no stream profile VP9 or H265 available - Added by saen acro over 1 year ago

Jonas Lang wrote:

saen acro wrote:

Accelerate building by this script.
https://tvheadend.org/boards/4/topics/24116#Automated-build-script

What do you mean here by “accelerate building by this script”

By no need to type long command on prompt.
Also build log created.

Read article.

RE: TVH compiled-no stream profile VP9 or H265 available - Added by Jonas Lang over 1 year ago

Ukn Unknown wrote:

Let's start with easy stuff: make sure 'hts' user has access to video render. From https://tvheadend.org/boards/4/topics/48572?r=48662#message-48662
Follow the part:

Restart the server and check if you can decode with VAAPI.

Enable GuC is a little more complicated task.
BTW: what CPU do you have? I might have gave you some wrong info ... You might have iGPU 9.5 (not iGPU 11).

Just before I get into changing anything here’s the full spec on the PC I’m using
https://support.hp.com/ie-en/document/c05369814

I’m using the built in Intel HD 630 graphics for this. Could you have a look at the spec and let me know what you think is the best direction to go with this. It’s the i5 version of CPU.

Thanks again.

RE: TVH compiled-no stream profile VP9 or H265 available - Added by Ukn Unknown over 1 year ago

Your CPU has iGPU 9.5 (Intel names it iGPU 9): https://www.cpu-monkey.com/en/cpu-intel_core_i5_7500 scroll down to internal graphics and hw codec support.
Instructions above should be used with any CPU type ... are related to OS.
with 24 EU and 192 Shaders ... probably you can transcode h264->hevc 1080 25 (decent quality).
BTW: I always use "./Autobuild.sh" to build (on all my intel platforms).

RE: TVH compiled-no stream profile VP9 or H265 available - Added by Jonas Lang over 1 year ago

I’m using the Digibit Twin Sat>IP tuner and Kodi as a front end. Kodi refused to play any of the HEVC UHD demo channels on Astra 28.2 with hardware acceleration enabled for VAAPI HEVC in the settings section so I assumed my available profiles in TVH was the problem. With VAAPI HEVC disabled the software takes over and plays the TS streams.

As an experiment I installed Next PVR. Strangely enough this plays the HEVC UHD demo channels with VAAPI HEVC hardware acceleration enabled. I confirmed this by running intel_gpu_top.

This really is puzzling now.

RE: TVH compiled-no stream profile VP9 or H265 available - Added by saen acro over 1 year ago

It's problem of Kodi or HTSP PVR plug-in in Kodi.
It was discussed before.
You can record this channel with TVH and play it with Kodi,
if no problem with this then
https://github.com/kodi-pvr/pvr.hts

RE: TVH compiled-no stream profile VP9 or H265 available - Added by Jonas Lang over 1 year ago

saen acro wrote:

It's problem of Kodi or HTSP PVR plug-in in Kodi.
It was discussed before.
You can record this channel with TVH and play it with Kodi,
if no problem with this then
https://github.com/kodi-pvr/pvr.hts

Yes I can record this transport stream and it will play in Kodi.

The problem does appear to lie with the Kodi PVR-HTS add on. I installed the latest PVR-HTS add on from the XBMC PPA which I added to Ubuntu.

Why would I want to compile this add on. Does the one from the XBMC PPA not work.

RE: TVH compiled-no stream profile VP9 or H265 available - Added by saen acro over 1 year ago

Problem is in addon itself.
Addon do not send some info to Kodi or send it incorrectly.

Where I say something to compile it,
just send info how to contact creators of it.

RE: TVH compiled-no stream profile VP9 or H265 available - Added by Jonas Lang over 1 year ago

saen acro wrote:

Problem is in addon itself.
Addon do not send some info to Kodi or send it incorrectly.

Where I say something to compile it,
just send info how to contact creators of it.

Yes I’ll report this behaviour to the add on maintainer but I don’t expect much of a response.

Strangely using LibreELEC which has the TVH server and PVR HTS packaged this behaviour is not shown. It works perfectly playing UHD Live TV.

    (1-15/15)