Author Topic: [How-To] dm8000/800 als echter IPTV Multicast Receiver/Player  (Read 3237 times)

0 Members and 1 Guest are viewing this topic.

Offline antox

  • Ferengi
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 16798
[How-To] Stabiles SD/HD IPTV via rtp/udp Multicast bzw. http Unicast in der dm8000/800 nutzen

Vorbedingung:
- Aktuelles OE1.6 Image
- Aktuelles "Partnerbox/RemoteTV Plugin" muss installiert sein

Gundlegendes:
- Die rtp/udp/http IPTV Streams mĂĽssen DVB-IP konform sein
- Es gehen nur drm/ca freie Streams
- SD/HD Streams mit h.264 und MPEG2 funktionieren
- Streamstart < 1 Sek., Zapping < 1 Sek.

Was ist das Neue?
Ich beschäftige mich seit längerer Zeit, echtes IPTV multicast in SD und HD auf der dream stabil zum Laufen zu bekommen.
Die gstreamer funktionieren zwar mit den Streams, aber eben nicht stabil und sauber. Diese Lösung funktioniert
sauber, schnell und stabil über einen längeren Zeitraum bei HD und SD. Es stürzt nichts ab oder ruckelt. TV Genuss pur.

Multicast oder Unicast Streams und der eigentliche Trick:
Bevor ich erkläre wie es funktioniert, sollte man sich ein wenig mit der Materie allgemein auseinandersetzen.
Google hilft da sicherlich. Nun zum eigentlichen Trick. Mit Hilfe eines kleinen nĂĽtzlichen Tools, "udpxy"
mache ich aus rtp/udp Multicast streams - lokal auf der dream oder im LAN - einen http Unicast.
Mit dem DVB-IP konformen http stream kann die dream wiederum dank des Partnerbox Plugins super umgehen.

Udpxy [You are not allowed to view links. Register or Login ist ein Open Source tool. Es ist ein simpler
Proxy, der aus rtp/udp multicast einen http unicast macht. Desweiteren erledigt es auch das IGMP v2. Im IPTV
Multicast Betrieb wird die Nutzung bzw. nicht-mehr Nutzung eines TV Kanals durch IGMP join bzw. leave Kommandos
gesteuert. Udxyp erledigt das sauber und stabil. Zapping ist daher unter 1 Sek. möglich.

Wie und wo mache ich aus einem Multicast einen Unicast?
Nun, udpxy kann auf verschiedenen Maschinen gestartet werden. Wo es läuft ist mitunter egal.
Udpxy funktioniert auf dream, oder im Router (Optimal wenn das Multicast Netz per VPN
am Router dranhängt ). Ich habe es auf einer Fritzbox 7170 am laufen gehabt, auf einem AlixBoard mit zeroshell
läufts heute bei mir. Aber auch lokal auf der dream läuft der proxy sauber. Ich erkläre mal alles wenn udxy auf der
dream läuft.

Gestartet wird udpxy ganz einfach:
./udpxy -p 4050

-p 4050 -> heisst das über diesen Port die multicast streams geroutet werden. Später dazu mehr.

Aber nun mal etwas genauer zum "HOW-TO", wir nehmen an das am Ethernetport der dream ein Multicast Netz anliegt und
ein TV service diese IP hat: "udp://239.122.12.187:10000" und diesen Namen "TVK-1"

1. Udpxy.mipsel hier runterladen und in /usr/bin hochladen.
1a. Umbennen von "udpxy.mispel" in "udpxy"
2. Chmod 755 ausfĂĽhrbar machen
3. Mit Telnet in usr/bin und folgendes ausfĂĽhren "udpxy -p 4050 &"
4. In /etc eine test.m3u mit folgenden Inhalt:
------------------------------------------------
#EXTM3U
#EXTINF:0,TVK-1
You are not allowed to view links. Register or Login
------------------------------------------------
5. Nun geht Ihr in den Standard Mediaplayer von e2. zweiter Eintrag im HauptmenĂĽ.
6. Ă–ffnet die Playliste "test.m3u" die Ihr in var/etc abgelegt habt.
7. In der Wiedergabeliste sollte nun "TVK-1" erscheinen.
8. Nun beendet Ihr den Mediaplayer einfach mit "exit" verlassen. Durch das verlassen, hat der Mediaplayer nun in
etc/enigma2 eine Datei angelegt mit dem Namen "playlist.e2pls"
9. Diese Datei heruterladen auf einen PC, damit sie kurz bearbeitet werden kann.
10. Zum Bearbeiten einen Unix konformen editor verwenden, Notepad2 o.ä. wenn man nun die "playlist.e2pls" öffnet
sollte gemäss unserer Daten folgendes drin stehen:
---------------------------------------------------
4096:0:0:0:0:0:0:0:0:0:http%3a//127.0.0.1%3a4050/udp/239.122.12.187%3a10000
:TVK-1
---------------------------------------------------
11. Die am Anfang stehende Zahl 4096 ändert Ihr in 4114 ab, so dass der Link dann so aussieht.
(Warum in 4114? -> Bei 4096 werden die Player/Gstreamer Sourcen des Standard Mediaplayer von dmm verwendet.
Bei 4114 werden die Player Sourcen des "Partnerbox/RemoteTV Plugins" verwendet, die von Dr.Best kommen!!! Diese sind auf streaming von DVB konformen
streams optimiert.)
---------------------------------------------------
4114:0:0:0:0:0:0:0:0:0:http%3a//127.0.0.1%3a4050/udp/239.122.12.187%3a10000
:TVK-1
---------------------------------------------------
12. Speichtert nun die neue Playlist als "iptv.e2pls" in var/etc ab.
13. Nun öffnet Ihr wieder den Standart Mediaplayer und leert erst mal die Wiedergabeliste und ladet dann die neue
"iptv.e2pls" List. In der Wiedergabeliste sollte nun wieder "TVK-1" auftauchen.
14. Auf TVK-1 gehen und OK drücken. Der Stream sollte sofort abgespielt werden, ohne puffern o.ä.
15. Sollte ein ganzer Satz an TV Kanälen verfügbar sein, können diese nach dem gleichen Prinzip in die iptv.e2pls
hinzugefĂĽgt werden.

Der grösste Dank geht natürlich an Dr.Best, für seine Hilfe und für sein tolles "Partnerbox/RemoteTV Plugin"

dam72