[ANNOUNCE] vdr-scripting 0.0.1 - proof-of-concept release
- Tobi
- Geschlossen
-
-
Ich denke für Sachen die flexibel gehalten werden müssen und fürs Prototyping und ähnliche Anwendungen passt es schon. Und tvmovie2vdr (da es hier grade angeführt wurde) ist ja nicht per se ein Speicherfresser und langsam. Das ist halt gewachsen und der gewählte Ansatz, der zum Verarbeiten gewählt wurde ist nicht in jedem Fall ideal. Meines Wissens nach wird das auch grade überarbeitet. Was meines Erachtens für ein Plugin spricht ist, ist dass man nicht über svdrp gehen muss um die Daten reinzupumpen (der Grund überhaupt), man (irgendwann) auch per Menü Kanäle/Mapping auswählen kann, etc. Die Geschwindigkeit kommt beim tvm2vdr plugin hauptsächlich von der gewählten Bilbliothek.
-
Wie wird denn die Verbindung C++<->WhatEver hergestellt?
Ich als Webentwickler, der schon seit PHP Version 3.x fast alles eben in PHP löst, wäre für eine PHP-Anbindung sehr dankbar - vielleicht kann ich da ja einen Teil beisteuern?
-
Thomas: Die Verbindung zu Scriptsprache stellt SWIG her. Dar Rest, wie das Einbetten des Interpreters, die Client-API und die SWIG-Bindings sind Handarbeit. (Es gibt zwar Swig-Bindings auch für PHP, aber kann man PHP auch in eine andere Anwendung einbetten?)
Momentan ist alles mehr oder weniger fest mit Ruby verdrahtet. Ich möchte erstmal sehen, wie weit ich damit komme, bevor ich die Skript-Schnittstelle abstrahiere, sodass auch andere Sprachen eingebunden werden können. Das grobe Ziel ist Version 1.0 mit Ruby bis zum VDR-Camp soweit zu bringen, dass ich das Vodcatcher und das Menuorg-Plugin in Ruby neu implementieren kann.
Vielleicht laufe ich mit der Lösung ja auch in eine Sackgasse - das muss ich erst noch rausfinden.
Tobias
-
Zitat
Original von Thomas
Ich als Webentwickler, der schon seit PHP Version 3.x fast alles eben in PHP löst, wäre für eine PHP-Anbindung sehr dankbar - vielleicht kann ich da ja einen Teil beisteuern?Da schliesse ich mich an...
-
Hallo Tobi,
ZitatOriginal von Tobi
Ranga: 1.8.6 sollte OK sein. Hab's allerdings nur mit 1.8.7 und 1.9 getestet. Hast du die Beispiele aus examples/ nach plugins/ kopiert oder ein eigenes Plugin geschrieben?Tobias
Ja ich habe die Beispiele kopiert und nun festgestellt, dass es funktioniert wenn nur das HelloWorld Plugin in das Verzeichnis plugins/ kopiert wird.
Wenn allerdings RssReader.rb im plugins Verzeichnis ist raucht VDR ab.
Ich vermute dass einige required module nicht vorhanden sind und das in der Scripting-Version 0.0.1 noch nicht abgefangen wird.
Wo gibt es denn das Gem "simple-rss"?
Gruß
Ranga[EDIT]
Habe das Gem "simple-rss" nachinstalliert. Nun klappt es perfekt!
RUBY Fehler sollten also noch im Scripting-Plugin abgefangen werden -
Zitat
Originally posted by Tobi
Ist ja nicht so, dass ich grundsätzlich was gegen C++ hätte, aber da ich in den letzten Jahren beruflich fast auschließlich nur noch in C# programmiere, bin ich wohl etwas vewöhnt.
hach, und ich verwoehn mich ab und an auch mal gerne mit c++, ist das bequem wenn man nur in c programmiert -
Ranga: Im einfachsten Fall: sudo gem install simple-rss
Ansonsten: http://simple-rss.rubyforge.org/
Ich sollte mir wohl besser ein paar Beispiele ausdenken, die ohne 3'rd party-Libs auskommen.
Tobias
[EDIT] Ok, da warst du schneller als ich
Das mit dem Abfangen der Fehler ist tatsächlich noch auf der Todo-List.
-
Zitat
Original von bruno701
Da schliesse ich mich an...
Ich mich auch.
CafeDelMar
-
Zitat
Originally posted by Keine_Ahnung
OK, etwas OT hier, ...OT --> [ANNOUNCE] OSD-Server 0.1.2 + Perl-Module
Gruß,
Udo
-
Zitat
Original von Tobi
Ein VDR-Plugin das es ermöglicht, Plugins in einer dynamischen Skriptsprache zu schreiben.Wird sowas nicht unnötig langsam?
-
wirbel: Kommt drauf an, was man macht. Für ein paar OSD-Menus reicht es allemal. Eine cDevice-Implementierung die mit den DVB-Streams o.ä. hantiert hab ich noch nicht probiert, da sind Skriptsprachen klar im Nachteil, was sich durch ein paar C-Extensions aber ausgleichen ließe.
Ich denke nicht, dass Geschwindigkeit ein Problem ist, aber es gibt nur einen Weg das rauszufinden
Tobias
-
Okay, das stimmt. Bei geschwindigkeitsunabhängigen Lösungen ist das völlig okay.
-
Die Idee ist gut, ich selber schreibe zwar fast alles in c/c++ aber ein paar Sachen gehen einfach schneller in anderen Sprachen.
Hauptsache ich muss nachher nicht 5 Interpreter, 3vm's und noch 20 andere Sachen auf meinem VDR haben um die ganzen Plugins laufen zu lassen.
-
Für eine Sprache festlegen wäre schon ganz gut... entweder Java oder PHP (wobei ersteres nur bedingt ne scriptsprache ist)
-
Zitat
Originally posted by decembersoul
Hauptsache ich muss nachher nicht 5 Interpreter, 3vm's und noch 20 andere Sachen auf meinem VDR haben um die ganzen Plugins laufen zu lassen.Ist es denn jetzt bei den Plugins anderst?
Einige habe ich immer noch nicht zum laufen bekommen weil ich die Abhängikeiten nicht installiert bekomme.
Bei anderen muß ich mich entscheiden welches ich will weil sie die gleichen Pakete, aber in unterschiedlichen Version haben wollen.Also, das es hier schlimmer wird glaube ich wirklich nicht Hängt dann halt immer von den Plugins ab was sie dann nutzen.
Wenigsten braucht man dann bei den Script-Plugins nicht auf die Patchjagt zu gehen wenn mal wieder ne neue VDR Version rauskommt.
cu
-
-
Zitat
Original von methodus
Für eine Sprache festlegen wäre schon ganz gut... entweder Java oder PHP (wobei ersteres nur bedingt ne scriptsprache ist)FYI
Java ist zwar keine Scriptsprache aber GROOVY, die wiederum in der Standard JAVA VM läuft und auch beliebige JAVA Klassen nutzen kann
Gruß
Ranga -
Zitat
Original von decembersoul
Hauptsache ich muss nachher nicht 5 Interpreter, 3vm's und noch 20 andere Sachen auf meinem VDR haben um die ganzen Plugins laufen zu lassen.
Genau das ist auch meine Befürchtung.
Prinzipiell is Vielfalt bei der Wahl der Programmier-/Skriptsprache ja nicht schlecht, aber...meine Vorstellung eines idealen VDR ist eine dedizierte Maschine mit einem !kleinen! nur auf die Bedürfnisse von VDR zugeschnittenem Betriebssystem.
Also "native" VDR-Plugins, kompilierte selbstständig (ohne VM/Interpreter) lauffähige Software und vielleicht noch ein paar Shellskripte.Aber schon jetzt muss ich Perl und evtl. Java installieren, jetzt willst du noch das ich Ruby dazupacke, da du ja auch beabsichtigst so grundlegende Dinge wie menuorg so zu implementieren.
Ich möchte dich in keiner Weise bei deinen Bemühungen aufhalten und natürlich hast du das Recht dir deine Programmiersprache selbst auszuwählen.
Ich wollte nur mal kundtun, dass sich von Interpretern und VMs auf einem VDR System wenig halte. -
Hab deine Meinung (und die der anderen) vernommen, aber mich würde natürlich interessieren, was genau dich an einem Interpeter stört. Ist es einfacht nur die Installationsgröße?
Ruby bringt pi * Daumen keine 7 MB auf die Waage (hoffentlich irre ich mich da jetzt nicht...):
http://packages.debian.org/lenny/ruby1.8
http://packages.debian.org/lenny/libruby1.8Wieviele Sekunden VDR-Aufzeichnung sind das?
Ich wette dein VDR ist mit einem Perl-Interpreter bestückt. Der kommt mit mind. 30 MB schon etwas mächtiger daher:
http://packages.debian.org/lenny/perl
http://packages.debian.org/lenny/perl-base
http://packages.debian.org/lenny/perl-modules(Das sind jetzt alles nur Werte aus den Debian-Paketen - ich denke, es geht auch kleiner)
Die Installationsgröße kann es meiner Meinung nach also nicht sein.
Ist es der Installations-Aufwand? Bei VDR-Distris wie linvdr (RIP) ist das sicher ein Problem. Aber mit Gentoo, Debian o.ä. als Basis sollte das kein Problem sein.
Oder sind es vielleicht Performance-Bedenken? Die Zeiten als ein VDR noch auf einem 40MHz-Rechner seinen Dienst tat sind passé.
Natürlich ist eine Interpreter-Sprache nicht so performant wie compilierter C-Code. Aber erfahrungsgemäß spielt das nur selten eine Rolle.Ich mache das Experiment mit vdr-scripting (und im Moment ist es nur ein Experiment!) ganz einfach deshalb, weil ich mir davon einfacher wart- und erweiterbare (Ruby-)Plugins erhoffe als es bis jetzt mit C++ möglich ist. Die Weiterentwicklung des Vodcatcher-Plugins schiebe ich jetzt schon eine halbe Ewigkeit vor mir her. Deswegen versuche ich das jetzt mal auf einem neuen Weg - just for Fun, denn der Spaß an der Sache ist nunmal der Hauptantrieb bei OpenSource
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!