Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Mediaportal Plugin erstellen für Sat Receiver. Wie?

  1. #1
    Registrierter Benutzer
    Registriert seit
    Mar 2016
    Beiträge
    5

    Mediaportal Plugin erstellen für Sat Receiver. Wie?

    Hallo Gemeinde,
    ich möchte einen Plugin für einen Sat Receiver = Mediaportal erstellen.
    Es soll was einfaches werden. Man installiert das Plugin und danach hat man im Mediaportal 5 Sender listen bzw Länder zur Auswahl (Deutsch, Russisch, Türkisch, Polnisch und USA).
    Sprich. Man öffnet das Mediaportal - dort soll ein Bild icon sein für mein Plugin - klickt man darauf kommt die nächste Seite, wo man dann die Wahl hat Sender liste aus Deutsch, Russisch, Türkisch, Polnisch oder USA auszuwählen. Klickt man sagen wir auf Deutsch, werden alle Deutsche Sender aufgelistet. Sagen wir, man klickt dann auf ARD und der Sender läuft.
    Wenn man auf der Fernbedienung nach rechts klickt, kommt man zum nächsten Sender beispiel ZDF usw.
    Klickt man auf der Fernbedienung auf Exit, kommt man zur deutschen Sender liste ARD, ZDF usw zurück. Klickt man wieder auf Exit kommt man zur Länderauswahl. Klickt man nun wieder auf Exit ist man wieder auf der Mediaportalseite.
    Mehr soll es nicht können. Halt alles einfach halten.

    Mein Problem. Wo fange ich an!
    Ich habe sehr viel gelesen. Ich verstehe auch viele zusammenhänge. Ich weiß nur nicht wo ich anfangen und was berücksichtigen soll/muss. Habe zu viel gelesen.
    Habe mich bereits bei www.guides.github.com angemeldet und bisschen eingearbeitet.
    Habe auf meinem PC auch einen Ordner (Baumstruktur) erstellt.
    pl01.jpg

    Habe auch codes eingefügt aber natürlich nicht von bedeutung, weil dieser Code, für Kodi bzw XBMC geeignet ist, denke ich. Weil ich ja nicht weis, was ich genau machen muss.
    Beispiel in der Datei addon.xml habe ich das eingefügt:
    Code:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <addon id="plugin.addon.idNameEingeben" name="Mein erstes addon" version="0.0.1" provider-name="MeinName">
      <requires>
        <import addon="xbmc.python" version="2.1.0"/>
        <import addon="script.module.Beisspielelementtree" version="1.2.7"/>
        <import addon="script.module.Beispielsimplejson"    version="2.0.10"/>
      </requires>
      <extension point="xbmc.metadata.scraper.tvshows" library="addon.py">
        <provides>TV Sender</provides>
      </extension>
      <extension point="xbmc.addon.metadata">
        <summary lang="en_gb">Your add-on's summary</summary>
        <description lang="de_de">Your add-on's description</description>
        <disclaimer lang="de_de"></disclaimer>
        <language></language>
        <platform>all</platform>
        <license></license>
        <forum></forum>
        <website></website>
        <email></email>
        <source></source>
      </extension>
    </addon>
    Kann mir wer weiterhelfen!
    Hoffe das geschriebene beschreibt mein Problem und Ihr könnt mir helfen!

    Und keine Sorge. Ich verstehe sehr schnell.
    Nur der Anfang fällt mir so schwer.

    Wenn Ihr irgendwelche Informationen braucht. Damit wir weiterkommen können. Bitte frage stellen.
    Ich habe auch Betriebssystem Linux. Aber nur auf einem Portablen USB Stick (opensuse 15.x).

    Danke

  2. #2
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.062
    Ehrlich gesagt verstehe ich überhaupt nicht, was Du willst, vorhast und auf welcher Hardware / OS / ... das laufen soll.

    ... und OpenSuse 15.x gibt es nicht.

    Ansonsten: Plugin-Programmierung für System XYZ fängt meist damit an, daß man sich mal mit der API von XYZ auseinander setzt.
    Ich bin root - ich darf das.

  3. #3
    Registrierter Benutzer
    Registriert seit
    Mar 2016
    Beiträge
    5
    Hi,
    also nicht opensuse, sorry. Gemeint ist ubuntu-15.10.
    Aber zur Satellieten Receiver und Infos:
    Name bzw Kernel: Linux 3.14.2
    Chipset: BCM7362 Core Prozessor 2x

    Vielleicht schicke ich mal einen link zu einem fertigen Plugin. Vielleicht könnt Ihr mehr in Erfahrung bringen als ich.
    https://github.com/openatv/enigma2-p...ns-cooltvguide

    Und was mit Mediaportal gemeint ist und was ich will. Hier mal ein Bild.
    mepo01.jpg

    Wenn die Infos nicht reichen. Schreibt mir bitte was Ihr noch braucht.
    Geändert von gebber (01.04.16 um 10:59 Uhr)

  4. #4
    Registrierter Benutzer Avatar von drcux
    Registriert seit
    Oct 2003
    Beiträge
    6.989
    Die Plugins werden mit python programmiert:

    http://www.espend.de/artikel/plugins...erstellen.html

  5. #5
    Registrierter Benutzer
    Registriert seit
    Mar 2016
    Beiträge
    5
    Zitat Zitat von drcux Beitrag anzeigen
    Die Plugins werden mit python programmiert:

    http://www.espend.de/artikel/plugins...erstellen.html
    Hi,
    python, davon habe ich gelesen aber nicht zuordnen können.
    Ich werde mal ein wenig mich in Codes und Python einarbeiten.
    Danke für den wichtigen Hinweis drcux.

    Wenn noch andere Lehrbare links vorhanden sind. Nehme ich es gerne an.

    Ich lerne in der Zeit ein wenig.

    ps:
    Aus Hobby. Kenne ich mich bisschen mit Html, PHP, Datenbank verwalten, einen RootServer einrichten mit allen drum und dran. CMS und Plugins, Komponente, Module verwalten. Aber noch nie einen geschrieben, aus.
    Ich weis. Das ist nicht viel was ich kann. Weil C++, also selber irgend was schreiben (Sripte, Plugins, Module etc habe ich noch nie). Ist aber auch wirkich nur Hobby. Kein Geldverdienen oder so. Nur lernen.
    Hoffe all dies hilft mir ein wenig, doch mal einen Plugin zu schreiben.
    Das andere ist bisschen Langweilig geworden irgend wie.
    Geändert von gebber (01.04.16 um 10:56 Uhr)

  6. #6
    Registrierter Benutzer Avatar von EgLe
    Registriert seit
    Dec 2004
    Beiträge
    182
    Hallo,

    also für Sat Receiver mit enigma2 als Betreibsystem gibt es ja ein Mediaporal als Plugin.
    Kannste höchsten mal dir das anschauen und den Entwickler kontaktieren ob er Dir ein Denkanstoß gibt.

    Falls es für ein anderes Betriebssystem sein soll?

    Aber da wurde das denke ich soweit in Phyton programmiert...
    OS ="Netrunner Rolling" Kernel Linux 4.4.6-1-generic x86_64 KDE-Plasma 5.6.1 KDE Frameworks: 5.20.0
    Mainboard = Intel Desktop Board DH87RL
    CPU = Intel Core I7-4770 3,40GHz mit 8GB DDR2 800 RAM

  7. #7
    Registrierter Benutzer
    Registriert seit
    Mar 2016
    Beiträge
    5
    Zitat Zitat von EgLe Beitrag anzeigen
    Hallo,

    also für Sat Receiver mit enigma2 als Betreibsystem gibt es ja ein Mediaporal als Plugin.
    Kannste höchsten mal dir das anschauen und den Entwickler kontaktieren ob er Dir ein Denkanstoß gibt.

    Falls es für ein anderes Betriebssystem sein soll?

    Aber da wurde das denke ich soweit in Phyton programmiert...
    Richtig. Es ist in Python geschrieben. Und Mediaportal will ich nicht großartig verändern. Mein plugin soll nur im Mediaportal erscheinen, wenn man Mein plugin installiert hat. Mittlerweile habe ich die Struktur/zusammenhänge verstanden. Auch was Mediaportal angeht.
    Zusammenhänge:
    Zum Beispiel, das man mit from und import und kommatrennung, aus fertigen plugins Codezeilen komplett rüber holen kann. Man muss also nicht immer alles neu coden. Wenn man weist was man braucht, kann man es mit from und import alles rüber holen.
    Beispiel:
    Code:
    from Plugins.Extensions.MediaPortal.plugin import _
    from Plugins.Extensions.MediaPortal.resources.imports import *
    from Plugins.Extensions.MediaPortal.additions.germantv import GermanyTVPlayer, GermanyTVPlayer2, GermanyTVPlaylist
    Und wenn man einen httpPlayer haben will, muss man dieses logischerwise im Header stehen haben (from - import etc)
    Oder,
    wenn man Menüs erstellt, das man diese einzeln zuweisen muss. Link1 öffnet einen rtmpPlayer, link2 öffnet einen httpPlayer usw.
    Beispiel:
    Code:
    def layoutFinished(self):
    		self.genreliste.append(('Aktuelles Programm', 1, 'http://www.test.de'))
    		self.genreliste.append(('Filme auf Abruf', 2, 'http://www.test,de/test.m3u8'))
    		self.genreliste.append(('TV-Programmvorschau', 3, 'http://www.test.de/test.avi'))
    		self.ml.setList(map(self._defaultlistcenter, self.genreliste))
    
    	def keyOK(self):
    		genreID = self['liste'].getCurrent()[0][1]
    		genre = self['liste'].getCurrent()[0][0]
    		tvLink = self['liste'].getCurrent()[0][2]
    		if genreID == 1:
    			self.session.open(
    				GermanyTVPlayer2,
    				[(genre, tvLink)],
    				'WorldTV - aktuelles Programm'
    				)
    		else:
    			self.session.open(worldTvListScreen, genreID, tvLink, genre)
    
    class worldTvListScreen(MPScreen):
    
    	def __init__(self, session, genreID, tvLink, wtvGenre):
    		self.genreID = genreID
    		self.tvLink = tvLink
    		self.genreName = wtvGenre
    		self.plugin_path = mp_globals.pluginPath
    		self.skin_path = mp_globals.pluginPath + mp_globals.skinsPath
    		path = "%s/%s/defaultGenreScreen.xml" % (self.skin_path, config.mediaportal.skin.value)
    		if not fileExists(path):
    			path = self.skin_path + mp_globals.skinFallback + "/defaultGenreScreen.xml"
    		with open(path, "r") as f:
    			self.skin = f.read()
    			f.close()
    
    		MPScreen.__init__(self, session)
    
    		self["actions"] = ActionMap(["MP_Actions"], {
    			"0"	: self.closeAll,
    			"ok" : self.keyOK,
    			"cancel" : self.keyCancel,
    			"up" : self.keyUp,
    			"down" : self.keyDown,
    			"right" : self.keyRight,
    			"left" : self.keyLeft
    		}, -1)
    
    		self['title'] = Label(WTV_Version)
    		self['ContentTitle'] = Label("Genre: %s" % self.genreName)
    		self['F1'] = Label(_("Exit"))
    		self.keyLocked = True
    		self.baseUrl = "http://www.test.de"
    
    		self.filmliste = []
    		self.ml = MenuList([], enableWrapAround=True, content=eListboxPythonMultiContent)
    		self['liste'] = self.ml
    
    		self.onLayoutFinish.append(self.layoutFinished)
    
    	def layoutFinished(self):
    		self.keyLocked = True
    		twAgentGetPage(self.tvLink).addCallback(self.genreData).addErrback(self.dataError)
    
    	def genreData(self, data):
    		if self.genreID == 2:
    			wtvDaten = re.findall('<a href="\?v=(.*?)" title="(.*?)".*?<img src="(.*?)".*?_time">(.*?)<', data)
    			if wtvDaten:
    				for (href,title,img,dura) in wtvDaten:
    					self.filmliste.append(('',title.replace(' - ','\n',1).replace('&amp;','&')+' ['+dura+']',href,img))
    				self.keyLocked = False
    			else:
    				self.filmliste.append((_('No videos found!'),'','',''))
    			self.ml.setList(map(self.TvListEntry, self.filmliste))
    		elif self.genreID == 3:
    			m = re.search('<div id="bx_main_c">(.*?)</div>', data, re.S)
    			if m:
    				wtvDaten = re.findall('<td .*?<strong>(.*?)</strong></td>.*?title="(.*?)"><img src="(.*?)".*?onclick=', m.group(1), re.S)
    			if wtvDaten:
    				for (ptime,title,img) in
    Es ist nur ein Beispiel. Wollte nicht das ganze Code hier einfügen. Noch nicht.
    Ich muss nur noch begrifflich alles verstehen was def, else, elif, self, genrelist, menulist usw auf sich hat.
    Grundsätzlich habe ich vieles verstanden.
    Habe auch schon einen Testplugin geschrieben. Irgendwie klappt es noch nicht.
    Wenn ich nicht weiter komme, werde ich eure Hilfe suchen.
    Noch habe ich selber Ideen, wo der Fehler liegen kann bei meinem Plugin

    Etwas zur MediaportalPlugin;
    Nach meinem Verständnis Egal welches Mediaportal man nimmt. Es funktioniert auf alle enigmaSat Receivern. Manchmal muss man nur am Plugin kleine Korrekturen vornehmen, das wars. Beispiel, links zur skins etc. Oder man erstellt einen neuen Ordner mit den zugehörigen Dateien und läd es in das Verzeichnis vom Betriebssystem bzw Image usr/lib..... usw.
    Aber alles in Python geschrieben .py
    Das ist richtig.

    Aber einen Mediaportal für einen Sat Receiver von Grund auf Neu zu schreiben. Weil dieser Receiver einen kompletten anderen Betriebsystem aufbau hat.
    Da wage ich mich noch nicht dran.
    Aber.
    Auch daran habe ich gedacht und habe es im Programm aufgenommen. Für später.
    Ich muss mir jetzt nur noch eine Umgebung schaffen, wo ich an alles schnell dran komme. Werde in der Zukunft nur noch mit Linux arbeiten.
    Geändert von gebber (05.04.16 um 22:34 Uhr)

Ähnliche Themen

  1. Sat-Receiver programmieren?
    Von thenktor im Forum Anwendungen Allgemein, Software
    Antworten: 7
    Letzter Beitrag: 21.10.08, 14:47
  2. OT: AV-Receiver
    Von Leberwurstsaft im Forum Meldungen und Mitglieder
    Antworten: 16
    Letzter Beitrag: 16.10.06, 12:11
  3. DVB-T Receiver an USB1.1
    Von Magggus im Forum Fernsehen
    Antworten: 6
    Letzter Beitrag: 18.07.06, 09:55
  4. Antworten: 1
    Letzter Beitrag: 28.01.05, 18:10
  5. Fernsehen mit Receiver?!
    Von hydronic im Forum Fernsehen
    Antworten: 6
    Letzter Beitrag: 05.05.03, 13:55

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •