Hi, running Ubuntu 20.04.3 32-bit on Raspberry Pi 3B+. Client is Kodi with TVH HTSP plugin running on networked PC.
The "pass" profile works. My h264_omx "webtv" profile I've created does not. The Broadcom OMX encoder seems to work OK according to TVH log, but I only get audio, no video in Kodi. Running ffprobe to inspect the output from the Rpi also shows an output with an audio stream, but no video stream.
The tvh log doesn't seem to show any problems, I see "libav: AVCodecContext: Using OMX.broadcom.video_encode". (Took a while to get to that point, was missing libs before but they're in place now).
My gpu_mem is set to 256 in /boot/firmware/config.txt and I have put libbcm_host.so and libopenmaxil.so from https://github.com/raspberrypi/firmware/tree/master/opt/vc/lib to my /opt/vc/lib directory. Ran sudo ldconfig after this, and TVH does find those libs now. I also ran chmod 777 on those libs, as well as sudo usermod -aG video hts
My build script was a small modification of one by Russell Tobin. The version I'm using is here: https://pastebin.com/qVyAqS5T
TVHeadend Details:
Configure arguments:
  --build=arm-linux-gnueabihf --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libexecdir=${prefix}/lib/tvheadend --disable-maintainer-mode --disable-dependency-tracking --disable-android --enable-pie --enable-avahi --enable-libsystemd_daemon --disable-bintray_cache --enable-libav --enable-libopus --enable-libtheora --enable-libvorbis --enable-libfdkaac --enable-omx --enable-mmal --enable-vaapi --enable-drm --enable-nonfree --disable-hdhomerun_client --disable-hdhomerun_static --enable-omx-rpi --disable-libvpx_static --disable-libvpx --arch=armhf --jobs=4
Compiler:
  Using C compiler:                        ccache cc
  Using C flags:                           -I/opt/vc/include/IL 
  Using LD flags:                           -ldvbcsa
  Build for arch:                          armhf
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                         no
  hdhomerun_static                         no
  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                                   no
  libvpx_static                            no
  libtheora                                yes
  libtheora_static                         yes
  libvorbis                                yes
  libvorbis_static                         yes
  libfdkaac                                yes
  libfdkaac_static                         yes
  libopus                                  yes
  libopus_static                           yes
  nvenc                                    no
  vaapi                                    yes
  mmal                                     yes
  omx                                      yes
  inotify                                  yes
  epoll                                    yes
  pcre                                     no
  pcre2                                    yes
  uriparser                                yes
  ccache                                   yes
  tvhcsa                                   yes
  bundle                                   no
  pngquant                                 no
  kqueue                                   no
  dbus_1                                   yes
  android                                  no
  gtimer_check                             no
  slow_memoryinfo                          no
  libsystemd_daemon                        yes
  pcloud_cache                             yes
  ddci                                     yes
  cclang_threadsan                         no
  gperftools                               no
  execinfo                                 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
  omx_rpi                                  yes
  hwaccels                                 yes
  inotify_h                                yes
  inotify_init1                            yes
  dvbcsa                                   yes
  epoll_create1                            yes
  mpegts                                   yes
  mpegts_dvb                               yes
Packages:
  openssl                                  1.1.1f
  zlib                                     1.2.11
  libpcre2-8                               10.34
  liburiparser                             0.9.3
  avahi-client                             0.7
  libva                                    1.7.0
  libva-drm                                1.7.0
  dbus-1                                   1.12.16
  libsystemd                               245
Installation paths:
  Prefix:                                  /usr
  Binaries:                                ${prefix}/bin
  Libraries:                               ${prefix}/lib
  Data files:                              ${prefix}/share
  Man pages:                               /usr/share/man
TVHeadend Log (from using ffprobe, similar log when using Kodi HTSP plugin):
2022-02-18 14:21:30.756 http: 192.168.0.100: using ticket 323373bec24a210d88bb8d7c9300b9b81a3d8ea4 for /stream/channel/56f04c4a81999645a58b5a7d5c37f120
2022-02-18 14:21:30.757 mpegts: 578MHz in DVB-T Network - tuning on DiBcom 7000PC #0 : DVB-T #0
2022-02-18 14:21:30.757 subscription: 00CC: "HTTP" subscribing on channel "RTÉ One", weight: 100, adapter: "DiBcom 7000PC #0 : DVB-T #0", network: "DVB-T Network", mux: "578MHz", provider: "RTÉNL", service: "RTÉ One", profile="webtv", hostname="192.168.0.100", username="admin", client="Lavf/59.16.100"
2022-02-18 14:21:31.311 transcode: 000A: 01:H264: ==> Using profile webtv-h264-omx
2022-02-18 14:21:31.311 transcode: 000A: 02:MPEG2AUDIO: ==> Using profile webtv-aac
2022-02-18 14:21:31.311 transcode: 000A: 03:MPEG2AUDIO: ==> Filtered out
2022-02-18 14:21:31.311 transcode: 000A: 04:MPEG2AUDIO: ==> Filtered out
2022-02-18 14:21:31.311 transcode: 000A: 07:PCR: ==> Filtered out
2022-02-18 14:21:31.311 transcode: 000A: 06:TEXTSUB: ==> Filtered out
2022-02-18 14:21:32.784 transcode: 000A: 02:AAC-LATM: [mp2 => aac]: Detected framedrop in audio (35690 != 37850)
2022-02-18 14:21:32.965 libav: AVCodecContext: mmco: unref short failure
2022-02-18 14:21:32.992 libav: AVCodecContext: Using OMX.broadcom.video_encode
2022-02-18 14:21:33.071 libav: AVCodecContext: mmco: unref short failure
2022-02-18 14:21:33.369 libav: AVCodecContext: mmco: unref short failure
2022-02-18 14:21:40.878 transcode: 000A: 02:AAC-LATM: [mp2 => aac]: Detected framedrop in audio (368090 != 365930)
2022-02-18 14:21:40.879 libav: AVCodecContext: Queue input is backward in time
2022-02-18 14:21:41.399 transcode: 000A: 02:AAC-LATM: [mp2 => aac]: Detected framedrop in audio (387050 != 389210)
2022-02-18 14:21:59.442 subscription: 00CC: "HTTP" unsubscribing from "RTÉ One", hostname="192.168.0.100", username="admin", client="Lavf/59.16.100"
2022-02-18 14:21:59.576 libav: AVCodecContext: Qavg: 118.000
FFprobe:
ffprobe -i http://192.168.0.234:9981/stream/channel/56f04c4a81999645a58b5a7d5c37f120?ticket=323373bec24a210d88bb8d7c9300b9b81a3d8ea4
ffprobe version 5.0 Copyright (c) 2007-2022 the FFmpeg developers
  built with gcc 10 (Debian 10.2.1-6)
  configuration: --prefix=/opt/ffmpeg-builds/build/linux64/usr --extra-ldexeflags=-static --pkg-config-flags=--static --extra-cflags=-I/opt/ffmpeg-builds/lib/linux64/include --extra-ldflags=-L/opt/ffmpeg-builds/lib/linux64/lib --extra-libs='-lpthread -lm -lz' --extra-ldexeflags=-static --enable-gpl --enable-nonfree --enable-version3 --disable-debug --disable-indev=sndio --disable-outdev=sndio --enable-fontconfig --enable-frei0r --enable-openssl --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --disable-libvidstab --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libxvid --enable-libfdk-aac --enable-ffplay --enable-pic
  libavutil      57. 17.100 / 57. 17.100
  libavcodec     59. 18.100 / 59. 18.100
  libavformat    59. 16.100 / 59. 16.100
  libavdevice    59.  4.100 / 59.  4.100
  libavfilter     8. 24.100 /  8. 24.100
  libswscale      6.  4.100 /  6.  4.100
  libswresample   4.  3.100 /  4.  3.100
  libpostproc    56.  3.100 / 56.  3.100
Input #0, matroska,webm, from 'http://192.168.0.234:9981/stream/channel/56f04c4a81999645a58b5a7d5c37f120?ticket=323373bec24a210d88bb8d7c9300b9b81a3d8ea4':
  Metadata:
    title           : RTÉ One
    encoder         : Tvheadend Matroska muxer
  Duration: N/A, start: 0.150000, bitrate: N/A
  Stream #0:0(eng): Audio: aac (Main), 48000 Hz, stereo, fltp (default)
Any ideas or similar experience of getting "libav: AVCodecContext: Using OMX.broadcom.video_encode " from log, but no video in the output stream?
Also, tvh builds it's own ffmpeg during the make, but from my understanding, that ffmpeg can't be run as a standalone binary outside of TVH for debug, it's just the libraries (libav...) that get built, and not a binary. Is that right?
One final question: OMX is deprecated now on Raspberry Pi, with h264_v4l2m2m being preferred (and h264_v4l2m2m does work easily on Rpi3 for standalone ffmpeg builds). Will there be support for this h264_v4l2m2m added in TVH, alongside or instead of h264_omx? I can have a look at the TVH source and see if might be easy to add.