Beiträge von frenchie

    Ich habe heute ebenfalls mal versucht, das restfulapi in meinen vdr server einzubinden; trotz neuester cxxtools aus dem svn kriege ich hier die gleichen Fehlermeldungen wie C-3PO (Distri ist OpenSuse 11.3 x64 mit 2.6.34er Kernel)



    hat jemand nen tip hier bitte ? Vielleicht habe ich beim auschecken des svn einen fehler gemacht ? ich hatte mit


    Code
    svn co http://cxxtools.svn.sourceforge.net/svnroot/cxxtools cxxtools


    nach /usr/src/cxxtools ausgecheckt, dann in tags/2.0 gewechselt und dort make und make install ausgeführt (vorher hatte ich die libcxxtools* im yast entfernt)

    iNOB - wie sind Deine Erfahrungen mit HDTV und AC3 sound auf dem TVROI T1 ? Wie bootest Du openelec.tv XBMC ? Vom USB Stick oder SD Karte ?
    izeman - Apple TV kann ich nur für SDTV empfehlen. Habs getestet mit Jailbreak und XBMC, hatte immer Aussetzer bei HDTV... kann sich geändert haben (ist schon zwei Monate her)...

    Also, um mal auf die ursprüngliche Frage zurückzukommen - wie ich das mit dem handling so mache - ich habe mir viele verschiedene Lösungen angeguckt, und für mich persönlich war - trotz der Einschränkungen bzgl. Plugins, Timer, Schneiden etc. - die beste Lösung ein kleiner HDTV fähiger Client (in meinem Fall der XTreamer / Trekstor), Server im Keller, Streaming auf die clients mit streamdev server. Wie geht nun das Ablegen und schneiden ? Nun, ich habe mich damit abgefunden, das Schneiden nicht mehr direkt auf der Couch am Fernseher machen zu können, sondern ich nutze ProjectX. ProjectX läuft auf dem Server und ich mache die Software auf meinem (Windows) Laptop mit XMING (ein X-Windows Server) sichtbar.


    Also auf dem Laptop X-Ming starten


    Auf dem Server eingeben


    Code
    export DISPLAY=192.168.99.99:0 && projectx


    wobei 192.168.99.99 jetzt im Beispiel die IP von meinem Laptop ist.


    Dann kann ich mit ProjectX relativ problemlos und zügig auf meiner Windows-Box (geht natürlich auch unter Linux) das Video schneiden (kein lokales kopieren notwendig, die Software läuft ja auf dem Server) und wandele sie dann in eine große .ts Datei um (Projectx - Ausgabeformat TS).


    Das wars, schöne Folderstruktur, sauber geschnittene Videos, die sich problemlos auf allen Systemen abspielen lassen. Video-Subdirectory noch als NFS share exportiert und im xtreamer als Favorit eingebunden.

    Hallo Gero,


    vielen Dank für die ausführlichen Antworten. Ich hoffe ich habe dieses Wochenende ein bischen Zeit zum Testen. So langsam wird das vdr Konzept bei mir im Haus richtig rund mit XStreamer clients und HDTV, fehlt nur noch was zum Schneiden :)


    Nur kurz auf Deine Frage mit den Usern :


    Zitat

    Spannend


    Also wenn Du mir verrätst, wie ich abfragen kann, ob es einen Benutzer, bzw. eine Gruppe schon gibt und wie ich sie anlege, bzw. ändere, ....
    Bin gerne bereit, die Installateure entsprechend anzupassen.


    Geht vielleicht mit useradd und groupadd ? Falls der user schon existiert müßten die doch !=0 zurückgeben. Anlegen kannst Du sie ja dann ruhig mit default-Werten (d.h. ggf. in der /etc/passwd), verschieben kann man sie ja dann einfach...



    Gruß,
    Marc

    Zitat

    ja. sollte. dachte ich auch. aber ich bekomm nur ruckeln und buffer overruns ....
    funkt's bei sonstjemandem?


    Kann ich bestätigen, live TV geht bei mir super in SD mit XBMC auf dem ATV2 (untethered jailbreak unter Windows mit sn0wbreeze und tinyumbrella), bei HD TV ruckelt's arg, oft kommt gar kein Video.

    Die anderen Menüpunkte ("Was läuft jetzt", "Timer", "Aufnahmen") gehen noch nicht, ist fake. Aber mir schwebt hier eine Lösung vor mit PHP skripten auf dem VDR Server, der sich an den SVDRP port connected und die entsprechenden Daten für den client aufbereitet. Damit ließen sich dann folgende Anforderungen bedienen :


    - Abfragen der EPG Informationen


    - Aufnehmen einer Sendung (Erstellen eines Timers)


    - Bearbeiten / löschen von Timern


    - Browsen und ansehen von Aufnahmen - momentan müssen die 0001.ts.... manuell ausgewählt werden. Mithilfe eines PHP backends ließen sich die Verzeichnisse besser aufbereiten.



    Vielleicht hat ja jemand Lust mitzumachen und ein bischen was zu coden ?

    Der Xtreamer oder auch der Trekstor TV eignen sich ja wunderbar als Streaming client für vdr Inhalte, da sie folgende Vorzüge aufweisen :


    - klein
    - lüfterlos (Trekstor)
    - ruckelfreies Abspielen von HD Inhalten
    - mit ca. 100-130 EUR (Stand Juni/Juli 2011) wesentlich günstiger als ein PC


    Die Nachteile waren jedoch bisher :


    - kein direktes Abspielen von unicast streams (d.h. z.B. vdr über streamdev-server), hierzu war entweder ein gepatchtes ushare auf dem xtreamer erforderlich oder Einbindung von mediatomb oder einem anderen UPNP Server.
    - durch die daraus resultierende komplexe Menüstruktur überhaupt nicht Ehefrauen-/Freundinnen-tauglich.


    Jetzt habe ich mich, inspiriert durch armelle's post hier : Xtreamer SideWinder Media Player alias Trekstor TV doch mal dieses Wochenende hingesetzt um zu sehen, was möglich ist.


    Das Resultat ist - wie ich finde - recht vielversprechend. Durch eine einfache Modifikation der Xtreamering-RSS-Feeds läßt sich ein einfaches vdr Menü einbinden, das von einem vdr Server mit streamdev-server plugin die Kanalliste abfrägt (http://server:3000/channels.m3u), diese dann in einen RSS Feed umwandelt und auf dem Xtreamer/Trekstor anzeigt.


    [Blockierte Grafik: http://vdr.ahlgrim.net/bild1.jpg]


    [Blockierte Grafik: http://vdr.ahlgrim.net/bild2.jpg]


    [Blockierte Grafik: http://vdr.ahlgrim.net/bild3.jpg]


    [Blockierte Grafik: http://vdr.ahlgrim.net/bild4.jpg]


    Hierzu benötigen wir folgendes :


    1. Einen Xtreamer oder Trekstor TV mit Firmware mindestens 2.5.2 (wegen Xtreamering)
    2. einen FAT32-formatierten USB Stick
    3. mavvy's fakeshell http://www.mavvy.net/reviews/xtreamer/hands-on/telnet um Telnet-Zugriff auf die Box zu kriegen
    4. einen Telnet-client, z.B. putty
    5. einen vdr Server mit streamdev-server plugin


    Das Xtreamering ruft eine Datei index.php auf im Verzeichnis /scripts/Xtreamering auf dem USB-Stick (oder auf der Festplatte, mein xtreamer hat keine Platte). Also einfach die folgende Datei auf einen USB Stick kopieren in /scripts/Xtreamering , USB stick einstecken und den xtreamer einschalten.



    Wählt man nun den Menüpunkt "Fernsehen" aus, wird das Script live-tv.php ausgeführt. Es muß im gleichen Verzeichnis liegen :


    Das script lädt die Playliste vom streamdev-server, wandelt sie in einen RSS Feed um und zeigt sie als einfache Liste auf dem Bildschirm an.


    Soweit, so gut.


    Falls wir nun den Xtreamer ohne USB-Stick oder Festplatte betreiben möchten, geht das natürlich auch - nur daß wir dann direkt mit einer RSS Datei einsteigen müssen und die php Datei über einen Link auf dem lokalen Webserver ablegen müssen. Der Webserver auf dem xtreamer muß also aktiviert sein !


    Folgende Schritte sind nun nötig :
    1. mavvy's fakeshell (siehe link oben) auf den USB Stick kopieren
    2. USB Stick in den Xtreamer stecken
    3. mit einem Webbrowser http://<xstreamer-ip>/media/sda1/fakeshell.php aufrufen. Es erscheint eine Webseite, die an eine Shell erinnert.
    4. Den Menüpunkt TELNETD auswählen und Enter drücken.


    Die fakeshell.php ruft nun busybox mit dem telnetd Parameter auf und startet einen telnet daemon auf dem xtreamer


    5. Mit Telnet auf den xtreamer verbinden und folgende Befehle eingeben (Annahme : die Scripts von oben befinden sich in /mnt/usbmounts/sda1/scripts/Xtreamering/index.php und live-tv.php)


    Code
    cd /usr/local/bin/scripts 
    mv home_off.rss home_off.rss.original 
    cp /mnt/usbmounts/sda1/scripts/Xtreamering/index.php home_off.rss 
    cp /mnt/usbmounts/sda1/scripts/Xtreamering/live-tv.php /sbin/www/ 
    vi home_off.rss


    Im vi müssen wir nun noch zwei kleine Änderungen vornehmen, um


    1. PHP code aus dem rss feed entfernen
    2. die live-tv.php vom lokalen Webserver aufrufen


    Hierzu die ersten Zeilen wie folgt ändern.


    aus

    Code
    <? 
    echo "<?xml version='1.0' ?>\n"; 
    ?> 
    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">


    machen wir

    XML
    <?xml version='1.0' ?> 
    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">


    und aus

    Code
    <item> 
    <title>Fernsehen</title> 
    <link>live-tv.php</link> 
    <description>Live TV Signal</description> 
    </item>


    wird

    Code
    <item> 
    <title>Fernsehen</title> 
    <link>http://127.0.0.1/live-tv.php</link> 
    <description>Live TV Signal</description> 
    </item>


    Das war's - jetzt kann einfach durch klicken auf das "Xtreamering" Menü ferngesehen werden. Natürlich muß in der live-tv.php noch der Servername und ggf. der port angepaßt werden. Da ich eine lange channels.conf habe, habe ich die Länge auf 100 Kanäle begrenzt. Läßt sich aber auch einfach ändern (Zeilen 37-40)

    Ja, das wäre denkbar. Ein Diseqc Switch macht ja auch nichts anderes. Allerdings brauchst Du nicht nur zwei, sondern vier Kabel, da moderne LNBs nicht nur horizontal/vertikal sondern auch zwischen einem hohen und niedrigen Frequenzband umschalten. Also vertikal-niedrig, vertikal-hoch, horizontal-niedrig und horizontal-hoch.

    Um mehrere Satelliten zu empfangen hast Du drei Möglichkeiten :


    1. "Schielende" LNB, d.h. zwei LNBs auf einer Halterung die in leicht versetztem Winkel beide Satelliten anschielen
    2. Rotor / Polarmount - dann aber immer nur einen Satelliten gleichzeitig
    3. Eine Antenne für mehrere LNBs wie z.B. die WaveFrontier Torroidal Antenne.


    Du brauchst aber im Fall 1 und 3 idealerweise einen Diseqc Switch. Es sei denn Du hast mehrere DVB-S Karten und empfängst mit unterschiedlichen Karten unterschiedliche Satelliten.

    Codepage ? Umlaute ? benenne doch mal spasseshalber "Säulen" in "Saeulen" um.... Leerzeichen sind auch immer gute Kandidaten für Scripte, gegen die Wand zu fahren... Also einfach mal alle Sonderzeichen und Leerzeichen aus dem Pfad der Aufnahme rausnehmen und nochmal probieren.

    Nachdem der Thread zu vdrAssistant mittlerweile ein bischen unhandlich wird, mache ich hier mal einen neuen auf.


    Ich komme bei der Installation von VdrAssistant leider nicht weiter. Ich habe jetzt zwei Tage verschiedene Varianten probiert. Hier der Status (falls jemand nicht das ganze Geraffel lesen will, am Ende des posts sind die eigentlichen Fragen) :


    Beim Installieren mit den Installateuren der Version 261 schaffe ich es leider nicht, mit Hilfe des batch-Installers die Datenbanken anzulegen (ja, ich habe OpenSuse). Ich habe daraufhin die Datenbanken manuell angelegt wie in der README beschrieben. Der Installer läuft auch durch (allerdings nur als root - hierzu später mehr), legt aber natürlich keine Services an. Die habe ich dann ebenfalls von Hand angelegt. Der Service findet diese auch, hat dann aber einige Probleme beim Starten.


    Die Probleme beim Anlegen der Datenbank und beim Starten der Services sind vor allem bedingt durch meine Konfiguration :


    Ich betreibe ein Cluster-System mit heartbeat und drbd. Das ist weiter nichts schlimmes oder ungewöhnliches, eine Anwendung muß nicht speziell cluster-tauglich sein, um so betrieben werden zu können. Lediglich bei zwei Punkten hakt es in der Installation - Der Installateur geht bei dem Anlegen von Benutzern davon aus, daß diese zwingend in der /etc/passwd angelegt sind. Das ist bei mir nicht der Fall, bei mir läuft alles über OpenLdap. Der sudo Aufruf schlägt dann leider fehl. Zweitens kann die Datenbank nicht installiert werden, da der Installateur (wie ich später im source gelesen habe) bei SuSe von einigen (leider nicht immer zutreffenden) Vorgaben ausgeht. Entgegen der Annahme der Installationsroutine läßt sich ein lokaler Server sehr wohl über die NEtzwerkadresse ansprechen. Drittens liegt beim Starten der Services ein Problem dahingehend vor, daß meine Cluster-Resourcen über einen DNS Namen angesprochen werden, der nicht dem Hostnamen entspricht. Der ServiceManager sucht jedoch nach hostname. Das ist bei mir leider nicht erwünscht, da hostname auf dem falschen Netzwerkinterface lauschen würde.


    Soweit so gut, ich erwarte jetzt nicht, daß irgendjemand diese (sehr eigene) Konfiguration unterstützt. Ich glaube auch, daß der bessere Ansatz das Bauen der Quelltexte aus dem SVN ist. Habe ich auch versucht mit der Version 290. Hier sind ja auch schon einige Probleme mit sudo etc. adressiert worden. Beim Bauen der Quelltexte bin ich auf folgende Probleme gestoßen (nehmen wir mal an ich arbeite im Verzeichnis /usr/src/vdra, srjcframes ist in /usr/src/vdra/srjcframes und vdrassistant in /usr/src/vdra/vdrassistant) :


    1. Ich habe keine vollständige Dokumentation zum Verlinken und zum Anlegen der Verzeichnisse gefunden. Beim Entpacken von srjrcframes und vdrassistant aus dem svn muß (dokumentiert) das vdra/common verzeichnis auf vdra/srjcframes/common verlinkt werden. Daraufhin (hier halb dokumentiert) im srjcframes Verzeichnis :


    Code
    ant -f srbuild.xml build

    und

    Code
    ant -f srbuild.xml dist


    Die gleichen beiden Befehle im vdrassistant Verzeichnis schlagen fehl, da einige 3rdParty Komponenten in der bestehenden Konstellation nicht gefunden werden. (common.loggings etc.). Abhilfe schafft ein


    Code
    cd /usr/src/vdra
    for i in `ls -1 common/*` ; do ln -s common/$i vdrassistant/common/$i ; done ;


    also einfach verlinken der fehlenden Komponenten. Nicht schön aber es geht (wenigstens der Build). Damit "dist" auch geht muß noch


    Code
    cd /usr/src/vdra/vdrassistant
    mkdir xdist
    mkdir etc
    mkdir res
    mkdir srv
    ln -s xdist ../xdist


    ausgeführt werden. Ist jetzt alles nicht so dramatisch, ich hab halt keine Doku gefunden und alles mit logging etc. langwierig rausfinden müssen.


    2. Jetzt habe ich also den kompletten Build und kann auch den grafischen Installateur aufrufen, der mir dann auch die Datenbank prüft und die SQL Statements fürs Update gibt. Soweit so gut, Datenbank-Schema aktualisiert. Leider habe ich jetzt keinen Batch-Installateur. Ich habe rausgefunden, daß das Skript vdrassistant/common/install/mkInstaller.sh anhand der Stub-Datei VdrAssistant.stub und eines tarfiles (das vermutlich die zu installierenden Komponenten enthält) das .run File erzeugt. Leider weiß ich nicht, welche Verzeichnisse ich mkInstaller.sh angeben muß. Weiterhin finde ich auch nach den "build" und "dist" Befehlen keine SRServiceManager.jar im vdrassistant Verzeichnis.


    Hier also die abschließenden Fragen (puh, langer Artikel - liest noch jemand mit überhaupt ?)


    => Wie erstelle ich die SRServiceManager.jar ?
    => Welche Optionen muß ich der mkInstaller.sh mitgeben, um den batch-Installateur zu erstellen ?


    Wenn ich diese beiden Fragen beantwortet habe, kann ich die notwendigen patches der Stubfiles für meine Konfig selber erstellen.


    Vielen Dank schonmal im Voraus an alle die helfen können.

    Kannst Du vielleicht mal Deine Mediatomb config posten bitte ? Ich habe einen Samsung LE40C579 und möchte Live TV mit Mediatomb schauen (ähnlich wie mit der PS3, hier im Forum an mehreren Stellen beschrieben). Kannst Du über DLNA auch Live TV schauen ?

    Zitat


    Mit dem manuellen Befehl gehts nur leider über den VDR Aufruf nicht.


    Ah sorry, das hatte ich zu spät gesehen.


    Bist Du eigentlich sicher, daß der Befehl


    Code
    /usr/local/bin/vdrpoweroff.sh


    mit sudo ausgeführt wird ? Mit welchem -s Parameter wurde vdr gestartet ?


    Vermutlich wird das script als user vdruser ausgeführt. Ein Eintrag in der Datei /etc/sudoers bedeutet ja nicht, daß jeder Aufruf dieses Scripts automatisch als Superuser gemacht wird, sondern dort steht nur, wer unter welchen Umständen den Befehl sudo ausführen darf.


    Testen könnten wir das ganze vielleicht einfach dadurch, daß wir nicht das ganze Script sondern nur den poweroff Befehl explizit mit sudo ausführen. Du mußt also in /etc/sudoers den Eintrag so erweitern :


    Code
    vdruser ALL = (ALL) NOPASSWD: /usr/local/bin/vdrpoweroff.sh,/sbin/poweroff


    und das script /usr/local/bin/vdrpoweroff.sh sollte so aussehen :


    Bash
    #!/bin/bash 
    sudo /sbin/poweroff


    was passiert dann ?


    Bist Du eigentlich sicher, daß der vdr Prozess unter vdruser ausgeführt wird ?

    Also an /etc/sudoers liegt es definitiv nicht, da das Skript ja ausgeführt wird. Wird das System auch nach längerem Warten nicht heruntergefahren ? Könnte z.B. an einem Modul liegen, das sich nicht entladen läßt. Änder doch mal spasseshalber das Script in



    und mach einen sudo auf der Konsole. Wird vdr gestoppt ? Werden die Module entladen ? Kommt er bis zum poweroff ?


    Was sagt ps -ef nach dem starten des scripts ?


    Module mußt Du ggf. anpassen (z.B. budget_core budget_av)

    hi,


    methodus : Vielen Dankfür das tolle Plugin, ich hoffe ich kann meinen Wohnzimmer PC bald durch ein DLNA-TV ersetzen :)


    Ich habe noch ein Problem im plugin gefunden. Manchmal läßt sich mit XBMC der TV-Ordner nicht öffnen (er versucht ihn zu öfnen, geht dann aber gleich wieder auf den übergeordneten video-folder.


    Ein Löschen der EPG Daten "löst" das Problem, doch dann werden natürlich im TV Ordner nur die Kanalnamen angezeigt.


    Ich vermute, das liegt an Sonderzeichen (< oder > vielleicht ? - das könnte das xml file durcheinander bringen) im EPG.


    Momentan geht es, so daß ich leider kein Beispiel XML posten kann.


    Der Fehler entsteht vermutlich in den Zeilen 434ff. der database/metadata.cpp. in cMediaDatabase::updateChannelEPG()


    Vielleicht müßte dort noch ein check der EPG Daten erfolgen.


    btw : auf Deiner Proket-Homepage steht, Ihr wollt mit einer Netgear EVA2000 testen. Habt Ihr auch schon mal an extreamer gedacht ? Die EVA2000 macht ja nur 480p, der extreamer 1080p.