Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFE: Multicast input support #322

Closed
lars18th opened this issue Sep 2, 2016 · 11 comments
Closed

RFE: Multicast input support #322

lars18th opened this issue Sep 2, 2016 · 11 comments

Comments

@lars18th
Copy link
Contributor

lars18th commented Sep 2, 2016

Hi,

I suggest to add one simple IPTV-to-SAT>IP functionality incorporated to TVHeadend some time ago.
The idea is quite simple: when you request some frequency, instead of use one tuner, you read from the network one udp/rtp multicast stream (a full TS, DVB compatible with all PAT/PMT tables).

For example, you can use some m3u (or plain text file, or Json file) with something like:

#EXTM3U
#EXTINF:-1,[001] Channel 1
#EXTSATIPFREQ:11493750
rtp://@224.0.0.1:12345
#EXTINF:-1,[002] Channel 2
#EXTSATIPFREQ:11582250
udp://@224.0.0.2:12345

Easy to understand, and for checking (you can use for example VLC for read this file). Also, if you need it you can insert more "EXTSATIPxxx" options, like "source", "fe", or any other for complete the mapping.

The goal is to use minisatip as a translator for IPTV sources to SAT>IP clients.
What you think?

@catalinii
Copy link
Owner

HI,

so you are saying when someone asks for 11493 instead of opening the DVB card to get the stream from the network (rtp, rtsp or http stream) ?

Thanks

@lars18th
Copy link
Contributor Author

lars18th commented Sep 4, 2016

Hi @catalinii ,

so you are saying when someone asks for 11493 instead of opening the DVB card to get the stream from the network (rtp, rtsp or http stream) ?

Just that! However, add support for HTTP, RTSP, or other protocols are optional. Only plain UDP and RTP is sufficient (in fact, you have the code for reading both inside the code). My suggestion is support to read from network only multicast and unicast udp/rtp streams (in conformance with DVB specifications).

You agree?
Thank you for this awesome project!

@catalinii
Copy link
Owner

Hi Lars,

it sounds interesting, but let's see if there are another people interested in it.

Thanks

@lars18th
Copy link
Contributor Author

lars18th commented Sep 7, 2016

Hi @catalinii ,

As I said, this is already implemented in TVHeadend. And several users (including myself) are using it.
I find it a very interesting functionality. Futhermore, as you have already implemented the code for reading RTP streams (the sat>ip client implementation), then I feel isn't a big effort.

Please! ;)

@catalinii
Copy link
Owner

Hi Lars,

I agree it is an interesting feature, but I have few another RFEs on my plate currently.

If this one is requested by more users, I can do it.

The only problem at this point is that this would require pushing from multiple sockets into an adapter, but that might be one of the things that might be touched by the future implementation so I will keep it in mind.

thanks

@lars18th
Copy link
Contributor Author

Hi @catalinii ,

I am extremely interested in this functionality! What I can do to help?
Maybe if you can start with some skeleton then I can try to help doing some programming.

In any case,

The only problem at this point is that this would require pushing from multiple sockets into an adapter

I don't understand this... Are not you already doing that with the satip client mode?

@catalinii
Copy link
Owner

Hi,
Satip clients gets the TS from one socket not multiple (as rtp or rtsp over tcp).

@lars18th
Copy link
Contributor Author

Hi @catalinii ,

Satip clients gets the TS from one socket not multiple (as rtp or rtsp over tcp).

I understood that the "client mode" uses RTP (udp port and udp+1, so two sockets) as the SAT>IP server uses RTP for sending the stream. Therefore, minisatip in this case is reading from two sockets at the same time: the RTP and the RTCP (RTP+1). It's this wrong?

Moreover, for implementing my request only one socket is need. Let me to explain:

  • You define a "virtual tuner" (=adapter).
  • This adapter can "tune" only UDP streams, so one adapter one udp stream.
  • When the adapter receives a request tune, if checks the frequency in the table for the corresponding udp address.
  • If the frequency is valid, the adapter starts to consume the TS reading from the "tuned" udp address.
  • When a retune command changes the frequency the running udp address is discarded.
  • Then, always is one stream->one frequency->one adapter.

The idea is to support udp unicast/multicast, but optionally rtp can be also interesting.
This is the same function that implements TVHeadend. It's simple and powerful.

I hope you can support it soon. ;)
Reagards!

@lars18th
Copy link
Contributor Author

Hi @catalinii ,

I noticed now that @perexg is the main developer of TVHeadEnd... Hi @perexg !

So, perhaps hi can help to add this functionality to minisatip. In the TVHeadEnd the configuration is quite simple: you have a list of IPTV multicast inputs, and you have the option to set one "SAT>IP frequency" for each input. Then any request to this frequency (in a short range) redirects to the multicast input. This is done for DVB-T, but it works with all systems, as the trigger is only the frequency.

Then, for minisatip my suggestion is very similar: a simple m3u list with the multicast inputs and the frequency. Then, the trigger of the frequency is just the same. The only part to handle is the reading of the stream using the network. But, as you have implemented the "satip client mode" you have half the work done.

I hope you decide soon to implement this. ;)

@lars18th
Copy link
Contributor Author

Hi,

I close this issue. Other SAT>IP servers already implement this functionalty. So you can use them with the satipc module to obtain this functionality.

Regards.

@minrim
Copy link

minrim commented Dec 13, 2023

Lars,
Can you tell me SAT>IP server supporting multicast input?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants