CT 2017-2 Artikel SATIP Megasat SAT to IP Server 3 - Erfahrungen?

  • @XX- : Danke, das war eine wirklich interessante Info.

  • Mal etwas mehr Infos:


    Der Sat>IP-Server der MEG-8000 hat eine CLI welche sich hier befindet:

    Code
    1. /opt/bin/sat2ip_server/sat2ip_cmdl.elf


    Im Spoiler Ausgabe von
    /opt/bin/sat2ip_server/sat2ip_cmdl.elf -h


    Debugging kann mit dem Kommando eingeschaltet werden:

    Code
    1. /opt/bin/sat2ip_server/sat2ip_cmdl.elf -csrcdg2


    Hier durch wird die Kiste im /var/log/messages etwas gesprächiger.

    Server-Hardware: HP Proliant Microserver Gen8 * Intel Xeon E3-1220L * ESXi v5.1 * PCIe-Passthrough
    Server-Appliance 1: yaVDR0.6.1 * Digital Devices Cine C/T v6
    Server-Appliance 2: yaVDR0.6.1 * Terratec Cinergy S2 HD USB
    Client: Raspberry Pi 3 * MLD 5.1 * rpihddevice * Audioausgabe hdmi passthrough * iMON-LCD * Hyperion mit ws2801

  • So, ich habe jetzt mal grade noch 2 Logfiles erzeugt ;) (s. Dateianhänge)


    1. Logfile (1_log_reboot_megasat && 1_log_reboot_vdr_1_tuner_than_playback_switch_channel_stop_playback)*:
    * aufgrund der Dateigröße musste ich den "boot" Part in ein eingenes .txt-File kopieren.
    - VDR stoppen und satip-plugin mit Parameter -d1 (nur 1 Tuner) konfigurieren
    - MEG-8000 neustarten && Debugging aktivieren
    - VDR starten, abwarten bis Channel/EPG-Update abgeschlossen
    - Wiedergabe von ARD HD über Streamdev-Client
    - Switch nach ZDF HD auf Streamdev-Client
    - Wiedergabe beenden auf Streamdev-Client


    2. Logfile (2_log_reboot_android_satip_playback_switch_channel_stop_playback.txt):
    - VDR stoppen und aus lassen
    - MEG-8000 neustarten && Debugging aktivieren
    - Android Sat>IP-App starten
    - Wiedergabe von ARD starten
    - Switch nach ZDF
    - Wiedergabe beenden


    Vielleicht hat ja noch jemand lust und langeweile und kann in den Logs etwas lesen :D


    Ich bin jetzt mal offline, denke ich werde mich morgen wieder dran setzen, dann gucke ich mal ob ich ggf. mit Wireshark noch ein paar mehr Infos raus bekomme :)

  • Deine Android app verhält sich ja furchtbar.
    Nach jedem einzelnen Befehl wird die Verbindung beendet, um noch in der selben Sekunde eine neue Verbindung mit neuem Port aufzubauen.



    Und das satip Plugin hat in dem kurzen Mitschnitt im Halb-Sekundenrhythmus die PIDs 6100 und 6300 getoggelt..
    Feb 11 18:53:03 : D satip_cli.c:158:SatIpCliReadSocket client 0 "PLAY rtsp://192.168.1.4/stream=3?addpids=6300&delpids=6100 RTSP/1.0"
    Feb 11 18:53:03 : D satip_cli.c:158:SatIpCliReadSocket client 0 "PLAY rtsp://192.168.1.4/stream=3?addpids=6100&delpids=6300 RTSP/1.0"
    Feb 11 18:53:04 : D satip_cli.c:158:SatIpCliReadSocket client 0 "PLAY rtsp://192.168.1.4/stream=3?addpids=6300&delpids=6100 RTSP/1.0"
    Feb 11 18:53:04 : D satip_cli.c:158:SatIpCliReadSocket client 0 "PLAY rtsp://192.168.1.4/stream=3?addpids=6100&delpids=6300 RTSP/1.0"
    Feb 11 18:53:05 : D satip_cli.c:158:SatIpCliReadSocket client 0 "PLAY rtsp://192.168.1.4/stream=3?addpids=6300&delpids=6100 RTSP/1.0"
    Feb 11 18:53:05 : D satip_cli.c:158:SatIpCliReadSocket client 0 "PLAY rtsp://192.168.1.4/stream=3?addpids=6100&delpids=6300 RTSP/1.0"
    Feb 11 18:53:05 : D satip_cli.c:158:SatIpCliReadSocket client 0 "PLAY rtsp://192.168.1.4/stream=3?addpids=6300&delpids=6100 RTSP/1.0"
    Feb 11 18:53:06 : D satip_cli.c:158:SatIpCliReadSocket client 0 "PLAY rtsp://192.168.1.4/stream=3?addpids=6100&delpids=6300 RTSP/1.0"
    Feb 11 18:53:06 : D satip_cli.c:158:SatIpCliReadSocket client 0 "PLAY rtsp://192.168.1.4/stream=3?addpids=6300&delpids=6100 RTSP/1.0"
    Feb 11 18:53:07 : D satip_cli.c:158:SatIpCliReadSocket client 0 "PLAY rtsp://192.168.1.4/stream=3?addpids=6100&delpids=6300 RTSP/1.0"



    Dass sowhl die android app als auch das satip plugin so nicht korrekt funzen ist wohl klar.


  • Quoted from "wirbel"
    Und das satip Plugin hat in dem kurzen Mitschnitt im Halb-Sekundenrhythmus die PIDs 6100 und 6300 getoggelt..


    This is due to VDR's PMT scan. The switching interval should be much faster, but the satip plugin artificially slows it down.


    Is this a problem or wanted behavior of the satip-plugin?


    rofafor : Can you give us some hints for further analysing?

    Server-Hardware: HP Proliant Microserver Gen8 * Intel Xeon E3-1220L * ESXi v5.1 * PCIe-Passthrough
    Server-Appliance 1: yaVDR0.6.1 * Digital Devices Cine C/T v6
    Server-Appliance 2: yaVDR0.6.1 * Terratec Cinergy S2 HD USB
    Client: Raspberry Pi 3 * MLD 5.1 * rpihddevice * Audioausgabe hdmi passthrough * iMON-LCD * Hyperion mit ws2801

    The post was edited 1 time, last by DoubleXMinus ().

  • It's a wanted and correct functionality: VDR is constantly going through PMT pids on active muxes and triggering on detected updates on them. One might argue about the implementation: whether receive all PMT pids all the time or just one at a time. The VDR is using the latter.

  • If so, it should be really changed.

  • hmm..



    there should a program allocation table on PID=0x00 where all PMT Pids are listed.
    For each service (TV,Radio, Downloads,whatever,..) there should be one PMT Pid (in this case 6100 or 6300), where all the streams belongign to this service are listed (audio, video, teletext).


    So if tuning to transponder, there should be one call to 0x00 (PAT) and after that for each PID listed there one call to this PID.


    What we see here is turning over and over again to the same pids..

  • Please, take a look at the cPatFilter in pat.c. If that particular mux should contain more than 2 PMT tables, there's propably a timing related bug in the satip plugin and you might want to decrease ePidUpdateIntervalMs from 250ms to 100ms.


    The PAT pid is always added once at start and afterwards VDR is switching to a next PMT pid right after it has interpreted the current one. This goes on and on until the device is closed.

  • Hi Rolf,


    that would be interesting, because in such case we would hit a bug in VDR's PAT table algorithm thta urgently needs to be fixed..


    Probably you're refererring to this line


    if (pat.getVersionNumber() != patVersion) {


    In which case it would be toggled over and over. This code assumes, that there's *one* PAT table at one time.


    may be someone could verify this by hex printing all PAT data for this table.

  • I really would like to help here, but..


    currently i'm compiling my next linux-from-scratch, so i'm out-of-order for quite a while..

  • I really would like to help here, but..


    currently i'm compiling my next linux-from-scratch, so i'm out-of-order for quite a while..


    LFS? Sowas machst du! Must du Zeit haben ;-)


    vdr-box

  • may be someone could verify this by hex printing all PAT data for this table.


    Is there a way to get the data via a SatIP-Device? DVBSnoop seems only to work with a "native" dvb-devices.

    Server-Hardware: HP Proliant Microserver Gen8 * Intel Xeon E3-1220L * ESXi v5.1 * PCIe-Passthrough
    Server-Appliance 1: yaVDR0.6.1 * Digital Devices Cine C/T v6
    Server-Appliance 2: yaVDR0.6.1 * Terratec Cinergy S2 HD USB
    Client: Raspberry Pi 3 * MLD 5.1 * rpihddevice * Audioausgabe hdmi passthrough * iMON-LCD * Hyperion mit ws2801

  • The post was edited 1 time, last by Uwe ().


  • DoubleXMinus : It helps perhaps in your case?
    [vdr-plugin-satip] debug rtsp communication for Inverto OEM devices


    Thanks but i already got it.


    Is anyone interested in network-dumps using wireshark?
    Please tell which fileformat is prefered.


    So I think from the dump I can also extract the PAT-Data, but I do not know how to "read" ;)

    Server-Hardware: HP Proliant Microserver Gen8 * Intel Xeon E3-1220L * ESXi v5.1 * PCIe-Passthrough
    Server-Appliance 1: yaVDR0.6.1 * Digital Devices Cine C/T v6
    Server-Appliance 2: yaVDR0.6.1 * Terratec Cinergy S2 HD USB
    Client: Raspberry Pi 3 * MLD 5.1 * rpihddevice * Audioausgabe hdmi passthrough * iMON-LCD * Hyperion mit ws2801

  • I wrote a bash script to debug a recent problem with my DD OctopusNet. You have to edit it, but you can easily create any RTSP request sequence:


    VDR: Zotac ZBOX EN860, 16GB RAM, 2 TB HDD, Debian Stretch, vdr-2.2.0, softhddevice, permashift, satip

  • Bei mir bleibt der MEG8000 mitlerweile regelmäßig hängen. Gibt es da irgendwas was man tun kann?


    Zunächst, sah es die ersten Tage sehr gut aus. Aber jetzt habe ich fast täglich irgendwann kein Bild mehr.
    Das eigenartige ist, dass sich die Info bei den Frontends ändert und ich noch freie Ports hätte.
    Aber ein Bild erhalte ich weder über den VDR noch direkt über die App.


    Welche Firmware nutzt Ihr, die stabil ist? Ich habe jetzt die drauf Version: 3.1.6 drauf aber sehe keine Verbesserung.


  • Lösch mal alle ungültigen Kanäle aus der channels.conf und schau ob es besser wird.