Ergebnis 1 bis 10 von 41
Thema: Console im OpenATV-4.3 ?
-
19.01.2015, 15:05 #1Pike_BishopGast
Console im OpenATV-4.3 ?
Hi,
Hab hier das OpenATV-4.3 vom 16.01.2015 installiert.
Darin möchte ich nun per hotkey diese Scripts hier ausführen können;
DVD Kopieren
Leider klappt das weder über hotkey noch über das PPanel und auch nicht über das Info Panel (wos ja auch was gibt um Scriptzs auszuführen).
Kleine Scripts die nur echos ausgeben oder eben sofort abgearbeitet sind machen keine Probleme, aber Scripts wie im Link
wenn man die anstösst per FB dann wird das gesamte OSD blockiert.
Normalerweise wenn ich so ein Script anwerfe gehe ich sofort aus dem ersten Fenster (jetzt mal nur auf hotkey bezogen) raus per exit Taste
so das das OSD komplett geschlossen ist da das Script eh eigene Statusfenster öffnet per wget aber schon dieses klappt nicht.
Mit wget im Script wird dann auch nichtmal was abgearbeitet - Box hängt einfach und Spinner drehen endlos.
Kommentier ich die wget Aufrufe aus im Script dann läuft das Script zwar, aber man kann ebenfalls das erste Fenster welches erscheint
wenn man das Script ausführt nicht per exit Taste schliessen (Spinner drehen wieder die ganze Zeit)
wenn dann aber das Script abgearbeitet wurde denke ich schliesst das OSD (dauert aber, denn das Script kopiert ja immerhin ne DVD)
solange wird eben wieder das OSD völlig blockiert.
Hier gabs dann sogar nen Blue Screen - aber ich denke der kam daher weil ich nen Screenshot machen wollte während das Osd blockierte
und die Box hat sich das gemerkt bis das Script fertig war deshalb gabs den Blue Screen erst als das Script fertig war was ja auch logisch ist
da ja zuvor die ganze Zeit das Osd blockiert wird.
Zuletzt noch - diese Scripts funktionieren aber tadellos wenn man sie in telnet ausführt (auch mit den wget Aufrufen darin).
Ich denke das liegt an der Console im OpenATV-4.3 - da gehört wohl etwas geändert
denn wie gesagt wenn ich so ne Art Scripts auf der Box direkt ausführe schliesse ich sofort das erste Fenster per exit Taste (was aber ja schon unmöglich ist)
so das eben das OSD geschlossen ist um die wget Messages zu bekommen die ja automatisch aufpoppen.
In anderen Images wie PLI oder OpenXTA geht das ja auch so, und auch im OpenATV-4.1 klappte das seinerzeit mit PPanels
oder auch im Info Panel wenn man Scripts da ausführte (hotkey gabs damals ja noch nicht).
Was es also braucht ist ganz einfach das wenn man ein Script ausführt per hotkey man einfach per exit Taste das Osd (erste Fenster was kommt beim Script ausführen)
sofort wieder schliessen kann oder zusätzlich auch per ok Taste (das wär auch kein Fehler wenn das mit beiden Tasten zu schliessen ginge).
Bei kleinen Scripts fällt so ein Problem ja niemals auf da die ja sofort abgearbeitet sind.
Grüsse
Biki3Geändert von Pike_Bishop (19.01.2015 um 15:08 Uhr)
-
Advertising
-
19.01.2015, 16:21 #2Pike_BishopGast
Hi,
So hab hier mal nen Patch von @mogli123 - das hat seinerzeit im OpenXTA gegen eine sehr ähnliche Sache geholfen;
https://github.com/XTAv2/Enigma2/com...14288c7d43e1a9
Den hab ich also nun in die Console.py eingetragen ab incl. Zeile 17 - Zeile incl. 25 im OpenATV-4.3 - sieht dann so aus die ganze Passage;
Code:self["actions"] = ActionMap(["WizardActions", "DirectionActions", "OkCancelActions"], { #"ok": self.cancel, #"back": self.cancel, "ok": self.close, "cancel": self.close, "up": self["text"].pageUp, "down": self["text"].pageDown }, -1)
Insgesamt sieht das hier aus als ob Scripts nicht im Hintergrund abgearbeitet werden.
Grüsse
Biki3
-
16.03.2015, 16:41 #3
- Registriert seit
- 05.04.2013
- Beiträge
- 481
- Thanks (gegeben)
- 1409
- Thanks (bekommen)
- 3257
- Total Downloaded
- 295,50 MB
- Total Downloaded
- 295,50 MB
Box 1:AX HD51hab mir das mal angeschaut. deine änderungen (bzw. die von mogli) sind ja schön und gut, aber hast du dann in der keymap unter okcancelactions auch ok und exit hinzugefügt? ansonsten bringt das ja genau 0.
wenn ich dich richtig verstehe, musst du nur das osd schließen können, so bald das script startet? richtig?
leider kann man das ohne dvd laufwerk schlecht testen. oder hast ein script was ein wenig länger läuft?Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du übers Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.[/CENTER]
-
16.03.2015, 17:06 #4
- Registriert seit
- 30.12.2014
- Beiträge
- 363
- Thanks (gegeben)
- 71
- Thanks (bekommen)
- 84
- Total Downloaded
- 18,28 MB
- Total Downloaded
- 18,28 MB
Box 1:VU+ Uno 4Ksorry, falsch
Geändert von Lightwizzard (16.03.2015 um 17:09 Uhr)
-
16.03.2015, 19:14 #5Pike_BishopGast
Hi madie,
aber hast du dann in der keymap unter okcancelactions auch ok und exit hinzugefügt?
wenn ich dich richtig verstehe, musst du nur das osd schließen können, so bald das script startet? richtig?
Da gabs zwar noch kein hotkey aber eben mit ppanel oder mit der Script Möglichkeit im Info Panel ging das damals
was ja auch nun mit diesen Möglichkeiten nicht klappt.
leider kann man das ohne dvd laufwerk schlecht testen. oder hast ein script was ein wenig länger läuft?
aus ner Aufnahme oder so in etwa.
Grüsse
Biki3
-
16.03.2015, 19:19 #6
- Registriert seit
- 05.04.2013
- Beiträge
- 481
- Thanks (gegeben)
- 1409
- Thanks (bekommen)
- 3257
- Total Downloaded
- 295,50 MB
- Total Downloaded
- 295,50 MB
Box 1:AX HD51wenn du das machen würdest, könnte ich da mal schauen. kann doch nur ne kleinigkeit sein. muss das nur nachstellen können.
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du übers Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.[/CENTER]
-
16.03.2015, 19:24 #7Pike_BishopGast
Hi madie,
Ja ok ich mach das aber wahrscheinlich erst am WE - Danke derweil
Grüsse
Biki3
-
Danke - 1 Thanksmadie bedankten sich
-
21.03.2015, 23:21 #8Pike_BishopGast
Hi madie,
Sorry - ich weiss noch nicht ob ich Morgen dazu komme und wenn ichs mal anfange dann soll es auch wenns erstmal nur zum Testen ist
halbwegs ordentlich geschrieben sein das Script ( da ich es eventuell später mal erweitern will so das es dann den selben Job kann was das Plugin DvdBurn kann bzw. können sollte)
und auch möchte ich es zuvor ein bisschen testen - deshalb wirds wohl noch ein paar Tage dauern (möglicherweise auch erst nächstes WE).
Aber ich machs auf jeden Fall.
Grüsse
Biki
-
22.03.2015, 19:24 #9Pike_BishopGast
Hi madie,
Das Script is im Prinzip soweit fertig (möchte es aber erst selbst noch ein bisschen testen) sieht so aus;
Code:#!/bin/sh ## Variablen ## BOXIP=http://localhost WGET=/usr/bin/wget CHMOD=/bin/chmod ECHO=/bin/echo MV=/bin/mv NICE=/bin/nice NICE_ARGS="-n 19" RM=/bin/rm SLEEP=/bin/sleep PROJECTX=/usr/bin/projectx INI=/home/root/projectx.ini MPLEX=/usr/bin/mplex VIDEOFILE="*.m2v" AUDIOFILE_AC3="*.ac3" AUDIOFILE1="*[!\-02].mp2" AUDIOFILE2="*[\-02].mp2" MPG="*.mpg" WORKINGDIR=/media/hdd/movie/test TMP=/tmp LOGFILE=$TMP/ts_to_mpg.log MESSAGES="*type=*" # Der Job beginnt # Generelles Logging exec >$LOGFILE; exec 2>&1 # Wechsel in den WORKINGDIR damit die Dateien zu den wget Nachrichten da abgelegt werden, um diese bei # einem erneuten Start des Scripts, oder zum Schluss, leichter und vor Allem gefahrlos loeschen zu können cd $WORKINGDIR # Falls das Script erneut gestartet wird da es zuvor aus welchem Grund auch # immer abgebrochen ist, die eventuell verbliebenen Altlasten loeschen rm -f $MESSAGES for j in $VIDEOFILE $AUDIOFILE_AC3 $AUDIOFILE1 $AUDIOFILE2 ; do $NICE $NICE_ARGS rm -f "${j}" done # Job Start/Startzeit STARTDATE="$(date +%a.%d.%b.%Y-%H:%M)" && echo -e "\n\nJOB START -> $STARTDATE\n\n" && sleep 7 $WGET "$BOXIP/web/message?text=Starte%20TS%20zu%20MPG%20...%20->%20$STARTDATE&type=1&timeout=10" # OSD Fehler Ausgabe osd_error_message() { sleep 11 $WGET "$BOXIP/web/message?text=ABBRUCH%20---%20(%20Details%20dazu%20in%20$LOGFILE%20)&type=3" echo "" } # Pruefen ob das Programm projectx und die projectx.ini vorhanden # sind, und wenn ja, deren Rechte setzen, oder wenn nein -> Abbruch if ( [ ! -f $PROJECTX ] || [ ! -e $INI ] ) ; then osd_error_message echo -e "\nABBRUCH ! Keine $PROJECTX und/oder $INI gefunden !" echo "Bitte manuell nachholen - projectx nach -> /usr/bin/ kopieren" echo -e "und die projectx.ini nach -> /home/root kopieren\n" && exit 1 else echo -e "\nProgramm projectx sowie projectx.ini vorhanden" chmod 755 $PROJECTX chmod 644 $INI echo "" fi # Benoetigtes Programm (falls nicht vorhanden) mplex (ist im Paket mjpegtools) nachinstallieren mplex_install() { opkg install mjpegtools if [ "$?" = "0" ] ; then echo -e "\nInstallation Programm mplex erfolgreich\n" else osd_error_message echo -e "\nABBRUCH ! Installation Programm mplex fehlgeschlagen !\n" && exit 1 fi } if [ ! -f $MPLEX ]; then opkg update if [ "$?" = "0" ] ; then echo -e "\nPaketmanagement Aktualisierung erfolgreich\n" mplex_install else echo -e "\n! Paketmanagement Aktualisierung fehlgeschlagen - vorerst nicht tragisch !" echo "Doch falls es im naechsten Schritt bei der Install vom Programm mplex zum" echo -e "Abbruch kommt ist die Netzwerkverbindung zu pruefen\n" mplex_install fi else echo "" fi # Titelbestimmung for i in *.ts; do if [ -e "${i}" ]; then echo -e "\nBestimme Filmtitel...\n" echo "Original Filmtitel = ${i}" NAME=${i#*-*- } #mv "${i}" "${NAME// /_}" FILM_NAME=${NAME// /_} echo "Filmtitel (Kurzfassung) = ${FILM_NAME}" else osd_error_message echo -e "\nABBRUCH ! Keine .ts Aufnahme in $WORKINGDIR gefunden !" echo -e "Bitte eine .ts Aufnahme (nur SD) nach $WORKINGDIR kopieren\n" && exit 1 fi done # Die Endung .ts wegschneiden und moegliche # Umlaute (z.b: Ä durch Ae) ersetzen shopt -s extglob TITEL=${FILM_NAME%.*} TITEL=${TITEL//Ä/Ae} TITEL=${TITEL//Ö/Oe} TITEL=${TITEL//Ü/Ue} TITEL=${TITEL//ä/ae} TITEL=${TITEL//ö/oe} TITEL=${TITEL//ü/ue} TITEL=${TITEL//ß/ss} echo "Endgueltiger Filmtitel = ${TITEL}" # Demuxing $NICE $NICE_ARGS $PROJECTX -ini $INI -out $WORKINGDIR $WORKINGDIR/*.ts -demux if [ "$?" = "0" ] ; then echo -e "Demuxen erfolgreich abgeschlossen\n" else osd_error_message echo -e "\nABBRUCH ! Demuxen fehlgeschlagen !\n" && exit 1 fi # Muxing # mit 3 Tonspuren (*.ac3 dolby, *.mp2 stereo de, *02.mp2 stereo anderssprachig) if [ -e $VIDEOFILE -a -e $AUDIOFILE_AC3 -a -e $AUDIOFILE1 -a -e $AUDIOFILE2 ]; then echo "MPG mit 3 Tonspuren wird erstellt" $NICE $NICE_ARGS $MPLEX -f 9 -o $TITEL.mpg $VIDEOFILE $AUDIOFILE_AC3 $AUDIOFILE1 $AUDIOFILE2 fi # mit 2 Tonspuren (*.ac3 dolby, *.mp2 stereo de oder anderssprachig) if [ -e $VIDEOFILE -a -e $AUDIOFILE_AC3 -a -e $AUDIOFILE1 -a ! -e $AUDIOFILE2 ]; then echo "MPG mit 2 Tonspuren wird erstellt" $NICE $NICE_ARGS $MPLEX -f 9 -o $TITEL.mpg $VIDEOFILE $AUDIOFILE_AC3 $AUDIOFILE1 fi # mit 2 Tonspuren (*.mp2 stereo de, *02.mp2 stereo anderssprachig) if [ -e $VIDEOFILE -a ! -e $AUDIOFILE_AC3 -a -e $AUDIOFILE1 -a -e $AUDIOFILE2 ]; then echo "MPG mit 2 Tonspuren wird erstellt" $NICE $NICE_ARGS $MPLEX -f 9 -o $TITEL.mpg $VIDEOFILE $AUDIOFILE1 $AUDIOFILE2 fi # mit 1 Tonspur (*.mp2 stereo de oder anderssprachig) if [ -e $VIDEOFILE -a ! -e $AUDIOFILE_AC3 -a -e $AUDIOFILE1 -a ! -e $AUDIOFILE2 ]; then echo "MPG mit 1 Tonspuren wird erstellt" $NICE $NICE_ARGS $MPLEX -f 9 -o $TITEL.mpg $VIDEOFILE $AUDIOFILE1 fi if [ "$?" = "0" ] ; then echo -e "Muxen (MPG Erstellung) erfolgreich abgeschlossen\n" # Bei erfolgreichem Muxing, die demuxten Audio/Video Dateien loeschen for j in $VIDEOFILE $AUDIOFILE_AC3 $AUDIOFILE1 $AUDIOFILE2 ; do $NICE $NICE_ARGS rm -f "${j}" done # Ebenfalls bei erfolgreichem Muxing, die .ts Aufnahme im WORKINGDIR loeschen # ist derzeit aber durch die Raute davor (also durch #) nicht scharf geschalten #$NICE $NICE_ARGS rm -f *.ts else osd_error_message echo -e "\nABBRUCH ! Muxen (MPG Erstellung) fehlgeschlagen !\n" && exit 1 fi # Job Ende/Endzeit bei Erfolg ENDDATE="$(date +%a.%d.%b.%Y-%H:%M)" && echo -e "\nJOB ENDE -> $ENDDATE\n\n" $WGET "$BOXIP/web/message?text=TS%20zu%20MPG%20erfolgreich%20beendet%20->%20$ENDDATE&type=1" # wget Nachrichten löschen rm -f $MESSAGES exit
Denn projectx und die projextx.ini brauchst dazu.
Ich schreib dir derweil was dann noch zu tun wäre für dich.
1.) Da wär mal das Script selbst es nennt sich ts_to_mpg.sh - das nach /usr/script kopieren (halt dahin wo du es mit hotkey aufrufen kannst.
und natürlich dann ausführbar machen nicht vergessen also - chmod 755 /pfad/zum/ts_to_mpg.sh
2.) Dann musst dir unter /media/hdd/movie ein Verzeichnis anlegen mit Namen test
Wenn du da lieber nen anderen Namen als test wählen möchtes oder z.b: auch nen ganz anderen Pfad wählen möchtest
musst das im Script in Zeile 23 bei der Variablen WORKINGDIR=/media/hdd/movie/test anpassen.
3.) Jedenfalls in das Workingdir also so wies im Script vorgegeben ist in /media/hdd/movie/test musst dann ne SD Aufnahme reinkopieren
Es sollte am Besten nur ne kleine Aufnahme sein (5 - 10 Minuten lang halt) damits nicht zu lange dauert für dich das zu testen.
4.) Das binary projectx muss dann auf der Box nach /usr/bin und danach per chmod 755 /usr/bin/projectx ausführbar gemacht werden
5.) Die projectx.ini gehört auf der Box nach /home/root/ und kannst auch dann per chmod 644 /home/root/projectx.ini die Rechte dazu setzen.
Noch ein paar Kleinigkeiten (Hinweise) es wird noch das Paket mjpegtools installiert - dies macht aber eh das Script automatisch.
Bitte dafür Sorge tragen das immer nur eine SD Aufnahme im Workingdir liegt.
Wennst das Script erstmal per telnet aufrufst mit (angenommen hotkey erwartet die Scripts nun wieder in /usr/script);
Code:sh /usr/script/ts_to_mpg.sh
da drin kannst nachsehen was so passiert und falls das Script abbricht.
Aber sieh jedenfalls sofort nach Start des Scripts auf den TV damit du auch die wget Bildschirmmeldungen sehen kannst
(im Normalfall kommen eh bei Erfolg nur zwei) nämlich die Start und die Endmeldung.
Startmeldung kommt etwas verzögert hab da sleep eingebaut und is mit Timeout geht also nach 10 Sekunden von allein weg.
Also daher wie gesagt nach Script Start sofort zum TV und mal einige Sekunden warten bis du die Message sehen kannst.
Die Endmeldung hat keinen Timeout musst dann also per ok Taste wegdrücken
und falls das Script irgendwo abbricht gibts auch ne Fehlermeldung am TV zu sehen die hat ebenfalls keinen Timeout.
Die grösseren Sachen im Script laufen auch per nice - also der normale Boxbetrieb dürfte dabei nicht gestört werden
(höchstens mit ner ET4000)
Und wenn das Script per telnet gestartet geklappt hat (also durchgelaufen ist) dann eben mal per hotkey probieren da solltest dann sehen das es so nicht geht.
OSD vomTV is dann blockiert usw.. wie halt im Eingangspost beschrieben.
Grüsse
Biki3Geändert von Pike_Bishop (22.03.2015 um 22:15 Uhr)
-
22.03.2015, 19:31 #10
- Registriert seit
- 05.04.2013
- Beiträge
- 481
- Thanks (gegeben)
- 1409
- Thanks (bekommen)
- 3257
- Total Downloaded
- 295,50 MB
- Total Downloaded
- 295,50 MB
Box 1:AX HD51jo. danke.
scripts jetzt wie besprochen nur noch unter usr/script. das wir es einheitlich haben. https://github.com/openatv/enigma2/c...b387e44a94fde2Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du übers Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.[/CENTER]
-
Danke - 1 Thanks- bedankten sich
Lesezeichen