Barracuda09 / SATPI

SATIP server for linux, suitable to run on an Raspberry Pi, Vu+, GigaBlue or any other linux box. currently supporting DVB-S/S2/T/C and transform DVB-S requests to DVB-C
http://barracuda09.github.io/SATPI
GNU General Public License v2.0
150 stars 32 forks source link

Generate PSI (Program-specific information) metadata for Translation M3U files #169

Open Barracuda09 opened 1 year ago

Barracuda09 commented 1 year ago

The idea is to generate PSI metadata on a specific requested frequency.

The PSI will be build up by the Translation M3U file so it is possible for clients to 'search' for programs and will be redirected to the correct translation entry.

Example:

#EXTINF:-1 satip-freq="200" satip-src="2", Translation to: File uri="/usr/satpi/test.ts"
rtsp://@#1/?msys=file&uri="%2Fusr%2Fsatpi%2Ftest.ts"

#EXTINF:-1 satip-freq="201" satip-src="3", Translation to: ChildPIPE exec="cat /usr/satpi/test.ts"
rtsp://@#1/?msys=childpipe&exec="cat%20%2Fusr%2Fsatpi%2Ftest.ts"

#EXTINF:-1 satip-freq="202" satip-src="4", Translation to: Streamer - Multicast UDP input 224.0.1.3:15001
rtsp://@#1/?msys=streamer&uri="udp@224.0.1.3:15001"

#EXTINF:-1 satip-freq="203" satip-src="2", Translation to: ChildPIPE exec="wget -qO- http://192.168.0.104:8875/?src=2%26fe=2%26freq=11052.75%26sr=22000%26msys=dvbs2%26mtype=8psk%26pol=h%26fec=23%26pids=0,1,16,17,18,1039,5420,5421,5424"
rtsp://@#1/?msys=childpipe&exec="wget%20-qO-%20http:%2F%2F192.168.0.104:8875%2F%3Fsrc=2%%26fe=2%%26freq=11052.75%%26sr=22000%%26msys=dvbs2%%26mtype=8psk%%26pol=h%%26fec=23%%26pids=0,1,16,17,18,1039,5420,5421,5424"

This should create PSI metadata for freq 200, 201, 202 and 203 when for example rtsp://ip.of.my.box/?freq=10101 is requested from client during a channel search

Barracuda09 commented 1 year ago

Please use discussion #170 for ideas an possible sollutions

lars18th commented 1 year ago

Hi @Barracuda09 ,

From my point of view this could be interesting. However, quite complex. I prefer before to implement these changes in the translation:

I feel this could be more easy to implement. Do you think so?

Barracuda09 commented 1 year ago

Hi @lars18th

lars18th commented 1 year ago

Hi @Barracuda09 ,

  1. YES, and thank you for updating the examples to note it.
  2. This will be useful when you implement #123 and want to remap DVB-T and/or DVB-C transponders. In any other case is useless.
  3. Perhaps this will not be useful for you. However, I feel it's interesting.
  4. I hope you will want to implement it soon.

Regards.

lars18th commented 1 year ago

Hi @Barracuda09 ,

Regarding you new changes (WIP) with the PSI metadata, some comments:

  1. The new implementation of the RTCP description messages seems to work (almost with DVB-S mappings). So I get: a=fmtp:33 ver=1.0;src=1;tuner=4,240,1,15,11953.5000,h,dvbs,qpsk,off,27500,34;pids= However, as you can see the pid list is empty. You will fix this?
  2. I'm not sure about the final objective. So I feel I need to wait until you complete the implementation. But in any case, please leave the option to enable/disable this translation. For example, in my case I don't want to change at all the PSI data of some remapped transponders. That's because I want to analyze the content, and not only to play them with a SAT>IP client. You'll support this option?
  3. In case of a configurable PSI translation. It could be some syntax in the mapping.m3u to manipulate it? In this case, could you first provide an example, please?

Regards.