Hi,
User EnoSat, posted some info regarding DVB-MPE (Multiprotocol Encapsulation) in SU.
I didn't know about that since today, so I tried to get those channels, with partial success.
In order to use DVB-MPE we need to use dvbnet utility (opkg install dvbnet) and udpxy (opkg install udpxy).
We are going to use 10775 H 27500 2/3 @ 13E for testing.
First we need to tune and Satfinder can do that.
Next we need to use dvbnet in order to create an DVB network interface. We are going to use PID 2001.
Code:
root@osminiplus:~# dvbnet -p 2001
DVB Network Interface Manager
Copyright (C) 2003, TV Files S.p.A
Status: device dvb0_0 for pid 2001 created successfully.
root@osminiplus:~# dvbnet -l
DVB Network Interface Manager
Copyright (C) 2003, TV Files S.p.A
Query DVB network interfaces:
-----------------------------
Found device 0: interface dvb0_0, listening on PID 2001, encapsulation MPE
-----------------------------
Found 1 interface(s).
Our new DVB network interface created, now let's configure it. We need to add a MAC address and IP in order to bring interface up.
Code:
root@osminiplus:~# ifconfig dvb0_0
dvb0_0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST NOARP MULTICAST MTU:4096 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Base address:0x7d1
root@osminiplus:~# ifconfig dvb0_0 hw eth 22:33:44:55:66:77
root@osminiplus:~# ifconfig dvb0_0 10.20.30.40
root@osminiplus:~# ifconfig dvb0_0 up
root@osminiplus:~# ifconfig dvb0_0
dvb0_0 Link encap:Ethernet HWaddr 22:33:44:55:66:77
inet addr:10.20.30.40 Bcast:10.255.255.255 Mask:255.0.0.0
UP BROADCAST RUNNING NOARP MULTICAST MTU:4096 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Base address:0x7d1
Now let's see if we can get any data, tdpdump to the rescue (opkg install tcpdump).
Code:
root@osminiplus:~# tcpdump -i dvb0_0 -vn | head
tcpdump: listening on dvb0_0, link-type EN10MB (Ethernet), capture size 262144 bytes
22:40:02.896242 IP (tos 0x98, ttl 128, id 33273, offset 0, flags [none], proto UDP (17), length 1496)
192.168.135.190.6000 > 224.20.20.1.6000: UDP, length 1468
22:40:02.900563 IP (tos 0x98, ttl 128, id 19354, offset 0, flags [none], proto UDP (17), length 1496)
192.168.135.190.6000 > 224.20.20.2.6000: UDP, length 1468
22:40:02.900742 IP (tos 0x98, ttl 128, id 62192, offset 0, flags [none], proto UDP (17), length 1496)
192.168.135.190.6000 > 224.20.20.4.6000: UDP, length 1468
22:40:02.900797 IP (tos 0x98, ttl 128, id 3000, offset 0, flags [none], proto UDP (17), length 40)
192.168.135.190.6000 > 224.20.20.3.6000: UDP, length 12
22:40:02.905635 IP (tos 0x98, ttl 128, id 20161, offset 0, flags [none], proto UDP (17), length 1496)
192.168.135.190.6001 > 224.20.20.1.6001: UDP, length 1468
51 packets captured
226 packets received by filter
0 packets dropped by kernel
Our network interface receives multicast packets. Now we need to change those into unicast, updxy to the rescue.
We are running manually the udpxy on default port using multicast interface the dvb0_0.
Code:
root@osminiplus:~# udpxy -vT -m dvb0_0 -p 4022
2016-09-13 22:42:49.723234 CEST S(660) Server is starting up, max clients = [3]
.....
So what is next? Use vlc to watch a channel.
I opened the following URL in VLC http://osminiplus:4022/udp/224.20.20.1:6000 but here comes the partial success...
Stream is unwatchable, pixelated like having low signal.
Anyway it was fun getting to that point. Hope to find it usefull
References:
Code:
http://enosat.euweb.cz/dvbip.htm
https://en.wikipedia.org/wiki/Multiprotocol_Encapsulation
https://linuxtv.org/downloads/v4l-dvb-apis/net.html
https://linuxtv.org/wiki/index.php/InternetDVB
http://old.slax.org/forum.php?action=view&parentID=12189
https://ubuntuforums.org/showthread.php?t=1413438