Xander Geschrieben 28. August 2010 Melden Share Geschrieben 28. August 2010 Hallo Keywelt, ich habe eine Bitte. Wer kann mir helfen folgende Funktion als mini-plugin zu realisieren? Wenn die Box auf einen 4:3 Sender gezappt wird, sollen sich die Einstellungen im Einstellungen/Video Menü auf Bildschirmformat=14:9 ändern. Zappt man zurück auf einen 16:9 Sender soll wieder auf 16:9 geändert werden. Laut Tuxboxwiki werden, sofern vorhanden, beim Wechsel auf ein anderes Bildformat die Skrippte /var/tuxbox/config/16:9.start bzw. /var/tuxbox/config/4:3.start ausgeführt, mir fehlt aber leider der richtige Befehl um das Format zu ändern? Wer kann helfen? Vielen Dank und Schöne Grüße Xander Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Admin SnowHead Geschrieben 28. August 2010 Admin Melden Share Geschrieben 28. August 2010 @Xander Dazu brauchst Du kein Plugin. Stelle in den Video-Einstellungen für das "4:3 Anzeigeverhalten" einfach "14:9 Pan & Scan" ein und die Box benimmt sich, wie von Dir beabsichtigt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Xander Geschrieben 28. August 2010 Autor Melden Share Geschrieben 28. August 2010 Hallo SnowHead, tut sie leider nicht. Mit dem was Du schreibst hat das Bild rechts und links einen schwarzen Balken. Es ist oben und unten etwas abgeschnitten und verzerrungsfrei. Ich hätte aber gerne das Bild auf Bildformat 14:9 und dann Pan&Scan. Damit ist oben und unten genauso viel abgeschnitten, aber der Rest wird linear in die breite gezogen weil mein TV das 14:9 nicht von einem 16:9 Signal unterscheidet. Für mich ist das der angenehmste Kompromiss um 4:3 zu gucken. Oben und unten etwas abgeschnitten und dann etwas horizontal aufgezogen. Gruß Xander Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gorcon Geschrieben 30. August 2010 Melden Share Geschrieben 30. August 2010 Mit dem was Du schreibst hat das Bild rechts und links einen schwarzen Balken. Es ist oben und unten etwas abgeschnitten und verzerrungsfrei. Ja, so ist es, das entspricht dann auch 14:9.Damit ist oben und unten genauso viel abgeschnitten, aber der Rest wird linear in die breite gezogenDas hat aber nichts mit 14:9 zu tun, das wird die Box auch nicht können. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Xander Geschrieben 30. August 2010 Autor Melden Share Geschrieben 30. August 2010 4:3 Anzeigeverhalten = "14:9 Pan & Scan" Meine Variante Bildschirmformat=14:9 Anzeigeverhalten=Pan&Scan Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
mrvica Geschrieben 30. August 2010 Melden Share Geschrieben 30. August 2010 sollte man erwähnen wie du den Fernseher angeschlossen hast, am SCART oder HDMI? was für SCART mal galt muss nicht unbedingt für HDMI gelten, beim SCART wurde Pin8 ausgewertet (je nachdem wieviel da Spannung anliegt, z.B. 5-8V für 16:9), wie das bei HDMI funktioniert kann ich dir nicht sagen mrvica Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Xander Geschrieben 30. August 2010 Autor Melden Share Geschrieben 30. August 2010 Oh ja, HDMI. Hatte das irgendwie als selbstverständlich angenommen. Also, mein Problem -oder Anliegen- ist, dass ich unterschiedliche Einstellungen im Menü "Einstellungen/Video" aktivieren will, je nach Bildformat des empfangenen Senders. Dafür bräuchte ich Befehle, die ich in ein Script packen kann. Gruß und Danke an Alle Xander EDIT: Ich bin einen ganzen Teil weiter! Leider werden wohl im Coolstream-Neutrino die 4:3.start und 16:9.start nichtmehr ausgelesen, so dass ich noch eine kleine abfrageschleife bastel muss. Folgendes Skript funktioniert aber schon auf der Konsole: #!/bin/sh f43="4:3" f169="16:9" rm /tmp/format wget -O /tmp/format http://127.0.0.1/control/videoformat export aspekt=`cat /tmp/format |awk -F ":" '{print $aspekt}'` if [ "$aspekt" = "$f43" ] then wget http://127.0.0.1/control/videoformat?14:9 elif [ "$aspekt" = "$f169" ] then wget http://127.0.0.1/control/videoformat?16:9 else wget http://127.0.0.1/control/videoformat?16:9 fi Ich greife dabei auf die ControlAPI der Box zurück siehe hier . Soweit so gut für heute. Gruß Xander Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Xander Geschrieben 1. September 2010 Autor Melden Share Geschrieben 1. September 2010 So Leute, läuft! Datei: autozoom.sh #!/bin/sh # Dieses Skript prüft alle 20s ob ein 4:3 Sender eingeschaltet ist. Wenn ja, wird auf 14:9 verzerrt, damit weniger abgeschnitten wird. #das Skript wird beendet, wenn in /tmp eine Datei Namens autozoom.cfg mit dem Inhalt "stop" liegt rm /tmp/autozoom.cfg aspektalt="16:9" export input=`cat /tmp/autozoom.cfg |awk '{print $input}'` until [ "$input" = "stop" ] do # Ablesen des Bildformats, wenn 4:3 wird es auf 14:9 geändert wget -O /tmp/format http://127.0.0.1/control/videoformat export aspekt=`cat /tmp/format |awk '{print $aspekt}'` if [ "$aspekt" = "4:3" ] && [ "$aspektalt" != "4:3" ] #Schritt1: Format auf 14:9 ändern then wget http://127.0.0.1/control/videoformat?14:9 #Schritt2: speichern, dass schon gezoomt wurde. Dann wird oben nicht sinloos Befehl zum zoomen gegeben aspektalt="4:3" #Schritt3: SenderID auslesen und in der Variable sid speichern. wget -O /tmp/autozoomsid http://127.0.0.1/control/zapto export sid=`cat /tmp/autozoomsid |awk '{print $sid}'` echo "4:3 Sender erkannt, ID: $sid. Zoom wurde ausgeführt!" echo "20s Pause" sleep 20 fi # Wenn auf einen 16:9 Sender zurück gezapt wird wird aspekt alt zurückgesetzt. # Damit wird oben geregelt, dass die Umschaltung auf 14:9 nur geschieht, wenn nötig if [ "$aspekt" = "16:9" ] && [ "$aspektalt" != "16:9" ] then aspektalt="16:9" #SenderID auslesen und in der Variable sid speichern. wget -O /tmp/autozoomsid http://127.0.0.1/control/zapto export sid=`cat /tmp/autozoomsid |awk '{print $sid}'` echo "16:9 Sender erkannt, ID: $sid ." echo "20s Pause" sleep 20 fi # Test ob umgeschaltet wurde, wenn ja wird aspektalt zerstört, damit auch beim zappen von 4:3 auf 4:3 der Zoom ausgeführt wird. wget -O /tmp/autozoomsid http://127.0.0.1/control/zapto export sidtest=`cat /tmp/autozoomsid |awk '{print $sidtest}'` if [ "$sid" = "$sidtest" ] then echo "Sender kostant...." echo "20s Pause" sleep 20 else aspektalt="egal" echo "Sender wurde umgeschaltet! neue ID: $sidtest " fi export input=`cat /tmp/autozoom.cfg |awk '{print $input}'` done rm /tmp/format rm /tmp/autozoom.cfg echo "autozoom beendet" exit 0 ToDo: - automatisch beim Start der Box mit starten lassen realisiert per init.d. siehe z.B. beim Uhr-Plugin - graphisches Menü, welches das Skript über die Datei /tmp/autozoom.cfg beenden kann und bei Bedarf neu startet Gruß an alle Xander Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Baunty Geschrieben 4. Mai 2011 Melden Share Geschrieben 4. Mai 2011 Danke gleich mal testen Edit: Leider kommt kein Ergebnis laut Einstellung bräuchte ich für mein tv pan&scan und Bildformat 4:3 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Xander Geschrieben 5. Juni 2011 Autor Melden Share Geschrieben 5. Juni 2011 Hi, das plugin funktioniert in den kw-Images 1.4 und 1.5 leider nur mit einem Trick. Da den neueren Images de Befehl awk unbekannt ist, den ich aber im Skript unbedingt benötige ist folgendes wokaround notwendig: 1) hier das root-fs für das 1.3er Image herunterladen und aus dem Archiv in /bin die busybox extrahieren. 2) diese busibox z.B. in busyboxkw13 umbenennen und in den Ordner /var/bin auf die cooly schieben 3) Ausführbar machen chmod 755 /var/bin/busyboxkw13 4) symlink awk in /bin erzeugen ln -s /var/bin/busyboxkw13 /bin/awk Gruß Xander Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Admin SnowHead Geschrieben 5. Juni 2011 Admin Melden Share Geschrieben 5. Juni 2011 @Xander Hmm, das awk wird für diesen Zweck aber nicht wirklich gebraucht. Statt des ganzen Zauberns mit Temporärfile, "export" und "awk" lassen sich die Variablen doch viel einfacher belegen: ... aspect=`wget -q -O- http://127.0.0.1/control/videoformat` ... sid=`wget -q -O- http://127.0.0.1/control/zapto` ... usw. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Xander Geschrieben 5. Juni 2011 Autor Melden Share Geschrieben 5. Juni 2011 mhmm, das klingt ja gut. Habe halt vom Skripten nicht soviel Plan, aber man wächst ja an seinen Aufgaben. Da werde ich demnächst wohl nochmal ran müssen Danke Dir. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Admin SnowHead Geschrieben 5. Juni 2011 Admin Melden Share Geschrieben 5. Juni 2011 @Xander Achte aber unbedingt darauf, die richtigen Quotas zu nehmen. Sonst klappt das nicht und endet in Frustration: Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Xander Geschrieben 6. Juni 2011 Autor Melden Share Geschrieben 6. Juni 2011 Hallo! @SnowHead: Hattest recht, geht ohne awk viel schöner. @Alle Unten stehend die Version 2.0 die ohne Gebastel im aktuellen Image laufen sollte. Neu: OSD Meldungen, Pausemodus Es muss eine leere Datei /var/tuxbox/config/autozoom.cfg mit Rechten 555 vorhanden sein. Der Inhalt dieser Datei steuert das Skript. Passende Flexmenü-Einträge erstelle ich im Laufe der Woche mal. #!/bin/sh # V2.0 # Dieses Skript prüft alle 20s ob ein 4:3 Sender eingeschaltet ist. Wenn ja, wird auf 14:9 verzerrt, damit weniger beim Pan&Scan abgeschnitten wird. # Die Datei /var/tuxbox/config/autozoom.cfg übergit folgende Befehle an das Skript: stop, pause, start(=Normalbetrieb) # Das Skript kann darüber mit Befehlen gefüttert werden. Z.B. aus dem Flexmenü input=`cat /var/tuxbox/config/autozoom.cfg` # sollte in /var/tuxbox/config/autozoom.cfg noch stop stehen, wird die Datei mit start überschreiben if [ "$input" = "stop" ] then echo start > /var/tuxbox/config/autozoom.cfg fi aspektalt="16:9" wget http://127.0.0.1/control/message?popup=autozoom-mode%20erfolgreich%20gestartet #Hier startet die Schleife, bis über die /var/tuxbox/config/autozoom.cfg der befehl stop erfolgt until [ "$input" = "stop" ] do # Ablesen des Bildformats, wenn 4:3 wird es auf 14:9 geändert aspekt=`wget -q -O- http://127.0.0.1/control/videoformat` if [ "$aspekt" = "4:3" ] && [ "$aspektalt" != "4:3" ] then #Schritt1: Format auf 14:9 ändern wget http://127.0.0.1/control/videoformat?14:9 #Schritt2: speichern, dass schon gezoomt wurde. Dann wird oben nicht sinloos Befehl zum zoomen gegeben aspektalt="4:3" #Schritt3: SenderID auslesen und in der Variable sid speichern. sid=`wget -q -O- http://127.0.0.1/control/zapto` echo "4:3 Sender erkannt, ID: $sid. Zoom wurde ausgeführt!" echo "20s Pause" sleep 20 fi # Wenn auf einen 16:9 Sender zurück gezapt wird wird aspekt alt zurückgesetzt. # Damit wird oben geregelt, dass die Umschaltung auf 14:9 nur geschieht, wenn nötig if [ "$aspekt" = "16:9" ] && [ "$aspektalt" != "16:9" ] then aspektalt="16:9" #SenderID auslesen und in der Variable sid speichern. sid=`wget -q -O- http://127.0.0.1/control/zapto` echo "16:9 Sender erkannt, ID: $sid ." echo "20s Pause" sleep 20 fi # Test ob umgeschaltet wurde, wenn ja wird aspektalt zerstört, damit auch beim zappen von 4:3 auf 4:3 der Zoom ausgeführt wird. sidtest=`wget -q -O- http://127.0.0.1/control/zapto` if [ "$sid" = "$sidtest" ] then echo "Sender kostant...." echo "20s Pause" sleep 20 else aspektalt="egal" echo "Sender wurde umgeschaltet! neue ID: $sidtest " fi # Hier wird das Exit-command abgeprüft input=`cat /var/tuxbox/config/autozoom.cfg` # Pausenmodus if [ "$input" = "pause" ] then # im Pausenmodus wird der Bildschirm auf 16:9 gesetzt wget http://127.0.0.1/control/videoformat?16:9 wget http://127.0.0.1/control/message?popup=autozoom-mode%20pausiert echo Pausenmodus aspektalt="egal" # und dann geschlafen, bis der Befehl Pause zurückgenommen wird until [ "$input" != "pause" ] do input=`cat /var/tuxbox/config/autozoom.cfg` sleep 20 done fi done echo start > /var/tuxbox/config/autozoom.cfg wget http://127.0.0.1/control/message?popup=autozoom-mode%20erfolgreich%20beendet echo "autozoom beendet" exit 0 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Admin SnowHead Geschrieben 7. Juni 2011 Admin Melden Share Geschrieben 7. Juni 2011 @Xander Ich habe das Script noch mal entschärft und angepasst: 1. eine ganz üble Sache ist der Aufruf von "wget" ohne Target. In diesem Fall wird er letzte Teil der aufgerufenen URL als Dateiname genommen, diese Datei im aktuellen Verzeichnis angelegt und das Ergebnis des Aufrufs in diese Datei geschrieben. Das ist vor allem in Schleifen extrem schlecht für den Flash der Box und müllt das Filesystem mit vielen kryptischen Dateien zu. Wenn das Ergebnis eines wget-Aufrufes nicht als Datei oder Variable benötigt wird, ist zwingend das Null-Device als Ziel anzugeben um die oben beschriebenen Probleme zu vermeiden ( -O /dev/null ). 2. User, welche einen Proxy verwenden, bekommen Probleme, wenn beim Aufruf boxinterner Adressen keine Anweisung enthalten ist, den Proxy zu umgehen ( -Y off ). In diesem Fall wird die interne Adresse nicht erreicht. Also für interne Aufrufe immer "-Y off" verwenden. #!/bin/sh # V2.1 # Dieses Skript prüft alle 20s ob ein 4:3 Sender eingeschaltet ist. Wenn ja, wird auf 14:9 verzerrt, damit weniger beim Pan&Scan abgeschnitten wird. # Die Datei /var/tuxbox/config/autozoom.cfg übergit folgende Befehle an das Skript: stop, pause, start(=Normalbetrieb) # Das Skript kann darüber mit Befehlen gefüttert werden. Z.B. aus dem Flexmenü input=`cat /var/tuxbox/config/autozoom.cfg` # sollte in /var/tuxbox/config/autozoom.cfg noch stop stehen, wird die Datei mit start überschreiben if [ "$input" = "stop" ] then echo start > /var/tuxbox/config/autozoom.cfg fi aspektalt="16:9" wget -Y off -q -O /dev/null http://127.0.0.1/control/message?popup=autozoom-mode%20erfolgreich%20gestartet #Hier startet die Schleife, bis über die /var/tuxbox/config/autozoom.cfg der befehl stop erfolgt until [ "$input" = "stop" ] do # Ablesen des Bildformats, wenn 4:3 wird es auf 14:9 geändert aspekt=`wget -Y off -q -O- http://127.0.0.1/control/videoformat` if [ "$aspekt" = "4:3" ] && [ "$aspektalt" != "4:3" ] then #Schritt1: Format auf 14:9 ändern wget -Y off -q -O /dev/null http://127.0.0.1/control/videoformat?14:9 #Schritt2: speichern, dass schon gezoomt wurde. Dann wird oben nicht sinloos Befehl zum zoomen gegeben aspektalt="4:3" #Schritt3: SenderID auslesen und in der Variable sid speichern. sid=`wget -Y off -q -O- http://127.0.0.1/control/zapto` echo "4:3 Sender erkannt, ID: $sid. Zoom wurde ausgeführt!" echo "20s Pause" sleep 20 fi # Wenn auf einen 16:9 Sender zurück gezapt wird wird aspekt alt zurückgesetzt. # Damit wird oben geregelt, dass die Umschaltung auf 14:9 nur geschieht, wenn nötig if [ "$aspekt" = "16:9" ] && [ "$aspektalt" != "16:9" ] then aspektalt="16:9" #SenderID auslesen und in der Variable sid speichern. sid=`wget -Y off -q -O- http://127.0.0.1/control/zapto` echo "16:9 Sender erkannt, ID: $sid ." echo "20s Pause" sleep 20 fi # Test ob umgeschaltet wurde, wenn ja wird aspektalt zerstört, damit auch beim zappen von 4:3 auf 4:3 der Zoom ausgeführt wird. sidtest=`wget -Y off -q -O- http://127.0.0.1/control/zapto` if [ "$sid" = "$sidtest" ] then echo "Sender kostant...." echo "20s Pause" sleep 20 else aspektalt="egal" echo "Sender wurde umgeschaltet! neue ID: $sidtest " fi # Hier wird das Exit-command abgeprüft input=`cat /var/tuxbox/config/autozoom.cfg` # Pausenmodus if [ "$input" = "pause" ] then # im Pausenmodus wird der Bildschirm auf 16:9 gesetzt wget -Y off -q -O /dev/null http://127.0.0.1/control/videoformat?16:9 wget -Y off -q -O /dev/null http://127.0.0.1/control/message?popup=autozoom-mode%20pausiert echo Pausenmodus aspektalt="egal" # und dann geschlafen, bis der Befehl Pause zurückgenommen wird until [ "$input" != "pause" ] do input=`cat /var/tuxbox/config/autozoom.cfg` sleep 20 done fi done echo start > /var/tuxbox/config/autozoom.cfg wget -Y off -q -O /dev/null http://127.0.0.1/control/message?popup=autozoom-mode%20erfolgreich%20beendet echo "autozoom beendet" exit 0 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Xander Geschrieben 7. Juni 2011 Autor Melden Share Geschrieben 7. Juni 2011 Besten Dank für die Mühen! Hier noch die passenden Einträge in der shellexec.conf MENU=autozoom Men~u ACTION=starten,/var/plugins/autozoom.sh ACTION=beenden,echo stop > /var/tuxbox/config/autozoom.cfg ACTION=Pause,echo pause > /var/tuxbox/config/autozoom.cfg ACTION=Pause beenden,echo start > /var/tuxbox/config/autozoom.cfg ENDMENU Gruß Xander Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.