Open lars18th opened 2 months ago
If I ever add such support, it will probably not be compatible with sat>ip as that protocol is quite limited.
I also fail to understand what would be the benefit over using existing solutions such as minisatip.
Hi @deeptho ,
Thank you for the response.
If I ever add such support, it will probably not be compatible with sat>ip as that protocol is quite limited.
I'm working with the SAT>IP protocol for years, and I can't consider it limited. Why you say that?
I also fail to understand what would be the benefit over using existing solutions such as minisatip.
The minisatip
is a pure SAT>IP server. Nothing more. But with neumodvb
we can play channels, do scannings, etc. My idea is to use it as a "command-line" tool to schedule scannings, and then use the info to create M3U files for my SAT>IP server. And the trouble is that I only use network tuners (aka SAT>IP servers). For this reason, the current implementation of the neumodvb
is not runnable. Please, take note that when running software in containers physical devices (like DVB tuners) will be (in general) in the network, and not physically attached.
So please, consider it. Regards.
Hi @deeptho ,
Thank you for the response.
If I ever add such support, it will probably not be compatible with sat>ip as that protocol is quite limited.
I'm working with the SAT>IP protocol for years, and I can't consider it limited. Why you say that? Can it handle a positioner? Can it handle blindscan? Can it handle spectrum scan? Can it handle sending constellation samples? Can it handle more than 4 sat positions?
4x no. The 5th question is a maybe (I did not check). So it is limited.
I also fail to understand what would be the benefit over using existing solutions such as minisatip.
The
minisatip
is a pure SAT>IP server. Nothing more. But withneumodvb
we can play channels, do scannings, etc. My idea is to use it as a "command-line" tool to schedule scannings, and then use the info to create M3U files for my SAT>IP server.
That can be easy to program yourself: neumodvb has pything binding (admittedly not the cleanest one and not the best documented one). which make it easy to access its datatase and then generate m3u. It is not implemented and I have no plans to implement it, but it is not very difficult. See for example https://raw.githubusercontent.com/deeptho/neumodvb/master/src/neumodb/testneumodb.py (may need some updates(
And the trouble is that I only use network tuners (aka SAT>IP servers). For this reason, the current implementation of the
neumodvb
is not runnable. Please, take note that when running software in containers physical devices (like DVB tuners) will be (in general) in the network, and not physically attached.
I ave been considering implementing runing neumodvb as a server and as a client and allowing one to connect to the other. However without satip.
That would allow all the functionality I want. satip is too limited for that.
So please, consider it. Regards.
This is a hobby. I focus mostly on what I consider useful myself and I need to have the time.
It does not mean that your request is not useful. It is just a matter of priorities, and generating m3u files seems more like a task for some webservice.
Hi @deeptho ,
Thank you for your response. I understand your position. And I try to comment something more... 😉
I'm working with the SAT>IP protocol for years, and I can't consider it limited. Why you say that? Can it handle a positioner? Can it handle blindscan? Can it handle spectrum scan? Can it handle sending constellation samples? Can it handle more than 4 sat positions?
4x no. The 5th question is a maybe (I did not check). So it is limited.
Positioner: The SAT>IP specification con handle up to 64 orbital positions. How the server selects them is not defined. So they can be fixed antennas or a positioner. If you configure your server with a DiseqC 1.2 positioner, you only need to assign every sat position for each source.
Blindscan: Using the SAT>IP protocol you can select ANY frequency, and ANY tunning parameters (including AUTO). Therefore if your server tuner supports blindscan, then you can do it.
Spectum Scan & Constellation Samples: Obviously the SAT>IP protocol only streams the MPEG-TS data and some tunning parameters (Strength and SNR).
Therefore, focusing only on the blindscan and spectrum analysis, this protocol is not valid because it can't provide the needed data. But I have now two questions:
1) It's your software only useful for this task? Using it with a regular tuner (no spectrum data) it don't have sense? Please, consider to execute it with other tuners disabling these extended functionalities. I feel some users (including myself) will be happy with this change.
2) You will confortable if you have access to a SAT>IP extension that provide the required functionality? I've some ideas to provide the data that you need. So if you want we can discuss about it.
That can be easy to program yourself: neumodvb has pything binding (admittedly not the cleanest one and not the best documented one). which make it easy to access its datatase and then generate m3u. It is not implemented and I have no plans to implement it, but it is not very difficult. See for example https://raw.githubusercontent.com/deeptho/neumodvb/master/src/neumodb/testneumodb.py (may need some updates(
Nice! This is very useful. The problem now is how to execute neumoDVB in my infrastructure (without a compatible tuner).
And the trouble is that I only use network tuners (aka SAT>IP servers). For this reason, the current implementation of the
neumodvb
is not runnable. Please, take note that when running software in containers physical devices (like DVB tuners) will be (in general) in the network, and not physically attached.I ave been considering implementing runing neumodvb as a server and as a client and allowing one to connect to the other. However without satip.
This is great too. A client-server implementation will be more flexible. However, if you're thinking on create a new protocol for your client-server communication, I recommend instead to reuse the SAT>IP protocol. I repeat that I've ideas to extend it with the data/commands that you may need.
This is a hobby. I focus mostly on what I consider useful myself and I need to have the time.
It does not mean that your request is not useful. It is just a matter of priorities, and generating m3u files seems more like a task for some webservice.
I agree with that. I just want to help. Regards.
What about RealVNC? I also allows user to log on remotely.
What about RealVNC? I also allows user to log on remotely.
Sorry? Any VNC/RDP technology is for Remote UI access, and not a RPC technology to interconnect two process.
My request it that neumoDVB supports "local attached tuners" and "remote network tuners". All the process is then running in a "local computer". However, until it can (or not) implement this functionality, the first request (after the initial discussion) is to support "regular tuners" and not only TBS-6909x or similar DX-aware tuners. I hope that @deeptho will consider it.
Regards.
Blindscan: Using the SAT>IP protocol you can select ANY frequency, and ANY tunning parameters (including AUTO). Therefore if your server tuner supports blindscan, then you can do it.
It cannot return the found tuning parameters. Given your responses, it is no longer clear to me if you want to use a sat>IP lnb as the input for neumodvb or neumodvb as a server offering virtual sat>IP lnbs.
Spectum Scan & Constellation Samples: Obviously the SAT>IP protocol only streams the MPEG-TS data and some tunning parameters (Strength and SNR).
1. It's your software only useful for this task? Using it with a regular tuner (no spectrum data) it don't have sense? Please, consider to execute it with other tuners disabling these _extended_ functionalities. I feel some users (including myself) will be happy with this change.
The driver part yes. sat>IP is highly specialised.
2. You will confortable if you have access to a SAT>IP _extension_ that provide the required functionality? I've some ideas to provide the data that you need. So if you want we can discuss about it.
I have all the data I need but I do not have the time to implement something just because someone needs it.
That can be easy to program yourself: neumodvb has pything binding (admittedly not the cleanest one and not the best documented one). which make it easy to access its datatase and then generate m3u. It is not implemented and I have no plans to implement it, but it is not very difficult. See for example https://raw.githubusercontent.com/deeptho/neumodvb/master/src/neumodb/testneumodb.py (may need some updates(
Nice! This is very useful. The problem now is how to execute neumoDVB in my infrastructure (without a compatible tuner).
The drivers are compatible with all tuners that the tbs or linux drivers are compatible with. neumodvb is a client program, not a server. If it ever becomes a server, then this will be a specialised server supporting remote blindscan etc. What does "compatible tuner" even mean?
And the trouble is that I only use network tuners (aka SAT>IP servers). For this reason, the current implementation of the
neumodvb
is not runnable.
If it is not runnable on your server, then I do not understand your use case. Streaming to a remote computer is already possible.
neumodvb does not support sat>ip INPUT, but that is something else. It also does not support configuring/selecting a "virtual" lnb via sat>IP
Please, take note that when However, if you're thinking on create a new protocol for your client-server communication, I recommend instead to reuse the SAT>IP protocol. I repeat that I've ideas to extend it with the data/commands that you may need.
Yes, you recommend me to implement your use case. That was clear from the start.
I agree with that. I just want to help. Regards.
Sure, ideas are always welcome.
What about RealVNC? I also allows user to log on remotely.
Sorry? Any VNC/RDP technology is for Remote UI access, and not a RPC technology to interconnect two process.
My request it that neumoDVB supports "local attached tuners" and "remote network tuners". All the process is then running in a "local computer". However, until it can (or not) implement this functionality, the first request (after the initial discussion) is to support "regular tuners" and not only TBS-6909x or similar DX-aware tuners. I hope that @deeptho will consider it.
Regards.
It does support locally attached tuners, and that is half of what you want. It supports streaming (as a server) and so that covers viewing on another pc as well (not as well as tvheadend, but like I wrote: if someone wants to make a webinterface, then this is possible in python)
And indeed: as soon as your computer with the attached LNBs has sufficient memory and compute power, you can run neumodvb on that computer and display it elsewhere, using xpra for example. On a high speed network that runs reasonably well, albeit with some screen corruption, but it is enough to run spectrum scan, stream channels to another pc, ...
In a future version I am planning a remote control interface. Then neumodvb could run as a server without a gui. It still requires enough memory and compute power on the computer with the lnbs, but a raspberri PC would suffice.
Hi @deeptho ,
Given your responses, it is no longer clear to me if you want to use a sat>IP lnb as the input for neumodvb or neumodvb as a server offering virtual sat>IP lnbs.
My use case: no TBS tuners, only SAT>IP standalone servers attached to multiple LNBs. I want to run neumodvb in any of my linux machines connecting to the SAT>IP tuners. And I want to use neumodvb only with commandline to obstain scanning data. So in my case SAT>IP is acting as the input for neumodvb. And then neumodvb is a standalone software that instead of using a local attached DVB tuner is using a remote network DVB tuner.
Blindscan: Using the SAT>IP protocol you can select ANY frequency, and ANY tunning parameters (including AUTO). Therefore if your server tuner supports blindscan, then you can do it.
It cannot return the found tuning parameters
Yes, it can. The DESCRIBE command includes the status of the tuner. Check this example from the specification document:
Request>
DESCRIBE rtsp://192.168.178.57:554/ RTSP/1.0
CSeq:7
Accept: application/sdp
Connection:close
Response>
RTSP/1.0 200 OK
Content-Length:256
Content-Type:application/sdp
Content-Base:rtsp://192.168.178.57/
CSeq:7
v=0
o=- 35781181 35781181 IN IP4 192.168.178.57
s=SatIPServer:1 4
t=0 0
m=video 11784 RTP/AVP 33
c=IN IP4 239.0.0.7/1
a=control:stream=16
a=fmtp:33 ver=1.0;src=1;tuner=1,123,1,4,10744.00,h,dvbs,qpsk,off,0.35,22000,56;pids=0,400,401,402
a=sendonly
The relevant part is the "media format description" with value "33" from the Session Description Protocol. This is reserved for the SAT>IP protocol, and includes "lock status", "signal power", "quality", "tuner options" and "used pids".
The full description is:
a=fmtp:33 ver=<major>.<minor>;src=<srcID>;tuner=<feID>,<level>,<lock>,<quality>,<frequency>,<pol
arisation>,<system>,<type>,<pilots>,<roll_off>,<symbol_rate>,<fec_inner>;pids=<pid0>,…,<pidn>
So if you want these parameters then you can request/get them. For other data like Spectum Scan & Constellation Samples it will be necessary to add some custom method to share it. But the SAT>IP protocol can be extended.
What does "compatible tuner" even mean?
A DVB tuner that is not TBS with Spectum Scan & Constellation Samples capabilities. For example, I have some standard DVB-T USB tuners with Linux support (RTL based, for SDR). And neumodvb only supports a short list of hardware tuners. Why not extend the use to all dvb linux tuners?
In a future version I am planning a remote control interface.
Good. But I recommend to improve the use of the command line as well. I say this from the point of view of an engineer and not from the point of view of a regular user.
A congratulations for this good project!
Thanks for the clarification.
One clarification from my side: neumoDVB supports ALL devices that linux supports, but only the functionality that their drivers support. So typically no blindscan, spectrum, ... You can create muxes yourself.
Supporting IP-LNBs is possible, but it requires time and devices. I don't have any and also am not planning to buy any. tvheadend seems to already do most of what you want and while it has some downsides, it is usable (for me).
Thanks @deeptho ! 😉
One clarification from my side: neumoDVB supports ALL devices that linux supports, but only the functionality that their drivers support. So typically no blindscan, spectrum, ... You can create muxes yourself.
Nice!
Supporting IP-LNBs is possible, but it requires time and devices. I don't have any and also am not planning to buy any.
You can create your own SAT>IP server with minisatip. Any Linux machine with a DVB tuner can run it (including a small Raspberry Pi). It's equivalent to a physical SAT>IP server (in fact, some STB boxes are using minisatip as it's own SAT>IP server).
And regarding TVH, it's great. However, it is not oriented to "command line". My idea is if your neumodvb, with all command line tools, can work as a SAT>IP client to drive a remote tuner. Instead of using only the DVB API, expand the code to support other inputs, like SAT>IP servers and/or HDHomeRuns.
What you think?
Thanks @deeptho ! 😉 You can create your own SAT>IP server with minisatip. Any Linux machine with a DVB tuner can run it (including a small Raspberry Pi). It's equivalent to a physical SAT>IP server (in fact, some STB boxes are using minisatip as it's own SAT>IP server).
I know, but why would I? Many things are possible. I think you underestimate the work involved.
And regarding TVH, it's great. However, it is not oriented to "command line". My idea is if your neumodvb, with all command line tools, can work as a SAT>IP client to drive a remote tuner. Instead of using only the DVB API, expand the code to support other inputs, like SAT>IP servers and/or HDHomeRuns.
That is not a priority currently.
What you think?
Hi @deeptho ,
Yes, time is really limited. Me too. For example, I use some of my spare time to fix bugs and enhance the minisatip tool. If you just want to try it out, installing this SAT>IP server on any of your Linux computers with a DVB tuner is very straightforward. No more than 5 minutes.
However, to add some support to neumodvb it's true that it's quite time consuming. I understand that. I just ask you to write it as a future idea. But in any case, please focus on the command line tools. I find them very useful. 😉
Hi @deeptho ,
Thank you for this impresive project. And congratulations for it.
Now I see that this project is very focused on the Blind Scan and the Spectrum Analysis (and for this I'm still using the CrazyCat's Crazysacan because it runs on Windows notebooks with USB tuners). But I feel your NeumoDVB could be useful for other uses if you add support for remote tuners. For example with the SAT>IP protocol. Using these tuners the main computer doesn't require to have any physical tuner, and tuners can be shared over the Network. In fact, in my infrastructure I'm using only STBs with SAT>IP server support. And then I only use physical tuners (USB) for testing actions (spectrum scan, etc.).
So, the request is this: Add support for SAT>IP. What you think about this?