Project

General

Profile

Is it possible to update the list of MUXes from a separate file e.g: satellites.xml

Added by Sean Warner over 2 years ago

Hello,

This was asked years ago but I want to check again please in case anything has changed.

I'm using TVheadend 4.3 on Ubuntu... when I use an enigma2 image such as OpenATV I can quickly update the list of Astra 28.2E transponders (MUXes) by downloading a satellites.xml file from http://satellites-xml.org/

I can then place that file in /etc/enigma2 and then use the OpenATV interface to scan channels on that updated list of satellite transponders.

Is it possible to do the same thing in TVHeadend or do I need to go in to TVH > Configuration > DVB Inputs > MUXes and painstakingly update each MUX manually?

It looks like there may be a file with Transponder (MUX) info in the TVHeadend installation folder: /usr/share/tvheadend/data/conf/ in files called: "satellites" and "fastscan".

There are also files in...
/usr/share/dvb/dvb-legacy/dvb-s/
and
/usr/share/dvb/dvb-s/

That look promising but I think I read elsewhere that modifying these files won't make a difference because the transponder info is hard-coded in to the TVHeadend binary.

Any help much appreciated,

Flex


Replies (20)

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by Jack Ortega over 2 years ago

Sean Warner wrote:

Hello,

This was asked years ago but I want to check again please in case anything has changed.

I'm using TVheadend 4.3 on Ubuntu... when I use an enigma2 image such as OpenATV I can quickly update the list of Astra 28.2E transponders (MUXes) by downloading a satellites.xml file from http://satellites-xml.org/ cuphead

I can then place that file in /etc/enigma2 and then use the OpenATV interface to scan channels on that updated list of satellite transponders.

Is it possible to do the same thing in TVHeadend or do I need to go in to TVH > Configuration > DVB Inputs > MUXes and painstakingly update each MUX manually?

It looks like there may be a file with Transponder (MUX) info in the TVHeadend installation folder: /usr/share/tvheadend/data/conf/ in files called: "satellites" and "fastscan".

There are also files in...
/usr/share/dvb/dvb-legacy/dvb-s/
and
/usr/share/dvb/dvb-s/

That look promising but I think I read elsewhere that modifying these files won't make a difference because the transponder info is hard-coded in to the TVHeadend binary.

Any help much appreciated,

Flex

I'm not sure about that. Hope some one can explain.

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by Sean Warner over 2 years ago

All I could figure out so far is that in this directory:

~/.hts/tvheadend/epggrab/otamux/

There is a file for every MUX listed in Configuration > DVB Inputs > Muxes

But these files don't contain any information about how the MUX is configured (its frequency, polarity etc..) but only a list of channels (I think) that were discovered on that MUX when it was last scanned.
It should be possible to upload, in to TVHeadend, an xml file of pre-configured MUXes (like you can do in enigma2)... would save so much time.

In the same way you should be able to export (and import back in) a list of your channels so you can easily restore them e.g: to a new TVHeadend installation... in case a backup of the whole ~/.hts/... directory might not be compatible with the new TVHeadend version.

Flex

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by Sean Warner over 2 years ago

Thanks saen,

I want to give dvb-apps a try and another useful tool called openTVToXML https://github.com/dave-p/openTVtoXML which can read OpenTV EPG from Satellite MUX and put it in XMLTV compatible format.
But I currently CANNOT because my satellite tuners are on an enigma2 box (ZgemmaH7S) and its Linux OS is so minimal its package manager doesn't have dvb-apps or tools needed to set up a build environment so I can compile dvb-apps from sources!

In the meantime I see there is a file on my Ubuntu Server where I have installed TVHeadend called:
/usr/share/dvb/dvb-s/Astra-28.2E

It contains a list of the transponders on that satellite. I wonder does TVHeadend use that file to populate its Muxes tab with an initial list of transponders to tune in channels from? Or maybe TVHeadend still has its own separate list baked in to the source code? I know that when I make changes to the MUXes in TVH they do NOT update /usr/share/dvb/dvb-s/Astra-28.2E so maybe TVH does not use it after all.. I don't know!

Flex

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by saen acro over 2 years ago

Any enigma box can run SATPI or Minisatip and stream to TVHeadend on full functional x86

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by Sean Warner over 2 years ago

Yes, that's what I am doing.. Minisatip installed on a zgemmah7s sends the channels to tvheadend on ubuntu server on a pi 4.

The problem with trying out dvb-apps is I need to install it on the zgemma because the tuners are there and the /dev/dvb/adapter0.. path is in that filesystem.

But I cannot install dvb-apps on openatv on that zgemma as explained above.

Unless I can run dvb-apps on the ubuntu server pi and it can see the stream on the remote machine/zgemma. I don't know how to do that. Or maybe if dvb-apps could read a .ts or .mpeg recording of the stream made from the satellite tuner? But I don't think dvb-apps is coded to work like that and I don't know how to adapt it.

If you know please let me know.

Cheers,

Flex

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by saen acro over 2 years ago

Not needed to be installed on STB, STB is controlled by remote side.

You can manually replace files.

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by Sean Warner over 2 years ago

I cannot install dvb-apps on the remote machine where the satellite tuners are... The Linux OS on that machine is too limited.

Can I run dvb-apps from Ubuntu on my Pi 4 to control the tuners on the remote machine?

Can you show me the commands to make that work please? I cannot really understand your explanations so far. Can you give me detailed steps?

Thank you,

Flex

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by saen acro over 2 years ago

Again no need to install it on STB (Set-Top-Box Zgemma)
TVHeadend control tuner remotely

Need to install it where is TVH installed.

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by Sean Warner over 2 years ago

Ok Sir,

As I mentioned above I had already installed dvb-apps on my Ubuntu Pi where TVheadend is also installed. But it wasn't working for me.

Here is the proof if you are interested:

4tb1@ubuntu:~$ scan /usr/share/dvb/dvb-s/Astra-28.2E > channels.conf
scanning /usr/share/dvb/dvb-s/Astra-28.2E
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
main:2745: FATAL: failed to open '/dev/dvb/adapter0/frontend0': 2 No such file or directory
4tb1@ubuntu:~$ dvbscan /usr/share/dvb/dvb-s/Astra-28.2E > channels.conf
Failed to open frontend
4tb1@ubuntu:~$

I could be wrong but I think this output means that dvb-apps utilities run from my Ubuntu Pi cannot see the device: /dev/dvb/adapter0/frontend0 (the satellite tuner?) because that device does not exist on my Ubuntu Pi because there are no tuners on my Ubuntu Pi.

Am I using the correct commands or using them in the wrong way maybe?

If you could advise me what command or commands I need to run from my Ubuntu terminal that would be very helpful.

Thank you,

Flex

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by Sean Warner over 2 years ago

@saen acro
If I understand you correctly... then like I mentioned already, my satellite tuners are on a set top box on which I can install almost nothing as it is a really limited OS (OpenATV). Minisatip is running on that set top box which sends the channels to TVheadend. TVHeadend is installed on Ubuntu on a Pi 4. I can ssh in to the Ubuntu OS from my laptop (running Manjaro).

I took a look at w_scan_cpp. It seems that it might actually be able to do something useful and I would run that command from the Ubuntu Pi with a command such as this:

w_scan_cpp -fs -s S28E2 --satip

However I have not been able to test if it works. It's a VERY complicated process to install w_scan_cpp! It doesn't exist in any package manager??? Not in apt or pacman either??

It's four separate programs each with loads of dependencies. All have to be downloaded and compiled from sources... and instructions are in German!
Also it's nothing to do with dvb-apps ... but you were pretty sure earlier dvb-apps is what I needed!
I'm going to leave this for now. But thank you for your help.. despite being always terse, cryptic and confusing.

For anyone else who can speak English:
Recall that my goal is to update the list of Muxes in the TVHeadend MUX tab with the most up to date frequencies by simply loading the data into a file. I am interested in Astra 28.2E. Updating each one by hand in the TVH GUI is painful.

I might be wrong but I think I could simply download a file with up to date MUX/Transponder listings for Astra 28.2E here: http://satellites-xml.org/
Then copy them one by one in to this file on the same machine running tvheadend: /usr/share/dvb/dvb-s/Astra-28.2E
Then in Tvheadend > Configuration > General > Base > Miscellaneous Settings > DVB scan files path = /usr/share/dvb
I haven't tested this, if someone else knows if I'm on the right track please let me know :)

Cheers,

Flex

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by saen acro over 2 years ago

Sean Warner wrote:

@saen acro
If I understand you correctly... then like I mentioned already, my satellite tuners are on a set top box on which I can install almost nothing as it is a really limited OS (OpenATV). Minisatip is running on that set top box which sends the channels to TVheadend. TVHeadend is installed on Ubuntu on a Pi 4. I can ssh in to the Ubuntu OS from my laptop (running Manjaro).

You tuner is NETWORK TUNER with is managed by SAT>IP protocol.
https://en.wikipedia.org/wiki/Sat-IP
Your STB act as SAT>IP SERVER
In same time TVHeadend act as SAT>IP Client
WITH MEAN:
What TVHeadend want from your STB tuner is a signal from tuner on specific frequency/polarization/Simbolrate/PID's
this is a example of playlst used to ask SAT>IP server channels
https://www.satip.info/resources/channel-lists/
https://www.satip.info/Playlists/ASTRA_28_2E.m3u (edit ip of server in playlist)

I took a look at w_scan_cpp. It seems that it might actually be able to do something useful and I would run that command from the Ubuntu Pi with a command such as this:
[...]

However I have not been able to test if it works. It's a VERY complicated process to install w_scan_cpp! It doesn't exist in any package manager??? Not in apt or pacman either??

It's four separate programs each with loads of dependencies. All have to be downloaded and compiled from sources... and instructions are in German!
Also it's nothing to do with dvb-apps ... but you were pretty sure earlier dvb-apps is what I needed!
I'm going to leave this for now. But thank you for your help.. despite being always terse, cryptic and confusing.

This is the only way to SCAN NETWORK tuner

For anyone else who can speak English:
Recall that my goal is to update the list of Muxes in the TVHeadend MUX tab with the most up to date frequencies by simply loading the data into a file. I am interested in Astra 28.2E. Updating each one by hand in the TVH GUI is painful.

For you and other's, channel list build-in, in TVHeadend are outdated because no one update them
https://github.com/tvheadend/dtv-scan-tables
see pull request how many time waiting to be merged
even simple change to
https://git.linuxtv.org/dtv-scan-tables.git/
with is more accurate was refused.
changes must be made it this files
https://github.com/tvheadend/tvheadend/blob/fbc94aee8bfdd25baba87ab62a39234da20e8dd2/support/getmuxlist
https://github.com/tvheadend/tvheadend/blob/10d117e6ed912759db59633ea426bed5ceb6819a/Makefile#L886

And that why logic suggestion is, to make your own BLIND-SCAN searching, which will make actual scan files

I might be wrong but I think I could simply download a file with up to date MUX/Transponder listings for Astra 28.2E here: http://satellites-xml.org/

Don't you think about if you use your STB and blind-scan 28.2E and get current frequency list from STB?

Then copy them one by one in to this file on the same machine running tvheadend: /usr/share/dvb/dvb-s/Astra-28.2E
Then in Tvheadend > Configuration > General > Base > Miscellaneous Settings > DVB scan files path = /usr/share/dvb
I haven't tested this, if someone else knows if I'm on the right track please let me know :)

get file from
https://git.linuxtv.org/dtv-scan-tables.git/plain/dvb-s/Astra-2F-28.2E
and replace with outdated one in
/usr/share/tvheadend/data/dvb-scan/dvb-s/

Cheers,

Flex

It's no so hard to learn how to use something, it more easy to make someone to do it for you, but on what cost.

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by Sean Warner over 2 years ago

@ saen acro

Thanks for your help and apologies for my rudeness earlier.

I think installing w_scan_cpp is very complicated and is maybe going to create even more work than needed. I also read a comment from its author...
https://github.com/wirbel-at-vdr-portal/w_scan_cpp/issues/3
.. that w_scan_cpp is not the right tool for creating a list of Transponders but instead dvbv5-scan would be a better tool. And in fact that it may not even be necessary to update the list of transpondes/MUXes??

"The base idea is, that such a complete list is never needed or wanted.
Just at least one or two successful hits out of the list to get the NIT from one or two transponders."

Anyway from reading its man page I think dvbv5-scan needs the satellite tuners to be on the local machine which is not my case.

If there is another method, even it it is a bit more manual I don't mind as long as I don't have to edit the MUX list in the TVHeadend MUX tab one by one.
That's why I had the idea to edit this file on the same machine running tvheadend: /usr/share/dvb/dvb-s/Astra-28.2E
Then in Tvheadend > Configuration > General > Base > Miscellaneous Settings > DVB scan files path = /usr/share/dvb
I have now tested this and despite rebooting and also restarting tvheadend it doesn't make any difference to the MUX list in the MUX tab.

I also took your suggestion but I do not have the path: /usr/share/tvheadend/data/dvb-scan/dvb-s/ on my TVHeadend server or on my sat>ip server.
Maybe my tvheadend version is different from yours:

HTS Tvheadend version 4.3.0~pre+202206172307-0~built202206180332~gitfbc94aee8~ubuntu22.04.1

I have spent a lot of time on this and tried many things, which in some cases were a waste of time. From some more testing I discovered that the list of satellite MUXes in my TVHeadend installation is in: ~/.hts/tvheadend/input/dvb/networks/a6c2672db30976b04e74fbfb05ac535c/muxes/
When I edit a MUX in the TVHeadend MUX tab a change is made to a file that directory. However those files seem to be binary. It would be a lot easier if they were just text files that were loaded in to tvheadend when it starts up.

With this experience I am doubting that w_scan_cpp or dvbv5-scan would be any help because I don't know how to make tvheadend use a user-defined list of transponders other than whatever it has got built-in. Maybe it is not possible.

If someone knows how to load a text file of Satellite transponders so they appear in TVHeadends MUX tab, or if this is actually not possible at all, please let me know.

Flex

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by saen acro over 2 years ago

You start to read maby...

~/.hts/tvheadend/input/dvb/networks/a6c2672db30976b04e74fbfb05ac535c/muxes/

this is your configuration not a real init scan file

With is located in

/usr/share/tvheadend/data/dvb-scan/dvb-s/

w_scan_cpp and dvbv5-scan ar for LOCAL DVBAPI aka tuners attached on device.
SAT>IP is network protocol

but as you can see in in help of command and examples above
w_scan_cpp can be used also to scan via SAT>IP protocol via example from above
https://www.linuxtv.org/wiki/index.php/W_scan_cpp#Scanning_DVB-C_.28Germany.2C_SAT.3EIP.2C_choose_server.29
you can change command for your needs

w_scan2 -f -c x > initial
dvb-format-convert -I CHANNEL -O DVBV5 initial de-City-Provider
/put in tvheadend/
cp de-City-Provider /usr/share/tvheadend/data/dvb-scan/dvb-c/
systemctl restart tvheadend

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by Sean Warner over 2 years ago

OMG......

w_scan2 also needs to run on the same machine that the satellite tuners are installed on so that is not an option for me either.
Why would you even suggest that tool given everything I told you, about THREE times?
You want to send me on another wild goose chase that is never going to work for me.

w_scan_cpp and dvbv5-scan ar for LOCAL DVBAPI aka tuners attached on device.

We already established several messages earlier in this thread that w_scan_cpp could potentially be run from one machine and target the tuners on another machine. And that it is ridiculously complicated to install it.
Regarding dvbv5-scan : I mentioned in an earlier message that it needs to run on the same machine where the tuners are. You didn't need to tell me that again.

I guess I'm sounding annoyed again but I am trying to give you some feedback saen acro about the quality of the help you are giving. You should re-read a thread before giving any advice in case that was covered already or not going to be any help.

At least I finally figured out how initial scan list files work in TVHeadend.

Amongst the many things I struggled with, including my own lack of intelligence, was that even though there are THREE Astra 28.2E scan files in /usr/share/dvb/dvb-s/ only TWO were showing up in the TVH Edit Network Tab > “Pre-defined muxes” drop down. The logic for this in TVH source code has a bug I guess. I had to rename the three files..

From:
Astra-28.2E
Astra-2F-28.2E
Astra-2G-28.2E

To:
Astra-28.2E-Astra-28.2E
Astra-28.2E-2F-Astra-28.2E
Astra-28.2E-2G-Astra-28.2E

Or else only two would appear in the drop down OR none at all or only one...
Also if a file is named: "Astra-28.2E" you get "Astr" in the drop down.
That was not helping my confusion!

I also took a while to realise that to properly test I needed to first delete all my existing Muxes in the "Muxes" tab and in the Edit Network Tab I Disabled Network discovery otherwise TVH would straight away start adding new Muxes that are not in those initial scan files then I couldn't tell if the muxes listed in the Muxes tab were from the files or discovered from the satellite tuner by TVH.

I also figured out that the path: /usr/share/tvheadend/data/dvb-scan didn't seem to exist on my TVHeadend server because the .../dvb-scan directory is a simlink to /usr/share/dvb

In case anyone ever reads this thread and might find it useful I'll just write some more of my findings...

As their name suggests... "Initial scan lists" are only used by TVHeadend once. Because it creates separate (?binary) files for each Mux/Transponder that are listed in the TVH Muxes tab in a directory called "muxes" in ~/.hts/tvheadend/input/dvb/networks/ for EACH Network you defined in TVH.

The most helpful advice I got in this thread was that up-to-date "initial scan lists" are available from here:
https://git.linuxtv.org/dtv-scan-tables.git/plain/dvb-s
You just put them in /usr/share/dvb/dvb-s (in the case of satellite TP lists) and restart TVHeadend.

You might need to rename them so they show up in the TVHeadend Edit "Network" screen. Although you probably won't have this problem if your initial scan list is all in ONE file.

A quick way to backup and restore a curated list of Muxes is to copy the contents of ~/.hts/tvheadend/input/dvb/networks/[code for your network]/muxes/
In practice it's better to copy the entire ~/.hts/tvheadend directory.

E.G

Make the backup
  1. sudo su
  2. systemctl stop tvheadend
  3. cd ~/.hts
  4. tar cvfp ../tvheadend.tar tvheadend
Restore a backup
  1. systemctl stop tvheadend
  2. sudo su
  3. cd ~/.hts
  4. mv tvheadend tvheadend-backup
    -- make sure the .tar backup file is in ~/tvheadend.tar
  5. tar xvfp ~/tvheadend.tar

This thread could be marked as solved now. If anyone has any related questions I am happy to try and answer them!

Flex

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by saen acro over 2 years ago

OMG he don't read

w_scan_cpp [options...]

SAT>IP  -t, --satip  
Use a SAT>IP remote tuner.
Auto-discovers SAT>IP servers on the local Net and uses one tuner on the
remote server, instead of local DTV hardware.
NOTE:

The SAT>IP spec defines DVB-C/C2, DVB-T/T2 and DVB-S/S2 only.

https://github.com/wirbel-at-vdr-portal/w_scan_cpp-binaries


ps. read this
https://tvheadend.org/issues/4379

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by Sean Warner over 2 years ago

w_scan_cpp, suggested by @saen acro, is a program that uses your own satellite tuners and dish to create an "initial scan list" of Transponders (Muxes) that you can then feed in to TVHeadend.

For anyone using a Linux distro (or possibly Windows Subsystem for Linux)... I managed to build and run w_scan_cpp on a Pi 4 running Bullseye and in Manjaro (Ruah)

There are pre-built binaries and also "build scripts" to build w_scan_cpp for Raspberry Pi Bullseye (64-bit) on GitHub.
https://github.com/wirbel-at-vdr-portal/w_scan_cpp-binaries
I downloaded build-w_scan_cpp.sh and saved it to my home folder then...
  1. sudo chmod +x build-w_scan_cpp.sh
  2. ./build-w_scan_cpp.sh
To build w_scan_cpp in Manjaro (uses sources in the AUR)
• First build and install librepfunc (v1.5.0):
  1. cd ~
  2. git clone https://aur.archlinux.org/librepfunc.git
  3. cd librepfunc
  4. makepkg -is
• Then build and install w_scan_cpp 20220105-1 like this:
  1. cd ~
  2. git clone https://aur.archlinux.org/w_scan_cpp.git
  3. cd w_scan_cpp
  4. makepkg -is

Using w_scan_cpp
See w_scan_cpp at www.linuxtv.org for explanations of parameters... https://www.linuxtv.org/wiki/index.php/W_scan_cpp

• This command creates an initial scan list of Transponders (Muxes) from your satellite dish pointed at Astra 28.2E and saves it in dvbv5 format
  1. w_scan_cpp -fs -sS28E2 -cGB --satip --output-initial >> ~/init_scan_list.conf
• This command saves all terminal output and the initial scan list to a file
  1. w_scan_cpp -fs -sS28E2 -cGB --satip --output-initial |& tee ~/init_scan_list.conf

It should be possible to use this initial scan list in TVHeadend... just rename it so it ends with the orbital position of your satellite.
e.g: Astra-28.2E and put it in /usr/share/dvb/dvb-s/ on the machine running TVHeadend.

Then restart Tvheadend and Configuration > DVB Inputs > Networks (choose your Network for satellite channels) then use the "Pre-defined Muxes" dropdown to load in to TVHeadend the up-to-date Transponders list you just scanned.

Flex

RE: Is it possible to update the list of MUXes from a separate file e.g: satellites.xml - Added by Muias Byutia almost 2 years ago

Sean Warner wrote:

> Hello,
> 
> This was asked years ago but I want to check again please in case anything has changed.
> 
> I'm using TVheadend 4.3 on Ubuntu... when I use an enigma2 image such as OpenATV I can quickly update the list of Astra 28.2E transponders (MUXes) by downloading a satellites.xml file from http://satellites-xml.org/ https://slopeio2.com
> 
> I can then place that file in /etc/enigma2 and then use the OpenATV interface to scan channels on that updated list of satellite transponders.
> 
> Is it possible to do the same thing in TVHeadend or do I need to go in to TVH > Configuration > DVB Inputs > MUXes and painstakingly update each MUX manually?
> 
> It looks like there may be a file with Transponder (MUX) info in the TVHeadend installation folder: /usr/share/tvheadend/data/conf/ in files called: "satellites" and "fastscan".
> 
> There are also files in...
> /usr/share/dvb/dvb-legacy/dvb-s/
> and
> /usr/share/dvb/dvb-s/
> 
> That look promising but I think I read elsewhere that modifying these files won't make a difference because the transponder info is hard-coded in to the TVHeadend binary.
> 
> Any help much appreciated,
> 
> Flex

did you find a solution to this problem?

    (1-20/20)