Posts by creiser

    Hallo Hampelratte!

    Ich haette da ein paar Anregungen, die ich zur Diskussion stellen moechte:

    1.) Parser Entwickler Kit

    Hast Du Dir schonmal ueberlegt, einen "Parser Entwickler Kit" zur Verfuegung zu stellen? Ich stelle mir das so vor: Irgendwo kann ich ein Paket/tar/zip herunterladen, in dem ich eine Anleitung finde, welche Linux-Pakete ich installieren muss, und das die Entwicklungsumgebung beinhaltet, die ich brauche, um ausgehend von einem generischen Beispielsparser massgeschneiderte Parser fuer andere Web-Seiten zu basteln. Natuerlich mit ein bisschen halbwegs verstaendlicher Anleitung. Auch wenn ich kein Java kann, habe ich doch vor etlichen Jahren beruflich C und C++-Programme geschrieben und auch schon in ein paar anderen Sprachen programmiert. Da sollte die Anpassung an eine weitere Web-Seite nicht so schwierig sein. Genauso koennten sich unter diesen Voraussetzungen noch ein paar andere finden, die auch weitere Web-Seiten angehen, und die Menge der mit dem VCH verwendbaren Web-Seiten steigt deutlich schneller. Ausserdem liegt nicht die ganze Arbeit bei Dir.

    2.) Nach Abspielen zur zuletzt verwendeten Seite

    Jedes Mal, wenn ich ein Video gestartet habe, muss ich (egal ob fertig angeschaut oder abgebrochen) muss ich wieder durch den ganzen Baum um mir z. B. das naechste Video der selben Seite zu kommen. Waere es moeglich, gleich beim naechsten VCH-Aufruf wieder auf der letzten Seite zu landen? (Zurueck, oder Hinauf koennte zur Herausforderung werden.)

    3.) Related Videos bei Youtube

    Die URL fuer related Videos bei Youtube ist relativ trivial, allerdings muss die ID des Ausgangsvideos drinnen stehen. Das laesst sich relativ schwer fix eintragen. Der VCH koennte sich aber merken, welche ID zuletzt angeschaut wurde, und dementsprechend bei der naechsten Auswahl von Youtube auch den Link zu den related Videos anbieten.

    Was haeltst Du davon, und was meinen andere dazu?

    mfg
    CR

    Ich rede mal absichtlich kurz mal an Dir vorbei. Ich habe noch kein youtube-video gefunden, wo bei mir mit FLV der Ton funktioniert hat. Habe aber auch nicht lange gesucht, weil mp4 geht.

    Das ist aber xineliboutput mit der Hardware-Unterstuetzung eines VIA-Brettls.

    Ich gehe davon aus, dass auf youtuebe immer irgendwelche Videos zu finden sein werden, die mit irgendwelchen Playern (incl. Mplayer und Xine) nicht so wirklich ganz funktionieren werden. Ich habe es aufgegeben, das wirklich zu analysieren, und finde mich damit ab, dass ich das ein oder andere Video halt nicht sehe.

    mfg
    CR

    Quote

    Originally posted by creiser
    Danke fuer die Antwort, mit den mehreren Instanzen des vodcatcher helpers auf einem Rechner werde ich mich bei Zeiten herumspielen. Schade, dass die Variante mit den Parametern nicht so leicht zu realisieren ist.

    Nun ich habe endlich dafuer Zeit gefunden, und wenn ich so ein tolles Tool mit einer kleinen Anleitung fuer einen speziellen Anwendungsfall unterstuetzen kann, freue ich mich die Gelegenheit zu haben, der Comunity etwas zurueck zu geben.

    Ausgangssituation: Ich habe zwei Instanzen von VDR auf einem Server laufen, um von mehreren Computern aus mit xineliboutput zugleich verschiedene Programme schauen zu koennen (nicht ich allein ;) Auf all diesen Instanzen moechte ich auch den VodCatcher Helper verwenden koennen.

    Der VodCatcher Helper verwendet (per default) zwei Ports. 8080 fuer das Web-Interface und 6666 fuer die remote shell. Ausserdem wird im Helper eingetragen, welche Ports des vdrs er fuer svdr und fuer den OSDServer verwenden soll. U. a. aus dem zweiten Grund ist es daher nicht moeglich, dass ein VCH mehrere VDRs bedient. Man muss zwei VCHs laufen haben, und das geht nur, wenn sie nicht die selben Ports verwenden wollen.

    Da der VCH in seinen (Install-)Verzeichnissen auch diverse Files ablegt, bedeutet das zunaechst, den VCH zweimal in unterschiedlichen Verzeichnissen auspacken.

    Danach muss man ihm beibringen, dass er die remote-shell nicht verwendet. Wenn man ihn noch nie gestartet hat geht das am einfachsten, indem man org.apache.felix.shell.remote-1.0.2.jar aus dem Verzeichnis bundles loescht. Sonst muss man vorher entweder wie von hampelratte beschrieben die remote shell stoppen oder wirklich den java-prozess killen. Damit ist man die remote shell und den Port 6666 los. Beim Starten beschwert sich der VCH zwar darueber, aber das stoert nicht weiter.

    Im File conf/config.properties gibt es einen Eingrag "org.osgi.service.http.port=8080". Das ist die Portnummer, ueber den man den VCH mit dem Web-Browser erreicht. Hier muss man bei einem VCH einen anderen Port eintragen.

    Jetzt braucht man nur noch beide VCHs sicherheitshalber von verschiedenen Usern starten und es kann los gehen. Ich habe nicht getestet, ob es auch mit einem User und verschiedenen Verzeichnissen funktioniert.

    Ich moechte nur noch empfehlen, ab diesem Zeitpunkt *sehr* konzentriert zu arbeiten. Man hat zwei verschiedene Web-Seiten der zwei verschiedenen VCHs, die vollkommen gleich aussehen, und moechte damit zwei verschiedene VDRs ansprechen. Der einzige Unterschied ist die Port-Nummer in der URL beim Browser oben. Ich bin ein paar Mal durcheinander gekommen.

    Jedenfalls gilt es noch, die Ports fuer svdr und OSDserver richtig einzutragen, und auch die Zeile in der commands.conf der beiden VDRs richtig anzupassen (den selben http-port verwenden, wie in conf/config.properties), und das ganze funktioniert wirklich.

    Ach ja, noch ein Hinweis: Saemtliche Aktualisierungen muessen natuerlich immer in beiden VCHs durchgefuehrt werden. Dafuer kann man aber auch in jedem unterschiedliche Feeds verwenden.

    Was ich hier fuer zwei VDRs mit zwei VCHs beschrieben habe, funktioniert natuerlich fuer n VDRs mit m VCHs genauso (fuer n und m > 1 und m <=n).

    Ich hoffe, damit geholfen zu haben.

    mfg
    CR

    Danke fuer die Antwort, mit den mehreren Instanzen des vodcatcher helpers auf einem Rechner werde ich mich bei Zeiten herumspielen. Schade, dass die Variante mit den Parametern nicht so leicht zu realisieren ist.

    Zu den YouTube-Search-URIs: Du kannst Dir unter der von mir angegebenen URL beliebige generieren. Ich hoffe, dass dieses cut-and-paste richtig rueber kommt, weil hier ziemlich offensichtlich ein Problem im Bereich des escapens von html-code vorliegt. Ich habe z. B. eine URI generiert, die mir Suchergebnisse fuer Videos aus der Kategorie Comedy liefern soll:

    http://gdata.youtube.com/feeds/api/videos/-/{http://gdata.youtube.com/schemas/2007/categories.cat}Comedy

    (natuerlich eine Zeile). Mir ist aufgefallen, dass auch der firefox damit Probleme hat, wenn man nicht richtig escapet.

    http://gdata.youtube.com/feeds/api/vide…es.cat%7DComedy

    funktioniert dann aber sowohl im Firefox als auch in der Youtube Eingabemaske bei Dir. Es duerfte sich also um irgendein Input-Validation und Charecter-Conversation-Problem handeln. Ich glaube, es ist nicht jedermann zuzumuten, im Kopf diese Character-Umrechnung durchzufuehren.

    Was mir dabei noch aufgefallen ist: Den Titel, der dann im Menue erscheint, generierst Du aus der Web-Seite. Da kommt es vor, dass verschiedene Seiten/Suchen gleich heissen. Das ist ein wenig unpraktisch.

    mfg
    CR

    Dass ich auch von dem Tool begeistert bin, muss ich wohl nicht extra erwaehnen.

    Ich habe aber eine zusaetzliche Herausforderung. Ich habe mindestens zwei Instanzen von VDR mit xineliboutput laufen. Durch die Konfiguration des OSDserver- und des SVDR-Ports im Helper kann eine Instanz des helpers immer nur einen VDR bedienen. Ich habe mir ein paar Sachen ueberlegt, bin dann aber leider nicht mehr weiter gekommen.

    * Ich koennte mehrere Instanzen des vodcatcher-Helpers laufen lassen. Ich habe auch herausgefunden, wie ich mit address=nnnn einen anderen Port fuer das Web-Frontend setzen kann. Nur fuer den 6666-er Port weiss ich nicht wie ich ihn umstelle, womit diese Variante fuer mich nicht funktioniert. Ausserdem waere ich nicht sehr begeistert, mehrere Instanzen zu brauchen.

    * Toll waere es, wenn man beim curl-Aufruf im commands.conf den OSDserver- und SVDR-Port als Parameter (z. B. http://combo.i.reiser.at:8080/osdserver&svdr=2002&osd=2011) mitgeben koennte, zu denen sich der Helper dann verbindet. Damit koennten beliebig viele VDRs versorgt werden. Da meine Java-Kenntnisse ungefaehr so gut sind, wie ein Elefant hochspringen kann, komme ich mit dieser Idee aber auch nicht weiter.

    Gibt es eine funktionierende Moeglichkeit, wie ich beide VDR-Instanzen versorgen kann?

    Was mir sonst noch aufgefallen ist:

    Auf http://gdata.youtube.com kann man sich massgeschneidert URLs fuer definierte Abfragen schneidern lassen. Es mag vielleicht an den {} legen, aber diese URLs funktionieren leider nicht, oder mache ich da was falsch?

    mfg
    CR

    Es funktioniert wie gewuenscht. Ich kann auch auf der zweiten Instanz nicht nur alle Aufnahmen sofort sehen, sondern auch waehrend die erste Instanz aufnimmt, auf der zweiten das Aufgenommene anschauen.

    Allerdings bekommt die jeweils andere Instanz nicht mit, wenn ich eine Aufnahme umbenenne, verschiebe oder loesche. Kennt jemand eine Moeglichkeit, den vdr davon zu ueberzeugen, dass er nach einer File-Operation noch ein Script/einen Befehl ausfuehrt? Dann koennte ich da den touch-Befehl hineinschreiben. Ich muss nun mal mein System Familiensicher bekommen.

    mfg
    CR

    Danke fuer den Tipp. Ich habe "touch /video/.update" mal in's -r script hineingegeben, und werde es die naechsten Tage beobachten. Melde mich mit Bestaetigung, wenn es funktioniert.

    Bin gespannt, ob ich damit auch die Moeglichkeit haben werde, auf der ersten Instanz laufende Aufzeichnungen zugleich auf der zweiten anzuschauen.

    mfg
    CR

    Bitte macht aus meiner Frage keine Architekturdiskussion.

    Ich habe auf einer Hardware mit 3 DVB-Karten (derzeit) zwei VDR-Instanzen (1.6.0) mit xineliboutput sowie streamdev-server/-client laufen (und natuerlich noch einiges mehr).

    Programmierung von Aufnahmen erfolgt ausschliesslich auf der ersten Instanz, daher brauche ich auch kein remote-timer oder aehnliche Plugins. Die zweite Instanz wird nur zum Anschauen von Programmen und Aufzeichnungen verwendet. Beide Instanzen verwenden das selbe /video-Verzeichnis.

    Der Rechner laeuft (fast) 7x24 und beide Instanzen sind permanent aktiv.

    Die Konfiguration laeuft zufriedenstellend, bis auf einen Effekt, bei dem ich Eure Hilfe brauche:

    Die zweite Instanz, die ja selbst nichts aufzeichnet, sieht nicht die Aufnahmen der ersten Instanz, die seit ihrem letzten Start gemacht wurden. Offensichtlich schaut die zweite Instanz nur bei ihrem Start nach, was sich im /video-Verzeichnis befindet, und dann nie wieder.

    Wie kann ich die zweite Instanz dazu bringen, dass sie auf Knopfdruck oder regelmaessig nachschaut, ob es neues im /video-Verzeichnis gibt?

    Noch schoener waere natuerlich, wenn sie es von selbst merken wuerde. Dann koennte ich auch noch auf der ersten Instanz laufende Aufnahmen auf der zweiten anfangen anzuschauen.

    Beim Durchschauen des Portals ist mir aufgefallen, dass mehrere Leute mehrere Instanzen vom VDR auf einem Rechner laufen haben. Dort scheint dieses Problem nicht aufzutreten. Wie habt Ihr das geloest?

    Jeglicher Hinweis willkommen.

    mfg
    CR

    Einverstanden. Kannst Du mir bitte eine Alternative vorschlagen, die bei gleicher oder geringerer Board-Groesse und Stromverbrauch sowie aehnlichen Schnittstellen Hardwareunterstuetzung fuer H.264 hat, die unter Linux funktioniert? Am liebsten auch noch passiv gekuehlt. Dann steige ich vielleicht auch um.

    mfg
    CR

    Hallo halbfertiger!

    Deine Meldung verstehe ich nicht ganz, vielleicht auch nicht, weil mir nicht klar ist, was fuer Dich alles zu einem Chip gehoert.

    Ich verwende VIA-Chips auf VIA-EPIA-Motherboards. Und davon haben alle NANO- und PICO-Boards sowie einige Minis Hardwarebeschleuniger fuer MPEG2 und MPEG4.

    Dass es mir nicht gelingt, den HW-Beschleuniger fuer MPEG4 unter Linux zu nutzen, ist wohl ein anderes Problem. Siehe dazu auch H.264 mit VIA EPIA .

    mfg
    CR

    Hallo Leute!

    Hatte schon jemand Erfolg, den MPEG-4-HW-Beschleuniger von VIA zu verwenden?

    Mein NANO-Board funktioniert perfekt mit openSuSE 11.1, opencrome und xineliboutput ueber xxmc. Bei dvb-c mit 720x576 habe ich schoene 15-20% CPU-Last und perfektes Bild. Wenn ich auf einen HDTV-Kanal schalte, geht xineliboutput wieder auf SW-decoding, und ich kann es vergessen.

    Mir ist klar, dass openchrome CN400 / VT3118 nur fuer MPEG-2 unterstuetzt, und nicht fuer MPEG-4/H.264, und unichrome unterstuetzt den Chip ueberhaupt nicht.

    Zahlt es sich aus, dass ich versuche, die Originaltreiber von VIA, die laut deren Seite nur fuer openSuSE 10.2/10.3 getestet sind, fuer 11.1 zu kompilieren? Ich habe relativ oft gelesen, dass diese SW relativ buggy sei.

    Oder gibt es eine andere Moeglichkeit, die MPEG-4-Beschleunigung zu bekommen? Natuerlich ausser MS zu installieren, auch wenn angeblich mein Board unter MS in der Lage waere, H.264 sauber wiederzugeben.

    Ich bitte um Erfolgsstorries, aber auch darum, mir mitzuteilen, was ich erst garnicht zu versuchen brauche.

    BTW, die Meldung unter Via Epia + h.264 verstehe ich nicht. Alle NANO und PICO-Boards und ein paar von den Minis haben MPEG4-Beschleuniger. Aber das werde ich dort extra fragen.

    mfg
    CR

    Auswirkung: Es ist moeglich, z. B. PIN-geschuetzte Aufzeichnungen ohne Eingabe des PIN abzuspielen.

    Vorgangsweise: Ueber svdrp koennen alle Befehle abgesetzt werden. Sie werden nicht vom PIN-Plugin ueberprueft und daher ausgefuehrt. So koennen auch geschuetzte Aufzeichnungen abgespielt werden.

    Beweis des Konzepts: VDRadmin-AM installieren, in den Recordings sieht man alle Aufzeichnungen und kann sie starten.

    Gegenmassnahmen: Einschraenken, wer mittels svdrp zugreifen darf oder svdrp ueberhaupt abdrehen.

    Kommentar: Hier handelt es sich genau genommen nicht um eine Sicherheitsluecke, sondern um eine Einschraenkung der Funktionalitaet des PIN-Plugins. Das PIN-Plugin ist laut Autor fuer das Frontend geschrieben, und soll nicht in das svdrp eingreifen.

    mfg
    CR

    Auch wenn es schon geloest ist, transcode ist immer dann einen Blick wert, wenn es um irgendwelche Konvertierungen geht, bei denen File dabei sind.

    Um z. B. aus einem mit VDR aufgezeichneten File ein .wav fuer eine CD zu machen, verwende ich folgenden Befehl: (mp3 habe ich einfach noch nie probiert, geht aber ganz sicher auch)

    transcode -i infile -y null,wav -o /dev/null -c 00:??:??-00:??:?? -m outfile -E 44100,16,2 -s ??

    Dabei gibt -c die Zeitspanne an, die ich haben will, und -s einen eventuellen Verstaerkungsfaktor.

    Im hintergrund verwendet transcode auch lame und eine Menge anderer Programme und libraries, aber es ist halt eine Eierlegende Wollmilchsau, bei der das einzige Problem darin liegt herauszufinden, welche Parameter man braucht.

    mfg
    CR

    Ich wuesste nicht, wie man mit dem loopback-Device in eine initrd hinein schauen sollte, aber eigentlich wuerde es mich nicht sehr wundern wenn sogar das funktioniert. Schau mal in Umfrage: Welche NICs für NFS-Boot benutzt ihr , da habe ich beschrieben, wie man in eine initrd hinein schauen, bzw sie veraendern kann.

    Nach Deiner Beschreibung sieht es fuer mich aus, als wuerdest Du nur die boot-Meldungen des Kernels sehen, und wenn er dann sein Root-fs will scheitert er. Ich wuerde mal die folgenden zwei Punkte kontrollieren:

    • Ist Support fuer RAM-Disk beim Compilieren aktiviert?
    • Weiss der Kernel, dass die Ram-Disk sein (erstes) Root-System ist?


    Wenn der Support drinnen ist, schau mal, ob der Parameter initrd=xxxx vorhanden ist. Es gibt auch irgendeinen Befehl, mit dem man einem fertigen Kernel sagt, wo sein root-System ist, aber frag mich nicht, welcher. Den entsprechenden Bereich von der Konfiguration beim Compilieren habe ich mir schon *sehr* lange nicht mehr angeschaut, aber rein theoretisch koennte ich mir auch vorstellen, dass man im Kernel Support fuer initrd aktivieren muss.

    mfg
    CR

    Matthew,

    danke fuer Deinen Hinweis. Er hat wirklich Fortschritte gebracht. Ich habe beide Patches ausprobiert, und der Server lauft problemlos.

    Allein bei etwa jedem dritten Kanalwechsel schmiert der Client kommentarlos ab. Hast Du dazu einen aehnlich guten Tipp?

    Ich glaube, ich warte einmal, bis eine Verson heraus kommt, wo kein pre mehr hinten steht, und geh dann auch gleich auf die aktuellste Version vom VDR, ausser es hat jemand eine gute Idee dazu.

    mfg
    CR