Giter Site home page Giter Site logo

tvheadend / tvheadend Goto Github PK

View Code? Open in Web Editor NEW
2.7K 240.0 904.0 61.9 MB

Tvheadend is the leading TV streaming server for Linux with ATSC, DVB-C/C2, DVB-S/S2, DVB-T/T2, IPTV, SAT>IP and unix pipe input sources

Home Page: https://tvheadend.org

License: Other

Shell 0.64% Python 3.25% Makefile 0.42% C 86.28% JavaScript 8.87% CSS 0.54%
atsc dvb dvb-c dvb-s dvb-s2 dvb-t dvb-t2 dvr hdhomerun htsp

tvheadend's Introduction

TVHeadend Logo Tvheadend

(c) 2006 - 2024 Tvheadend Project (https://tvheadend.org)

Status

Build Status Coverity Scan Github last commit

Releases License GitHub Activity

Hosted By: Cloudsmith

What it is

tvheadend front page

Tvheadend is a TV streaming server and digital video recorder.

It supports the following inputs:

  • DVB-C(2)
  • DVB-T(2)
  • DVB-S(2)
  • ATSC
  • SAT>IP
  • HDHomeRun
  • IPTV
    • UDP
    • HTTP

It supports the following outputs:

  • HTTP
  • HTSP (own protocol)
  • SAT>IP

Running in docker

Running in docker can be as simple as

$ docker run --rm ghcr.io/tvheadend/tvheadend:latest

See README.Docker.md in this repository for more details.

How to build for Linux

First you need to configure:

$ ./configure

If any dependencies are missing the configure script will complain or attempt to disable optional features.

Build the binary:

$ make

After build, the binary resides in build.linux directory.

Thus, to start it, just type:

$ ./build.linux/tvheadend

Settings are stored in $HOME/.hts/tvheadend.

How to build for OS X

Same build procedure applies to OS X. After build, the binary resides in build.darwin directory.

Only network sources (IPTV, SAT>IP) are supported on OS X. There is no support for DVB USB sticks and PCI cards. Transcoding is currently not supported.

Packages

Install instructions for various distributions can be found at our Cloudsmith-Repository.

Further information

For more information about building, including generating packages, please visit:

tvheadend's People

Contributors

adamsutton avatar andoma avatar azlm8t avatar chewitt avatar decke avatar dmarion avatar flole998 avatar glenn-1990 avatar inusasha avatar jalle19 avatar john-tornblom avatar laurimyllari avatar lekma avatar linuxstb avatar mamarley avatar manio avatar mario-tux avatar morgansj66 avatar mpmc avatar oliv3r avatar pablozg avatar pepsonel avatar perexg avatar profyaffle avatar robert-wm avatar spdfrk avatar stbenz avatar transifex-integration[bot] avatar trujulu avatar uknunknown avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tvheadend's Issues

[BUG]: file permissions on docker

Tvheadend Version

v4.3 (development)

Build Number

4.3-2315~gab6ea89b

Platform

Other..

Architecture

ARMv7 (arm)

Category

Configuration

Description

I've built successfully the latest Alpine Linux docker image 4.3-2315~gab6ea89b. It starts, but tvheadend complain about file permissions:

2024-04-03 22:38:08.000 [WARNING] START: configuration path /var/lib/tvheadend/.config/hts is not r/w for UID:100 GID:101 [e=Permission denied], settings will not be saved

Docker image is runnig on default settings, so user=tvheadend. Nothing modified.

Logfile

2024-04-03 22:38:07.989 [INFO] config: Using configuration from '/var/lib/tvheadend/.config/hts'
2024-04-03 22:38:08.000 [WARNING] START: configuration path /var/lib/tvheadend/.config/hts is not r/w for UID:100 GID:101 [e=Permission denied], settings will not be saved

Reproduction

Build and run latest docker image from this repository

[BUG]: Docker images don't have "--enable-debugging"

Tvheadend Version

v4.2 (unsupported)

Build Number

4.3-2299~g79aaa1434

Platform

Other..

Architecture

Intel x86_64

Category

Other..

Description

With the current docker images it's imposible to debug anything. When you use something like -e RUN_OPTS=" --stderr --trace httpc,upnp,udp,satip" the debug is not enabled. So, I recommend to provide different container images with debug and release modes.

Logfile

No response

Reproduction

No response

Sweep: Fix invalid Content-Disposition header

Details

This should be a fix for #1605

Add code like this

 else if (cfg->dvr_clean_title && 
          ((*s < 32) || (*s > 122) || 
          (strchr("/:\\<>|*?\"", *s) != NULL)) && 
          dosubs) 
   *s = '_'; 

in a for-loop to iterate over the entire string returned by intlconv_utf8safestr in src/webui/webui.c:2240 to prevent an invalid header beeing sent by the HTTP Server by replacing chars as in my example.

Checklist
  • Modify src/webui/webui.cde0b0f0 Edit
  • Running GitHub Actions for src/webui/webui.cEdit

[BUG]: Timeshift (FFWD/Rewind) works for TV but not Radio

Tvheadend Version

v4.3 (development)

Build Number

4.3-2190~g2151348f7

Platform

Other..

Architecture

ARMv8 (aarch64)

Category

Timeshifting

Description

This is a ticket, I have already opened three weeks ago in Redmine: http://tvheadend.org/issues/6319. I hope, it is ok to copy it over here.

I have the following issue: Timeshift (Pause/FF/Rewind) for TV works, for Radio not. This happens on a RPi4 on Arch Linux and HTS Tvheadend 4.3-2187~gfd8b9e8ba.

After having asked about this in the following locations...
https://tvheadend.org/boards/5/topics/43179
https://forum.libreelec.tv/thread/27773-pvr-hts-timeshift-for-radio
https://forum.kodi.tv/showthread.php?tid=375590

...the conclusion seems to be, that timeshift (including Pause/FF/Rewind) only works for TV and not for Radio.
ksooo, the developer of the Kodi addon pvr.hts, states: Tvheadend does not send any timeshift buffer information for radio channels via htsp. (https://forum.kodi.tv/showthread.php?tid=375590&pid=3177731#pid3177731)

As I wrote in the mentioned forum threads, I was not able to use timeshift for radio with any player. So I cannot test with anything else than Kodi and its addon pvr.hts.

Is this known? If yes, is there a reason? Can it be fixed?
If it is a bug, what information do you need?

Thanks and best

Reproduction

No response

[BUG]: Escaping of newline characters in Content-Disposition-Header when accessing recordings

Tvheadend Version

v4.3 (development)

Build Number

4.3-2141~gc531383ca

Platform

Other..

Architecture

Intel x86_64

Category

PVR/DVR

Description

When a recorded TV show/movie contains newline characters, they are not being properly escaped int he Content-Disposition Header in the GET /dvrfile/ request.

This causes an invalid HTTP-Response to be produced. As not even cURL was happy with that response, I had to use telnet to see the issue:

> telnet 127.0.0.1 9981
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
GET /dvrfile/fe01d979d6cc0c5458a109aeb54a76e2?ticket=0bf42a0620bb2309c8258d92c17d85c5c52a77a3 HTTP/1.1
Host: 127.0.0.1:9981
Accept: */*

HTTP/1.1 200 OK
Server: HTS/tvheadend
Last-Modified: Thu, 25 Jan 2024 13:13:00 GMT
Expires: Thu, 25 Jan 2024 13:13:10 GMT
Cache-Control: max-age=10
Connection: Keep-Alive
Content-Type: video/x-matroska
Content-Length: 141353673
Content-Disposition: attachment; filename="Detektiv Conan - - Kogoro, betrunken in Satsuma (1)
Animation, J 2004
Altersfreigabe: ab 12.mkv"; filename*=UTF-8''Detektiv%20Conan%20-%20-%20Kogoro%2C%20betrunken%20in%20Satsuma%20%281%29%0AAnimation%2C%20J%202004%0AAltersfreigabe%3A%20ab%2012.mkv

Eߣ�B��B�B�BB��matroskaB��B��S�l�M�t�M��S��I�fS���M��S��T�kS��fM��S��T�gS���M��S��S�kS�l�)�A�I�f�s���}+R;">�

As you see in the response, the Content-Disposition-Header contains newline characters. As they are not properly escaped, it causes Animation, J 2004 to be in it's own line. As every header needs to contain a :, HAProxy as well as cURL refuse to handle that http response.

Expected: newline-characters are removed or replaced by maybe whitespaces before being inserted into HTTP-headers.

Interestingly, this does not always seem to happen, as I have another recording, where the Content-Disposition Header is valid:

> telnet 127.0.0.1 9981
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
GET /dvrfile/6444bb0edc18cf7c2e2a57a67f71bc9f?ticket=5d9b69671f14d6783e099ff60adb04bf5b0a55f3 HTTP/1.1
Host: 127.0.0.1:9981
Accept: */*

HTTP/1.1 200 OK
Server: HTS/tvheadend
Last-Modified: Thu, 25 Jan 2024 13:21:10 GMT
Expires: Thu, 25 Jan 2024 13:21:20 GMT
Cache-Control: max-age=10
Connection: Keep-Alive
Content-Type: video/mp2t
Content-Length: 639456996
Content-Disposition: attachment; filename="Detektiv-Conan-----Kogoro,-betrunken-in-Satsuma-(1)_Animation,-J-2004_Altersfreigabe_-ab-12.ts"; filename*=UTF-8''Detektiv-Conan-----Kogoro%2C-betrunken-in-Satsuma-%281%29_Animation%2C-J-2004_Altersfreigabe_-ab-12.ts

Here it seems to be properly replaced.
The only two differences between them:

  1. The broken recording was done using the Matroska profile, while the working one was the default "pass" profile
  2. The broken recording comes from a TV-Channel that is configured to use existing EPG-Data from another channel (in fact: the working one). While the working recordings EPG-Data came from the cable provider itself.

EDIT:

I figured out, that this seem to relate to the Remove all unsafe characters from filename: setting in the recording profile.
Even though there is an easy way to work around it, I would still like to call this a bug, because no setting should ever produce invalid HTTP responses.

[BUG]: Some times are shown in GMT rather than local time when using Firefox and "privacy.resistFingerprinting" setting is enabled

Tvheadend Version

v4.3 (development)

Build Number

4.3-1288~g66d6161

Platform

Ubuntu 22.04 (Jammy)

Architecture

Intel x86_64

Category

WebGUI

Description

(Edited) When using the Firefox browser (at least on MacOS), and you have the setting privacy.resistFingerprinting (in about:config) toggled on, the Web interface shows times in GMT, not local time. For example, if I go to the Upcoming/Current recordings, the listing for "News at Noon" shows a start time of 16:58:30 and an end time of 18:03:00, which is the start and end times in GMT. It only started doing this about a year ago (more or less) so I suspect something may have changed in the way Firefox displays times or something, because when I first noticed it I had not updated Tvheadend. In any case I cannot find any way to make it display local time. If I use the date command in Linux it shows the local date and time and the correct time zone (EST), so I am not sure where Tvheadend is getting its times from. The weird part is that the upcoming/current recordings and the electronic program guide listings show GMT, but in autorecs or timers I can use local time and they record correctly. Also if I view upcoming recordings in Kodi or if I use the Chrome browser it shows the correct local times, and if I disable the privacy.resistFingerprinting setting it shows the correct times. So I suspect this is just a display issue in the Firefox browser.

Logfile

This would not appear in a log, it is a display issue.

Reproduction

  1. Use a computer running MacOS (or possibly Linux?) that is not set to use GMT as its time zone.
  2. Start Firefox (I am running version 122).
  3. Go to "about:config" and make sure the setting privacy.resistFingerprinting is toggled on.
  4. Go to the Upcoming/Current recordings tab in the Tvheadend web interface and view the start and/or end times of any scheduled recording, or go to the Electronic Program Guide and view the start times for upcoming programs.

Add ERRNO to Log Entries Regarding File System Errors

Description

Add the ERRNO to log messages regarding file system error.

Triggered by this forum post:
https://tvheadend.org/d/8520-change-default-folders-for-tv-recordings-and-timeshift-on-ubuntu-2204

if(stat(de->de_config->dvr_storage, &st) || !S_ISDIR(st.st_mode)) {

  if(stat(de->de_config->dvr_storage, &st) || !S_ISDIR(st.st_mode)) {
    tvherror(LS_DVR, "the directory '%s' is not accessible", de->de_config->dvr_storage);
    ret = -EIO;
    goto _return;
  }

Adding the ERRNO plus the ERRNO description would have provided the user with more troubleshooting information.

Help and Guidance

This is a placeholder following a discussion with @Flole998.

Acceptance

  • The proposal will be developed and maintained by me

[BUG]: recordings around 23:00 will be recorded twice

Tvheadend Version

v4.3 (development)

Build Number

4.3-2156~g51adc0404 (2023-10-01T02:09:05+0000)

Platform

Raspberry Pi OS (Bookworm)

Architecture

ARMv7 (arm)

Category

PVR/DVR

Description

i programmed TH to record TV shows automatically. it happens that recordings around 23:00 will be recorded twice with some minutes difference.

image

image

image

image

image

Logfile

some related files from .hts folder before recording (scheduled):
__hts.zip

debugging output while recording:
tvh.log.zip

some related files from .hts folder after recording:
__hts_after.zip

more detailed log (see #1674 (comment)):
debug_trace_cleaned.log.zip

Reproduction

see screenshots

[BUG]: 8.8.8.8 should not be used for getting some local IP

Tvheadend Version

v4.3 (development)

Build Number

master

Platform

Other..

Architecture

Intel x86_64

Category

SAT>IP

Description

Currently 8.8.8.8 is used for some IP check. We should remove that and implement it in a different way.

Logfile

No response

Reproduction

No response

[BUG]: Audio transcoding not working

Tvheadend Version

v4.3 (development)

Build Number

4.3-2286~gae51d24fe

Platform

Ubuntu 20.04 (Focal)

Architecture

ARMv8 (arm)

Category

Transcoding

Description

Hello,

asked this before without getting a solution: I am currently using HTS Tvheadend 4.3-2286~gae51d24fe on several root servers.
Due to limited mobile data volume I want to transcode video and audio to a lower bitrate.

Video transcoding is working fine but currently I can only use "copy" for the audio streams.
No matter which codec profiles I want to use for the audio transcoding to AAC 56k (or any other) no sound seems to be transcoded or at least output by TVH.

The audio stream in VLC is always empty, using all kinds of different settings. Tried this for different networks and on different servers. Switching back to "copy" the original audio is working. FFProbe and the stream output on VLC show that there is no audio stream sent at all when transcoded.

It affects pretty much all recent versions (stable, development, unstable) of tvheadend.

I know this worked before (years ago though) and I have no clue what causes this behaviour. I have no stream filters applied. All neccessary codecs are installed and working. Manually transcoding the same input streams via the command line produces the desired audio output.

Would be really thankful for any help on this.

Logfile

mpegts: channels - ARTE HD - tuning on IPTV #1
subscription: 0007: "HTTP" subscribing on channel "ARTE HD", weight: 100, adapter: "IPTV #1", network: "xxx", mux: "channels - ARTE HD", provider: "FFmpeg", service: "ARTE HD", profile="mobi", hostname="xxx", username="xxx", client="VLC/3.0.18 LibVLC/3.0.18"
transcode: 0005: 02:H264: ==> Using profile 400
transcode: 0005: 01:AAC: ==> Using profile 56k
libav: AVCodecContext: using SAR=1/1
libav: AVCodecContext: using cpu capabilities: ARMv8 NEON
libav: AVCodecContext: profile High, level 3.0, 4:2:0, 8-bit

Reproduction

Tested on several devices with different linux distros and different TVH versions, different sources -> no transcoded audio output.

[BUG]: Wrong executable spawned for pipe input source

Tvheadend Version

v4.3 (development)

Build Number

4.3-2187~gfd8b9e8ba

Platform

Other..

Architecture

Other..

Category

IPTV

Description

Migrated from https://old.tvheadend.org/issues/6318

In case of an IPTV-URL with pipe and a non-full-qualified-path for ffmpeg-executable it isn't guaranteed that the correct executable is found:

Example:

  1. I have the following stream URL:

pipe://ffmpeg -hide_banner -loglevel fatal -i https://zdf-hls-18.akamaized.net/hls/live/2016501/dach/veryhigh/master.m3u8 ... 2. the executable for ffmpeg is located in /usr/bin

$ which ffmpeg
/usr/bin/ffmpeg
  1. In /usr/bin there are other executables starting with 'ffmpeg...', i.e.

$ ls -l ffmp*

-rwxr-xr-x 1 root root 301544 Dez 30 12:30 ffmpeg
-rwxr-xr-x 1 root root  22920 Dez 30 12:29 ffmpegthumbnailer
  1. I have seen in /var/log/syslog that tvheadend spawns '/usr/bin/ffmpegthumbnailer' instead of '/usr/bin/ffmpeg'

syslog.1:Dec 30 12:53:54 heckies-nuc tvheadend[16726]: spawn: Executing "/usr/bin/ffmpegthumbnailer"
My guess is that the problem is in spawn.c --> find_exec

/*
 * Search PATH for executable
 */
int
find_exec ( const char *name, char *out, size_t len )
{
  int ret = 0;
  char bin[512];
  char *path, *tmp, *tmp2 = NULL;
  DIR *dir;
  struct dirent *de;
  struct stat st;
  if (name[0] == '/') {
    if (lstat(name, &st)) return 0;
    if (!S_ISREG(st.st_mode) || !(st.st_mode & S_IEXEC)) return 0;
    strlcpy(out, name, len);
    return 1;
  }
  if (!(path = getenv("PATH"))) return 0;
  path = strdup(path);
  tmp  = strtok_r(path, ":", &tmp2);
  while (tmp && !ret) {
    if ((dir = opendir(tmp))) {
      while ((de = readdir(dir))) {
        if (strstr(de->d_name, name) != de->d_name) continue;        // <----- comparison wrong? 
        snprintf(bin, sizeof(bin), "%s/%s", tmp, de->d_name);
        if (lstat(bin, &st)) continue;
        if (!S_ISREG(st.st_mode) || !(st.st_mode & S_IEXEC)) continue;
        strlcpy(out, bin, len);
        ret = 1;
        break;
      }
      closedir(dir);
    }
    tmp = strtok_r(NULL, ":", &tmp2);
  }
  free(path);
  return ret;
}

Workaround is to use full-qualified path like this:

pipe:///usr/bin/ffmpeg -hide_banner -loglevel fatal -i https://zdf-hls-18.akamaized.net/hls/live/2016501/dach/veryhigh/master.m3u8 ...

Logfile

No response

Reproduction

No response

[BUG]: Id node collision

Tvheadend Version

v4.3 (development)

Build Number

Build: 4.3-2192~gc9b38a81a

Platform

Android (all)

Architecture

ARMv6 (arm)

Category

API

Description

Im running a docker container and from time to time i get "Id node collision", and the container bootloops.

Reproduction

No response

[FEATURE]: updated DVB-C channels for Hessen/Germany (de-Vodafone-Hessen)

As the title says, there's no adequate list for the the current nation wide DVB-C provider 'Vodafone'. But there are outdated lists, like Unitymedia and Kabel.
I made an updated mux list and attached it!
Please consider taking this attached mux list into the package and delete the outdated de lists, like:

de-Hessen-Unitymedia
de-Unitymedia
de-Kabel_Deutschland-Hannover
de-Kabel_BW

I dont know about the rest (local providers).

Thank you.
de-Vodafone-Hessen.zip

[BUG]: Backups including all recordings, bzip going mad, disk filling up (90+Gb per backup).

Tvheadend Version

v4.3 (development)

Build Number

4.3.2209 (and before)

Platform

Ubuntu 22.04 (Jammy)

Architecture

ARMv8 (aarch64)

Category

Crashes

Description

I installed tvheadend from the cloudsmith.io Ubuntu packages on a clean Ubuntu only a few weeks again - worked fine for the last few weeks.

Now my disk is full and I noticed a bzip2 process sucking up 100% CPU and it was a tvheadend backup process.

It appears to be configured to use a recordings folder in /var/lib/tvheadend/recordings, and this isn't excluded from backup and thus it's backing up EVERYTHING.

I haven't imported or changed location, this was the default I was given by the package.

From the files it seems like it's been doing it on 4.3.2192, 2193 and 2209 and possibly further back but I can't tell.

Now my tvHeadend is entirely unresponsive ("refuse to connect"), and I had to purge the backups folder to try to get enough space back to get the machine to work.

How do I stop these backups including that folder and / or change the recordings folder without access to the GUI?

Logfile

No response

Reproduction

Installed cloudsmith.io Ubuntu package on a clean machine
Recorded programs.
Disk filled until the backups process just hung because of no disk space.

Sweep: Only index every 100th packet for audio-only streams in src/timeshift/timeshift_writer.c

Details

In src/timeshift/timeshift_writer.c when an audio-only stream is detected (vididx == -1) it should not index every packet but only every 100th packet. Add a new counter variable to the timeshift_t struct and use it to achieve this.

Checklist
  • Modify src/timeshift/private.hc919b33 Edit
  • Running GitHub Actions for src/timeshift/private.hEdit
  • Modify src/timeshift/timeshift_writer.c44f4e0c Edit
  • Running GitHub Actions for src/timeshift/timeshift_writer.cEdit

[BUG]: "An unknown error occurred." when trying to play inline using TV icon on Firefox

Tvheadend Version

v4.2 (unsupported)

Build Number

4.2.7-44

Platform

Other..

Architecture

ARMv7 (arm)

Category

HTSP

Description

Tvheadend 4.2.7-44 ~ LibreELEC Tvh-addon v9.0.118

Despite I know this version is unsupported, as I can't upgrade, I'll try to get an answer.

I have been using TVheadend for years, but I was forced to use remote clients for Android, as Firefox always shows the message "An unknown error occurred." when I try to play from the Firefox browser using the small TV icon.
imagen

Also, the Firefox debug console shows.

Cannot play media. No decoders for requested formats: video/MP2T, video/webm; codecs="vp8.0 vorbis", application/x-mpegURL; codecs="avc1.42E01E mp4a.40 .2", application/vnd.apple.mpegURL; codecs="avc1.42E01E mp4a.40.2", video/MP2T; codecs="avc1.42E01E mp4a.40.2", video/x-matroska; codecs="avc1.42E01E mp4a.40 .2", video/MP2T, video/webm; codecs="vp8.0 vorbis", application/x-mpegURL; codecs="avc1.42E01E mp4a.40 .2", application/vnd.apple.mpegURL; codecs="avc1.42E01E mp4a.40.2", video/MP2T; codecs="avc1.42E01E mp4a.40.2", video/x-matroska; codecs="avc1.42E01E mp4a.40.2"

However, I have found that browsers like Chrome, Chromium or MSEdge for Linux do allow to play the TV directly by clicking on the mentioned icon, being under the same configuration on the same computer. Any idea why the error is only shown in Firefox?

Thanks

Logfile

No response

Reproduction

No response

[BUG]: armhf binaries from cloudsmith are broken

Tvheadend Version

v4.3 (development)

Build Number

4.3-2292~g9ac61d767~raspbianbookworm

Platform

Raspberry Pi OS (Bookworm)

Architecture

ARMv6 (arm)

Category

Other..

Description

When installing on RPi Zero or on RPi B+ models the tvheadend binary fails with the error "Illegal instructions".
This happens for bookworm and buster.

The packages from the raspberrypi.com mirrors do work though!

Logfile

No response

Reproduction

No response

[BUG]: compiling with Autobuild.sh failed due dpkg-buildpackage version error

Tvheadend Version

v4.3 (development)

Build Number

none

Platform

Debian 12 (Bookworm)

Architecture

ARMv7 (arm)

Category

Packaging

Description

cloned actual tvheadend repo, after configure with same parameters and run Autobuild.sh , it generates a dpkg-buildpackage error under Windows WSL2 and in chrooted raspberry os 32bit either with Debian bookworm OS:

➜  tvheadend git:(master) AUTOBUILD_CONFIGURE_EXTRA=--disable-ffmpeg_static\ --disable-libfdkaac_static\ --disable-libtheora_static\ --disable-libopus_static\ --disable-libvorbis_static\ --disable-libvpx_static\ --disable-libx264_static\ --disable-libx265_static\ --disable-libfdkaac\ --disable-libopus\ --disable-libvorbis\ --disable-libvpx\ --disable-libx264\ --disable-libx265\ --disable-avahi\ --disable-dbus_1\ --disable-bintray_cache\ --disable-execinfo\ --disable-hdhomerun_static\ --disable-hdhomerun_client\ --disable-libav\ --enable-pngquant\ --enable-trace\ --disable-vaapi ./Autobuild.sh
OS identified using os-release file
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
Building for bookworm-x86_64
dpkg-buildpackage: warning:     debian/changelog(l1): version '~bookworm' is invalid: version number does not start with digit
LINE: tvheadend (~bookworm) bookworm; urgency=low
dpkg-buildpackage: info: source package tvheadend
dpkg-buildpackage: info: source version unknown
dpkg-buildpackage: error: version number does not start with digit
root@DESKTOP:/home/pi/tvheadend# AUTOBUILD_CONFIGURE_EXTRA=--disable-ffmpeg_static\ --disable-libfdkaac_static\ --disable-libtheora_static\ --disable-libopus_static\ --disable-libvorbis_static\ --disable-libvpx_static\ --disable-libx264_static\ --disable-libx265_static\ --disable-libfdkaac\ --disable-libopus\ --disable-libvorbis\ --disable-libvpx\ --disable-libx264\ --disable-libx265\ --disable-avahi\ --disable-dbus_1\ --disable-bintray_cache\ --disable-execinfo\ --disable-hdhomerun_static\ --disable-hdhomerun_client\ --disable-libav\ --enable-pngquant\ --enable-trace\ --disable-vaapi ./Autobuild.sh
OS identified using lsb_release command
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
Building for bookworm-armv7l
dpkg-buildpackage: warning:     debian/changelog(l1): version '~bookworm' is invalid: version number does not start with digit
LINE: tvheadend (~bookworm) bookworm; urgency=low
dpkg-buildpackage: info: source package tvheadend
dpkg-buildpackage: info: source version unknown
dpkg-buildpackage: error: version number does not start with digit

debian/changelog:

tvheadend (~bookworm) bookworm; urgency=low

  * ab6ea89 Update manpage

  * The full changelog(s) can be found at
    https://tvheadend.org/projects/tvheadend/wiki/Releases
    https://github.com/tvheadend/tvheadend

 -- Andreas Öman <[email protected]>  Sun, 07 Apr 2024 22:14:47 +0100

debian/control:

root@DESKTOP:/home/pi/tvheadend# cat debian/control
Source: tvheadend
Section: video
Priority: extra
Maintainer: Tvheadend Project <[email protected]>
Build-Depends: debhelper (>= 7.0.50), pkg-config, gettext, libavahi-client-dev, libssl-dev | libssl1.0-dev, zlib1g-dev, wget, bzip2, git-core, liburiparser-dev, python | python3, python-requests | python3-requests, ca-certificates, cmake, libpcre2-dev | libpcre3-dev, libdvbcsa-dev
Standards-Version: 3.7.3

Package: tvheadend
Architecture: any
Depends: ${shlibs:Depends}, libavahi-client3, zlib1g, liburiparser1, bzip2
Recommends: xmltv-util, python, python-requests
Enhances: showtime
Replaces: hts-tvheadend
Homepage: https://tvheadend.org
Description: Tvheadend
 Tvheadend is a TV streaming server and digital video recorder.
   - supports a variety of inputs (DVB-S(2)/T(2)/C, ISDB-S/T/C, ATSC-T/C, IPTV, SAT>IP, HDHR)
   - supports a variety of clients (Movian, Smart TV, Kodi, VLC)

Package: tvheadend-dbg
Architecture: any
Section: debug
Priority: extra
Depends: tvheadend (= ${binary:Version}), ${misc:Depends}
Description: Debug symbols for Tvheadend
 This package contains the debugging symbols for Tvheadend.

Logfile

No response

Reproduction

  1. git clone --depth 1 https://github.com/tvheadend/tvheadend.git
  2. install missing dependencies: gettext libssl-dev libpcre2-dev zlib1g-dev liburiparser-dev libavahi-client-dev cmake libiconv-hook-dev libdvbcsa-dev
  3. AUTOBUILD_CONFIGURE_EXTRA=--disable-ffmpeg_static\ --disable-libfdkaac_static\ --disable-libtheora_static\ --disable-libopus_static\ --disable-libvorbis_static\ --disable-libvpx_static\ --disable-libx264_static\ --disable-libx265_static\ --disable-libfdkaac\ --disable-libopus\ --disable-libvorbis\ --disable-libvpx\ --disable-libx264\ --disable-libx265\ --disable-avahi\ --disable-dbus_1\ --disable-bintray_cache\ --disable-execinfo\ --disable-hdhomerun_static\ --disable-hdhomerun_client\ --disable-libav\ --enable-pngquant\ --enable-trace\ --disable-vaapi ./configure
  4. AUTOBUILD_CONFIGURE_EXTRA=--disable-ffmpeg_static\ --disable-libfdkaac_static\ --disable-libtheora_static\ --disable-libopus_static\ --disable-libvorbis_static\ --disable-libvpx_static\ --disable-libx264_static\ --disable-libx265_static\ --disable-libfdkaac\ --disable-libopus\ --disable-libvorbis\ --disable-libvpx\ --disable-libx264\ --disable-libx265\ --disable-avahi\ --disable-dbus_1\ --disable-bintray_cache\ --disable-execinfo\ --disable-hdhomerun_static\ --disable-hdhomerun_client\ --disable-libav\ --enable-pngquant\ --enable-trace\ --disable-vaapi ./Autobuild.sh

[BUG]: crash during transcode with profile webtv-h264-aac-mpegts

Tvheadend Version

v4.3 (development)

Build Number

master

Platform

Other..

Architecture

Intel x86_64

Category

Crashes

Description

Platform:
manjaro linux with arch-linux AUR build instructions
(https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=tvheadend-git)

When following the below steps tvheadend crashes (signal 11).

Logfile

2024-01-04 19:47:49.113 [  DEBUG] transcode: 0002: 02:AAC-LATM: [mp2 => aac]: opts: flags=+qscale,global_quality=118,tvh_require_meta=1,profile=0
2024-01-04 19:47:49.114 [  DEBUG] transcode: 0002: 02:AAC-LATM: [mp2 => aac]: filters: source args: 'time_base=1/90000:sample_rate=48000:sample_fmt=s16p:channel_layout=stereo'
2024-01-04 19:47:49.114 [  DEBUG] transcode: 0002: 02:AAC-LATM: [mp2 => aac]: filters: filters: 'aresample'
2024-01-04 19:47:49.130 [  DEBUG] transcode: 0002: 01:H264: [h264 => libx264]: opts: crf=15,tvh_filter_deint=0,width=682,height=384,pix_fmt=0,bf=3,tvh_require_meta=1,profile=0
x264 [error]: invalid profile: 0
2024-01-04 19:47:49.131 [  ERROR] libav: AVCodecContext: Error setting profile 0.
2024-01-04 19:47:49.131 [   INFO] libav: AVCodecContext: Possible profiles:
2024-01-04 19:47:49.131 [   INFO] libav: AVCodecContext:  baseline
2024-01-04 19:47:49.131 [   INFO] libav: AVCodecContext:  main
2024-01-04 19:47:49.131 [   INFO] libav: AVCodecContext:  high
2024-01-04 19:47:49.131 [   INFO] libav: AVCodecContext:  high10
2024-01-04 19:47:49.131 [   INFO] libav: AVCodecContext:  high422
2024-01-04 19:47:49.131 [   INFO] libav: AVCodecContext:  high444
2024-01-04 19:47:49.131 [   INFO] libav: AVCodecContext: 
2024-01-04 19:47:49.131 [  ALERT] CRASH: Signal: 11 in PRG: tvheadend (4.3-2188~gb40a62b31) [b1ca03ee3ca2e14a4eeebbdf30d28a6f606cbe1d] CWD: /home/<user>/software/tvheadend/pkgbuild/tvheadend-git  
2024-01-04 19:47:49.131 [  ALERT] CRASH: Fault address (nil) (Address not mapped)
2024-01-04 19:47:49.131 [  ALERT] CRASH: Loaded libraries: linux-vdso.so.1 /usr/lib/libdvbcsa.so.1 /usr/lib/libssl.so.3 /usr/lib/libcrypto.so.3 /usr/lib/libz.so.1 /usr/lib/libpcre2-8.so.0 /usr/lib/liburiparser.so.1 /usr/lib/libavahi-common.so.3 /usr/lib/libavahi-client.so.3 /usr/lib/libavfilter.so.9 /usr/lib/libavformat.so.60 /usr/lib/libavcodec.so.60 /usr/lib/libavutil.so.58 /usr/lib/libva.so.2 /usr/lib/libdbus-1.so.3 /usr/lib/libm.so.6 /usr/lib/libc.so.6 /usr/lib/libswscale.so.7 /usr/lib/libpostproc.so.57 /usr/lib/libswresample.so.4 /usr/lib/libbs2b.so.0 /usr/lib/librubberband.so.2 /usr/lib/libharfbuzz.so.0 /usr/lib/libfribidi.so.0 /usr/lib/libplacebo.so.264 /usr/lib/libvmaf.so.3 /usr/lib/libass.so.9 /usr/lib/libvidstab.so.1.2 /usr/lib/libzimg.so.2 /usr/lib/libOpenCL.so.1 /usr/lib/libfontconfig.so.1 /usr/lib/libfreetype.so.6 /usr/lib/libvpl.so.2 /usr/lib/libxml2.so.2 /usr/lib/libbz2.so.1.0 /usr/lib/libmodplug.so.1 /usr/lib/libopenmpt.so.0 /usr/lib/libbluray.so.2 /usr/lib/libgmp.so.10 /usr/lib/libgnutls.so.30 /usr/lib/libsrt.so.1.5 /usr/lib
2024-01-04 19:47:49.131 [  ALERT] CRASH: Register dump [23]: 00007fd460001e90000000000000003f000000000000000600007fd460001f100000000000000002000056184e90628300007fd4609d590000007fd460002ec000007fd4609d590000007fd481decb5400007fd481decf9000007fd460001ae00000000000000000000000000000000000007fd4609d590000007fd481decf90000056184e8dbde10000000000010206002b0000000000330000000000000004000000000000000efffffffe7ffbba130000000000000000

coredumpctl info :

               Stack trace of thread 46423:
                #0  0x000056184e8dbde1 _context_print_opts (tvheadend + 0x2aade1)
                #1  0x000056184e8dc5d4 tvh_context_open (tvheadend + 0x2ab5d4)
                #2  0x000056184e8dc629 tvh_context_encode (tvheadend + 0x2ab629)
                #3  0x000056184e8dc732 tvh_context_decode_packet (tvheadend + 0x2ab732)
                #4  0x000056184e8dd47b tvh_context_decode (tvheadend + 0x2ac47b)
                #5  0x000056184e8deb06 tvh_stream_handle (tvheadend + 0x2adb06)
                #6  0x000056184e8df0a2 tvh_transcoder_handle (tvheadend + 0x2ae0a2)
                #7  0x000056184e83356f normalize_ts (tvheadend + 0x20256f)
                #8  0x000056184e80a554 profile_sharer_thread (tvheadend + 0x1d9554)
                #9  0x000056184e7a1dea thread_wrapper (tvheadend + 0x170dea)
                #10 0x00007fd4b49bd9eb n/a (libc.so.6 + 0x8c9eb)
                #11 0x00007fd4b4a417cc n/a (libc.so.6 + 0x1107cc)

Reproduction

  1. press "watch tv" button
  2. select profile webtv-h264-aac-mpegts
  3. select a channel

[BUG]: "$ tvheadend -c emptyHts -C" Crash

Tvheadend Version

v4.3 (development)

Build Number

4.3-2190~g2151348f7

Platform

Other..

Architecture

Other..

Category

Crashes

Description

Migrated from https://old.tvheadend.org/issues/6320

While hts has been working well for me, I've started testing with containers and encountered this crashing.
At first I thought it was container-related until the latest test on the host with a new empty config location.
If the config already exists, OR I run it from the "build.linux" directory, I get:

...
2024-01-05 14:32:18.542 [   INFO] codec: 'webtv-vorbis' codec profile created
2024-01-05 14:32:18.542 [   INFO] codec: 'webtv-aac' codec profile created
2024-01-05 14:32:18.542 [   INFO] descrambler: adding CAID 2600/FFFF as ConstCW interval 10000ms pc 20 ep default (BISS)
2024-01-05 14:32:18.542 [   INFO] descrambler: adding CAID 0E00/FFFF as MultiPID interval 1000ms pc 2 ep default (PowerVu)
2024-01-05 14:32:18.575 [   INFO] bouquet: new bouquet 'Canal Digitaal SD'
2024-01-05 14:32:18.575 [   INFO] bouquet: new bouquet 'Canal Digitaal HD'
2024-01-05 14:32:18.575 [   INFO] bouquet: new bouquet 'TV Vlaanderen SD'
2024-01-05 14:32:18.575 [   INFO] bouquet: new bouquet 'TV Vlaanderen HD'
2024-01-05 14:32:18.575 [   INFO] bouquet: new bouquet 'TéléSAT SD'
2024-01-05 14:32:18.575 [   INFO] bouquet: new bouquet 'TéléSAT HD'
2024-01-05 14:32:18.575 [   INFO] bouquet: new bouquet 'AustriaSat Astra1'
2024-01-05 14:32:18.575 [   INFO] bouquet: new bouquet 'Canal Digitaal HD'
2024-01-05 14:32:18.575 [   INFO] bouquet: new bouquet 'TV Vlaanderen HD'
2024-01-05 14:32:18.575 [   INFO] bouquet: new bouquet 'TéléSAT HD'
2024-01-05 14:32:18.575 [   INFO] bouquet: new bouquet 'AustriaSat Astra3'
2024-01-05 14:32:18.575 [   INFO] bouquet: new bouquet 'Skylink: Czech Republic'
2024-01-05 14:32:18.575 [   INFO] bouquet: new bouquet 'Skylink: Slovak Republic'
2024-01-05 14:32:18.575 [   INFO] iptv: Using 2 input thread(s)
2024-01-05 14:32:18.575 [WARNING] scanfile: no predefined muxes found, check path '/usr/share/dvb'
2024-01-05 14:32:18.575 [WARNING] scanfile: expected tree structure - http://git.linuxtv.org/cgit.cgi/dtv-scan-tables.git/tree/
2024-01-05 14:32:18.581 [   INFO] linuxdvb: adapter added /dev/dvb/adapter0
2024-01-05 14:32:18.582 [   INFO] dvr: Creating new configuration ''
2024-01-05 14:32:18.582 [WARNING] dvr: Output directory for video recording is not yet configured for DVR configuration "". Defaulting to to "/home/userName/Videos". This can be changed from the web user interface.
2024-01-05 14:32:18.582 [WARNING] access: Created default wide open access controle entry
2024-01-05 14:32:18.582 [   INFO] epggrab: module uk_freesat created
...

Logfile


...
2024-01-05 14:20:21.747 [   INFO] codec: 'vp8_vaapi' encoder registered
2024-01-05 14:20:21.747 [   INFO] codec: 'vp9_vaapi' encoder registered
2024-01-05 14:20:21.747 [  ALERT] profile: no default streaming profile! reinstall data files
2024-01-05 14:20:23.747 [  ALERT] CRASH: Signal: 6 in PRG: /<customPathTo>/usr/local/bin/tvheadend (4.3-2190~g2151348f7-dirty) [bf99ae4c68f498e65603aceb4bf481878b107c50] CWD: /home/userName/Desktop  
2024-01-05 14:20:23.747 [  ALERT] CRASH: Fault address 0x3e800317527 (N/A)
2024-01-05 14:20:23.747 [  ALERT] CRASH: Loaded libraries: linux-vdso.so.1 /usr/lib/libssl.so.3 /usr/lib/libcrypto.so.3 /usr/lib/libz.so.1 /usr/lib/libpcre2-8.so.0 /usr/lib/libavahi-common.so.3 /usr/lib/libavahi-client.so.3 /usr/lib/libavfilter.so.7 /usr/lib/libswresample.so.3 /usr/lib/libswscale.so.5 /usr/lib/libavformat.so.58 /usr/lib/libavcodec.so.58 /usr/lib/libavutil.so.56 /usr/lib/libva.so.2 /usr/lib/libva-drm.so.2 /usr/lib/libdbus-1.so.3 /usr/lib/libm.so.6 /usr/lib/libc.so.6 /usr/lib/libpostproc.so.55 /usr/lib/libfribidi.so.0 /usr/lib/libass.so.9 /usr/lib/libvidstab.so.1.2 /usr/lib/libzimg.so.2 /usr/lib/libfontconfig.so.1 /usr/lib/libfreetype.so.6 /usr/lib/libmfx.so.1 /usr/lib/libsoxr.so.0 /usr/lib/libxml2.so.2 /usr/lib/libbz2.so.1.0 /usr/lib/libmodplug.so.1 /usr/lib/libbluray.so.2 /usr/lib/libgmp.so.10 /usr/lib/libgnutls.so.30 /usr/lib/libsrt.so.1.5 /usr/lib/libssh.so.4 /usr/lib/libvpx.so.8 /usr/lib/libwebpmux.so.3 /usr/lib/liblzma.so.5 /usr/lib/libdav1d.so.7 /usr/lib/libopencore-amrwb.so.0 /usr/lib/librsvg-2.so.2 /usr/lib/libgobject
2024-01-05 14:20:23.747 [  ALERT] CRASH: Register dump [23]: 00000000000000000000000000000081000000000000000800000000000002460000000000000000000000000000000600007fff8f03e3a000000000ffffffff0000000000317527000000000031752700007f230ea4a20000000000003175270000000000000006000000000000000000007f231e3b783c00007fff8f03e03000007f231e3b783c0000000000000246002b00000000003300000000000000000000000000000000fffffffe7ffbfa170000000000000000
2024-01-05 14:20:23.747 [  ALERT] CRASH: STACKTRACE
2024-01-05 14:20:23.779 [  ALERT] CRASH: /<pathTo>/tvheadend/src/trap.c:176 0x563d1d4632f2 0x563d1d2ad000
2024-01-05 14:20:23.912 [  ALERT] CRASH: ??:0 0x7f231e367710 0x7f231e329000
2024-01-05 14:20:24.049 [  ALERT] CRASH: ??:0 0x7f231e3b783c 0x7f231e329000
2024-01-05 14:20:24.049 [  ALERT] CRASH: raise+0x18  (/usr/lib/libc.so.6)
2024-01-05 14:20:24.049 [  ALERT] CRASH: abort+0xd7  (/usr/lib/libc.so.6)
2024-01-05 14:20:24.095 [  ALERT] CRASH: /<pathTo>/tvheadend/src/profile.c:2811 (discriminator 2) 0x563d1d48576f 0x563d1d2ad000
2024-01-05 14:20:24.108 [  ALERT] CRASH: /<pathTo>/tvheadend/src/main.c:1292 (discriminator 3) 0x563d1d40c957 0x563d1d2ad000
2024-01-05 14:20:24.242 [  ALERT] CRASH: ??:0 0x7f231e350cd0 0x7f231e329000
2024-01-05 14:20:24.242 [  ALERT] CRASH: __libc_start_main+0x8a  (/usr/lib/libc.so.6)

Reproduction

No response

[FEATURE]: Improvements to XMLTV EPG Data Extraction

Description

Add four XPath-like strings to identify XML nodes/attributes to the ‘parameters’ of the XMLTV grabber modules:

  1. Unique programme identifier. (Similar to the DVB ‘event_id’ field, but stored in a new variable length string field). TVH will still create it’s own ID, however, when processing updates from XMLTV, this string will be used to match an event, thereafter, the TVH ID will be used internally.
  2. Series Identifier. (Saved in the same field as the DVB series CRID). If this field is found, the internal function creating a series ID will be bypassed.
  3. Episode Identifier. (Saved in the same field as the DVB episode CRID) . If this field is found, the internal function creating an episode ID will be bypassed.
  4. Category/Genre ETSI code. If this field is found, bypass the category/genre name matching process and use the ETSI code instead. Categories with a missing field or a field containing invalid hex values will revert to name matching.

https://tvheadend.org/d/8512-improvements-to-xmltv-epg-data-extraction

Note: Due to the limited scope of the requirement, the feature will use an XPath-like syntax that is not technically 100% compliant with the XPath syntax.

Help and Guidance

None

Acceptance

  • The proposal will be developed and maintained by me

Sweep: Rearrange text on the about-page

Details

The text on the about-page needs to be rearranged. The text starting with "This product uses..." should be moved all the way to the bottom. Where the beforementioned text is currently the text starting with "To support..." text with the link to opencollective.com. Also the text starting with "TV information and images are provided" should be moved to the bottom, below the other text that was moved to the bottom previously.

Checklist
  • Create path/to/about-page.html0da37d5 Edit
  • Running GitHub Actions for path/to/about-page.htmlEdit

[BUG]: No audio language/description

Tvheadend Version

v4.3 (development)

Build Number

2315~gab6ea89b1

Platform

Other..

Architecture

Intel x86_64

Category

IPTV

Description

Using a typical german mux such as https://zdf-hls-15.akamaized.net/hls/live/2016498/de/veryhigh/master.m3u8, there are several audio streams. Both the "built-in" scan and the scan with A/V library (which is required to get working audio) drop (or do not extract in the first place) the language and description for the audio channels (which is shown when using the URL in e.g. vlc). This makes using the audio streams impossible because in a front-end you just have a list of streams with numbers and don't know which one to choose.

Logfile

No response

Reproduction

  1. Configure the sample mux.
  2. Have a look at the information for the created stream (or open vlc with the stream from tvheadend).

[BUG]: No Entries Displayed in "Muxe" Tab After Adding IPTV Network

Tvheadend Version

v4.3 (development)

Build Number

4.3-2253~g2ca8a19e4

Platform

Raspberry Pi OS (Bullseye)

Architecture

ARMv7 (arm)

Category

Muxes

Description

I compiled the latest TVHeadend 4.3-2253~g2ca8a19e4 on my Raspberry Pi. After installation, I added an IPTV network via the wizard. It shows a total of 225 Muxes and all services. However, there are no entries displayed in the "Muxes" tab.

Logfile

No response

Reproduction

  1. Start the Wizzard
  2. Select IPTV Automatic Network
  3. paste m3u URL
    Networks
    Muxes
    services

[BUG]: Multi-Client SAT>IP unsubscribe causes crash if the order is different from the subscribing order

Tvheadend Version

v4.3 (development)

Build Number

4.3.2209

Platform

Ubuntu 22.04 (Jammy)

Architecture

Intel x86_64

Category

Crashes

Description

The issue is occuring if 2 SAT>IP clients watch the same encrypted channel and they unsubscribe in a different order than they subscribed, so like this:

Client 1 subscribes

Client 2 subscribes

Client 1 unsubscribes

(Tvheadend marks the raw service it created initially for deletion and then deletes it, however that service is still used by client 2 as client 2 has it still set as s_master, but the deleted raw service doesn't have any s_client entries at deletion anymore, I verified that. At this point Client 2 no longer gets any MPEG-TS packets.)

Client 2 unsubscribes

(Tvheadend crashes)

I tried to add more debug output and make sense of the linking of the different services but just couldn't figure out how it's supposed to work, the client services seem to somehow link to each other or something like that?

Logfile

No response

Reproduction

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.