[ANNOUNCE] - simple_pip 1.4 - Einfaches Picture in Picture Bash Skript

  • Hallo,


    ich habe ein kleines Bash Skript für die Picture in Picture Funktionalität geschrieben. Dabei wird ein kleines Fenster auf den rechten oberen Rand mit dem aktuellen Kanal erstellt, welches man mit einigen vom Skript bereitgestellten Funktionen verändern kann.
    Von der Handhabung und der Basis (streamdev) habe ich mich vom PIP Addon (von yaVDR) inspirieren lassen. Jedoch habe ich einen etwas anderen Weg gewählt und "meine" Lösung ist nicht distributionsspezifisch.
    Es funktioniert unter Verwendung eines Window Managers, wie auch ohne und kann in Verbindung mit dem xine- bzw. xineliboutput-Frontend verwendet werden.


    Funktionen: PIP Start / Stop, PIP Swap, PIP Restore, PIP Next, PIP Previous, PIP Increase, PIP Decrease, PIP Move


    Das Skript ist einfach gehalten und benötigt lediglich:
    - aktiv: X-Server und streamdev-server Plugin
    - installiert: xine Player, xdotool, xwininfo (in x11-utils) und xrandr (in x11-xserver-utils)


    Anleitung:
    - simple_pip.sh nach /usr/lib/vdr kopieren
    - simple_pip.conf nach /etc/vdr kopieren
    - commands.simple_pip.conf nach /usr/share/vdr/command-hooks (kann variieren) kopieren
    - simple_pip.conf an eigenes System anpassen! (wichtig sind vor allem "svdrp_port" und "additional_xine_parameters")


    Mögliche Probleme:
    - "xhost +" muss gegenfalls nach Starten des X-Servers oder WM ausgeführt werden (im Autostart hinzufügen)
    - bei manchen WM funktioniert das Skript aufgrund ihres Verhalten nicht (z.B.: twm, ratpoison)



    Beim Aktualisieren auf eine neuere Version unbedingt /tmp/simple_pip.temp löschen und die neuen Konfigurationsdateien verwenden!


    Version 1.4
    - neues Feature (PIP Move)
    - automatische Erkennung von der "xine session"
    - xdotool kann nun eine alte Version sein (20090330 getestet)
    - neue Abhängigkeit "xwininfo" (enthalten in x11-utils, meistens schon installiert)
    - Code gesäubert


    Version 1.3
    - neue Abhängigkeit: "xdotool"
    - Fokus Problem bei WM gelöst
    - schnelleres Vergrößern und Verkleinern
    - Code gesäubert


    Version 1.2
    - neue Features (PIP Next, PIP Previous)
    - "saubereres" Swapping


    Version 1.1
    - neue Features (PIP Restore, PIP Increase, PIP Decrease)
    - Konfiguration in eigene Datei ausgelagert


    Version 1.0
    - Veröffentlichung



    lG Paul

  • Hallo,


    habe es mal kurz getestet, geht aber leider nicht bei mir. :(


    Ich bekomme folgenden Fehler:


    Code
    220 vdr01 SVDRP VideoDiskRecorder 1.7.18; Sat Jul 30 21:42:44 2011; UTF-8
    250 Message queued
    221 vdr01 closing connection
    RandR extension missing
    /etc/vdr/simple_pip.sh: Zeile 25: *30/100: Syntax Fehler: Operator erwartet. (Fehlerverursachendes Zeichen ist \"*30/100\").
  • Funzt prima!


    Dankeschön :)
    iNOB

  • Freut mich, dass es funktioniert...


    Bezüglich Xinerama: Das liegt an der Auflösungserkennung, magst du bei aktiviertem Xinerama "xrandr" ausführen und den Output posten?


    lG Paul

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • Du könntest die Kompatibilität stark erhöhen, wenn du den SVDRP-Port nicht setzen würdest. Meistens weiß svdrpsend besser welcher Port der Richtige ist. Auf aktuellen VDRs ist der von dir fest eingestellte Port meistens falsch.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Jepp... musste ich auch erst umstellen von 2001 auf 6419.


    Gruß
    iNOB

  • Naja, seit 1.7 ist er ja auf 64119, jedoch bei Verwendung von "runvdr" wird er auf 2001 gesetzt.
    Weiters habe ich gerade per ssh getestet und er konnte den Port nicht selbst finden...


    lG Paul

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • Auch das Hardcoding des streamdev servers auf localhost/127.0.0.1 macht imho wenig Sinn, ich habe z.B. in meinem "Frontend-VDR" (am Fernseher) nur einen Tuner (da würde PiP keinen Sinn/Spaß machen) aber einen Aufnahme-Server mit mehreren Tunern und da läuft auch Streamdev...

  • Klar, an diesen Anwendungsfall habe ich nicht gedacht.
    Werde ich in der nächsten Version berücksichtigen. ;)

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • Auch das Hardcoding des streamdev servers auf localhost/127.0.0.1 macht imho wenig Sinn, ...


    Ich wusste garnicht, dass man bei einem einfachen Shellscript auch "hardcoden" kann... :rolleyes:


    Die eine Stelle mit der IP wirst Du vermutlich anpassen können??


    BTW: Ich denkemal, das der localhost bei 98% der Usern passt, da wohl die wenigsten einen VDR Server haben.

  • So habe nun noch Features hinzugefügt:


    - Wiederherstellen des letzten aktiven PIP Fensters (Größe und Kanal)
    - Vergrößern und Verkleinern des aktiven PIP Fensters


    Werde es morgen raufladen...


    lG Paul

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • pauli8585


    Hi,
    ich hoffe Du bist nicht böse, aber bei Deinem Script kam mir eine Idee und ich habs etwas 'abgewandelt'. Damit hat man endlich eine einfache Möglichkeit (bei angemessen großem Graph-TFT) zwei Kanäle gleichzeitig zu sehen! Mich hat es immer gereizt, beispielsweise Cockpitkanal und Supersignal gleichzeitig bei Live-Formel1 auf Sky zu sehen und das geht nun endlich sehr simpel, indem man die Adresse des TFT angibt. Also auf den Cockpitkanal, Script ausführen und danach aufs Supersignal SkySportHD schalten - läuft...
    In dem Skript habe ich lediglich ein 'killall -KILL graphtft-fe' eingefügt und nach beenden des PIP ein 'start-graphtftfe.sh'...
    Danke dafür!


  • Der Port ist 6419 nicht 64119. ;)


    Jo, da haste wohl recht. ;)


    Hast du meinen Post bezüglich Xinerame gelesen?
    Was gibt bei dir

    Code
    xdpyinfo | grep dimensions | cut -d " " -f7

    aus?

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • pauli8585


    Hi,
    ich hoffe Du bist nicht böse, aber bei Deinem Script kam mir eine Idee und ich habs etwas 'abgewandelt'. Damit hat man endlich eine einfache Möglichkeit (bei angemessen großem Graph-TFT) zwei Kanäle gleichzeitig zu sehen! Mich hat es immer gereizt, beispielsweise Cockpitkanal und Supersignal gleichzeitig bei Live-Formel1 auf Sky zu sehen und das geht nun endlich sehr simpel, indem man die Adresse des TFT angibt. Also auf den Cockpitkanal, Script ausführen und danach aufs Supersignal SkySportHD schalten - läuft...
    In dem Skript habe ich lediglich ein 'killall -KILL graphtft-fe' eingefügt und nach beenden des PIP ein 'start-graphtftfe.sh'...
    Danke dafür!


    Freut mich!


    So eine ähnliche Idee hatte ich auch und zwar wollte ich einen zweiten Monitor anschließen. Jedoch macht das für mich nicht wirklich Sinn. ;)

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • Hast du meinen Post bezüglich Xinerame gelesen?


    Jetzt ja. ;)


    Aber wie gesagt, ich habe es halt deaktiviert.
    Um ganz ehlich zu sein, kenne ich mich mit dem X-Zeugs nicht sondelich aus und weiss auch nicht wozu Xinerama gut ist, bzw. ob ich es brauche.
    Bisher jedenfalls habe ich nicht festgestellt, dass mir was fehlt, ohne Xinerama. ;)

  • arrrgn, ich kriegs nicht ans rennen!


    Code
    [vdr@vdr vdr]$ cat /var/log/simple_pip.log 
    220 vdr SVDRP VideoDiskRecorder 1.7.19; Mon Aug  1 20:34:58 2011; UTF-8
    250 Message queued
    221 vdr closing connection
    No protocol specified
    Can't open display :0.1
    /usr/share/vdr/simple_pip.sh: Zeile 24: *30/100: Syntax Fehler: Operator erwartet. (Fehlerverursachendes Zeichen ist \"*30/100\").


    xinerama hab ich nicht aktiv, aber schon mal proforma den xdpyinfo ausgeführt :D

    Code
    [vdr@vdr vdr]$ xdpyinfo | grep dimensions | cut -d " " -f7
    1920x1080
    1920x1080


    gruß,lars

    Asus H170 PRO GAMING, Intel Core i7-6700T, 16GB RAM, GeForce GTX 1050 2GB, Samsung SSD 860 EVO 1TB SSD + 3TB WD Red, Mystique SaTiX-S2 Dual, Archlinux -> VDR4Arch


    "Freunde sind Menschen, die dich mögen obwohl sie dich kennen"

  • upps, ich glaub ich hab noch n ganz anderes problem...



    [so die fehlermeldung hat sich erledigt]

    Asus H170 PRO GAMING, Intel Core i7-6700T, 16GB RAM, GeForce GTX 1050 2GB, Samsung SSD 860 EVO 1TB SSD + 3TB WD Red, Mystique SaTiX-S2 Dual, Archlinux -> VDR4Arch


    "Freunde sind Menschen, die dich mögen obwohl sie dich kennen"

    Einmal editiert, zuletzt von cooljay032 ()

  • arrrgn, ich kriegs nicht ans rennen!


    Code
    [vdr@vdr vdr]$ cat /var/log/simple_pip.log 
    220 vdr SVDRP VideoDiskRecorder 1.7.19; Mon Aug  1 20:34:58 2011; UTF-8
    250 Message queued
    221 vdr closing connection
    No protocol specified
    Can't open display :0.1
    /usr/share/vdr/simple_pip.sh: Zeile 24: *30/100: Syntax Fehler: Operator erwartet. (Fehlerverursachendes Zeichen ist \"*30/100\").


    xinerama hab ich nicht aktiv, aber schon mal proforma den xdpyinfo ausgeführt :D

    Code
    [vdr@vdr vdr]$ xdpyinfo | grep dimensions | cut -d " " -f7
    1920x1080
    1920x1080


    gruß,lars

    Scheint an der display Variable zu liegen...
    Bin aber grad in Eile...


    Falls du es per ssh startest, musst vielleicht auch noch die IP davorschreiben...

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

    Einmal editiert, zuletzt von pauli8585 ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!