Cutter This varies, depending on other settings, but in no case will it ever switch to another service with a lower priority.
Hey, don't say that anymore. I see that you are just guessing and have no experience with the given problem. Everything that you will try here now and ask me what will happen if..., I have already gone through. Anyway, thanks for your effort.
Finally, I decided and solved it with my own selection mechanism with a quick test of the availability of streams stored in an external database. It works reliably, quickly and is adaptive. I have several stream addresses in the database for each service, the availability test runs as a multithread, the first confirmed stream is selected. In addition, for speed, the last used working stream is remembered for each service. The delay in switching channels is definitely shorter than it would be if I solved it in Tvheadend with multiple services for each channel (and if their switching worked).
The database service runs as a server application (daemon) on the machine where Tvheadend is also running, a simple client application is launched using the pipe:// method when selecting a channel. It sends the server application (via socket) a string identifying the service, and the server application returns (by the same way) a valid address of a working stream.
@chewitt This topic can be closed for me. I don't need to deal with it anymore.