Projekt VDR-Cluster

Ich hatte es ja heute morgen schon vom Androiden aus angeteasert: ich bei den entscheidenden Schritt weiter beim Aufbau einer »VDR-Server-Farm«, die beiden designierten »Pizzaschachteln« sind in den Keller gewandert, am Netgear GS-108T dort (auch wenn die Boxen nur 100 MBit/sec-Schnittstellen haben) als auch am DVB-S-Verteiler angeschlossen und laufen.
Mit den beiden Kistchen kommen 4 DVB-Eingänge zum »VDR-Gesamtsystem« hinzu, derzeit sind das 2x DVB-S, 1x DVB-S2 (HDTV-tauglich) sowie 1x DVB-T. Das zu ersetzende Wohnzimmer-VDR-System mit 2x DVB-S läuft derzeit noch weiter, das neue, HD-taugliche, Wohnzimmer-System hat derzeit 2x DVB-S (davon eine in Benutzung, da im Arbeitszimmer nur 1x SAT-Anschluß vorhanden ist), wobei noch nicht klar ist, ob es bei beiden Karten bleibt oder ggf. auch diese durch eine Single- oder Dual-Tuner-PCIe-Karte ersetzt werden oder auf eine reduziert.
OS-Basis ist jeweils Ubuntu 9.10, im Falle des HDTV-VDRs in Form von yaVDR — allerdings noch in der Version 0.1.1. Die beiden »headless VDRs« benutzen konsequenterweise die Pakete aus dem yaVDR-Repository.
Sinn der Übung: der VDR im Wohnzimmer, mit gut 100 Watt Energieaufnahme kein sparsamer Geselle (AMD Athlon(tm) 7750 Dual-Core Processor auf einem Asus V-M3N8200 mit nVidia-onboard-Grafik), soll, aus Energie- und Lärmgründen, möglichst nur dann eingeschaltet sein, wenn auch fern gesehen wird — anders als der bisherige, einzige, VDR-Server. Um dennoch Aufnahmen anfertigen zu können, sollen Systeme mit geringer Energieaufnahme (so ein Scenic Xs zieht rund 20 Watt, Platte eingeschlossen) im Keller diese Tätigkeiten durchführen, und da ich ein Serienjunkie sein kann, halte ich 2 DVB-Karten schon für etwas knapp.
Was bislang schon funktioniert:

  • Dank des Kopiertricks kann der HD-VDR auf mehr als eine per streamdev-Plugin über’s Netz bereitgestellte Quelle zugreifen. Allerdings muß man beim Update des streamdev-client-Pakets dran denken, auch die Kopie(n) erneut zu duplizieren …
  • Dank Konfigurationsänderungen kann der HD-VDR auch das IPTV von T-Entertain empfangen — die nicht grund(los)verschlüsselten Programm des öffentlich-rechtlichen Rundfunks zumindest. Komischerweise bringen weder der P3 800 noch der Celeron mit 1,2 GHz in den Scenics auch die eine störungsfreie Bereitstellung des (SD-) Signals zu Stande; selbst ohne streamdev-Overhead bei lokaler Aufzeichnung gibt es Dropouts und Artefakte — und lokale Aufzeichnung sollte ja eigentlich relativ simpel sein, hat man erst mal den h.264-Stream aus dem DVB-IP extrahiert, oder?
  • Selbst der Zugriff auf eine DVB-S2-Quelle per streamdev scheint zu funktionieren — sofern ich das richtig erkenne, denn streamdev-Geräte sind zwar, wie auch das IPTV-Plugin, für VDR Datenquellen, aber das femon-Plugin, welches die Signalstärke ausgibt und insbesondere die direkte Auswahl eines Eingabegerätes ermöglicht, kann damit leider nichts anfangen. Weitere Voraussetzung: der streamdev-Client muß auf einen streamdev-Server treffen, der auch zu einer DVB-S2-Karte verbinden. Da beide Keller-VDRs hybride Systeme sind (DVB-S & DVB-S2 bzw. DVB-S & DVB-T) ist das … nicht so einfach.

Und damit bin ich auch schon bei meiner »Hall of Shame«, den Problemen, angekommen:

  • Augenscheinlich transportiert streamdev keine Informationen über die Geräte, weder meldet streamdev-server an den -client, wlecher Art die bereitgestellte Datenquelle ist, noch kann der streamdev-client hier augenscheinlich etwas anfordern. Dies ist auch erst einmal sinnvoll, denn IIRC arbeitet streamdev-server dynamisch, er stellt die Verbindung zu einem freien Device her, sodaß ein VDR mit 2 Karten z. B. eine lokale Aufnahme tätigen kann und die zweite per streamdev einem anderen VDR (oder einem vlc, mplayer, …) bereitstellen).
    Allerdings kann dann durchaus eine DVB-S-Karte per streamdev Tuning-Informationen auf DVB-T bekommen — was natürlich nicht funktioniert; auch verschlüsselte Kanäle sind hier weniger vorteilhaft :(

    Jun 8 21:26:36 hdtvdr vdr: [16125] ERROR: Streamdev: Couldn't tune 192.168.2.62:2004 to channel S4C

    Wie gut sich die Nutzung von streamdev-Geräten in der Praxis erweisen wird, wage ich noch nicht zu schätzen. Wahrscheinlich werde ich aber eher die DVB-T-Karte in den HD-VDR bauen und dafür die 2. DVB-S2-Karte in die VDR-Box, die schon DVB-S2 hat …

  • Ein verteiltes VDR-System ist konfiguratorisch augenscheinlich nicht vorgesehen. Das live-Plugin läut jeweils lokal auf dem VDR, per OSD programmierte Aufnahmen sind ebenfalls nur für den lokalen VDR vorgesehen. Abhilfe schaffen hier ein wenig die Plugins remotetimers und/oder remoteosd. Angenehm ist, da auch mein alter VDR schon die Erweiterung für remoteosd hatte, daß ich vom HD-VDR auch den alten VDR fernsteuern kann. Noch nicht probiert habe ich, ob bzw. wie man auch remoteosd mehrfach installieren kann (ich habe ja einen »bedienten« VDR und 2 (oder mehr) VDRs, die »headless« arbeiten.
  • Zum Filesystem bzw. der sinnvollen Verteilung/Verlinkung muß ich mir auch noch Gedanken machen; vom HD-VDR sollen ja im Wohnzimmer alle Aufnahmen abspielbar sein; also werde ich wohl die Filesysteme der beiden »VDR-Server« im Keller in das des HD-VDRs »einmontieren« müssen.

Wahrscheinlich bin ich mal wieder im »where no one seeked pain before«-Land mit meinem Ansinnen ;) Nichtsdestotrotz finde ich es wahnsinnig Klasse, was schon alles mit VDR out-of-the-box machbar ist. Mal gucken, wo das noch endet ;)

ffmpeg – kotzen for run-aways

Narf. Zitat:

On Wed, Dec 3, 2008 at 3:12 PM, sean darcy <seandarcy2 at gmail.com> wrote:

I’m using ffmpeg to repackage vob files to play on a ps3 ( for some reason the ps3 doesn’t like some vob’s, but always likes ffmpeg’s )
I often get the message that the codec frame rate differs from the container frame rate. How does a “container” have a frame rate? Is this a interlacing issue?
ffmpeg even with vcodec copy changes the frame rate of the video stream to 29.97 from 59.94. Should I force ( -r 59.94) the original frame rate, or does ffmpeg know what it’s doing?

 
The video container specifies a framerate, as does the video stream itself. In some cases, usually caused by badly written encoding programs, the two can disagree. When this happens, ffmpeg is obviously forced to believe one and not the other.
If ffmpeg picks the wrong one, you can, ask you mentioned, force the other framerate if you believe it to be correct.
Dark Shikari

 
Nunja. Ein ffmpeg-kodiertes File erzeugt bei mir:

Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 29.97 (30000/1001)

Und während es super in mplayer abgespielt wird, ist das Ergebnis der Nutzung in OpenShot eine reine Katastrophe. Keine Ahnung, welche fps OpenShot sich da ausdenkt, sie ist nur eines: total falsch. Und Drecks-ffmpeg ist nicht in der Lage, ein korrektes File zu erzeugen, obige Meldung wird erzeuigt nach:

ffmpeg -i 25fps-source.mp4 -r 30000/1001 -sameq -vsync -1 -acodec libmp3lame -ac 2 -ar 44100 -ab 192k -threads 2 -y -copyts 29.97fps-target.mov

Videobearbeitung unter Linux: Foltermethoden des 21. Jahrhunderts.
Fsck³ :(

Mein GuruPlug ist da ;)

Es hat ja etwas gedauert, aber gestern ist er endlich eingetroffen, mein »GuruPlug Server Plus«. Außer Auspacken und einem Funktionstest habe ich noch nicht viel mit ihm gemacht, ich schwanke auch noch, wo ich ihn einsetze, als Replacement meines FHEM-Sheevas, ich würde dann noch eine eSATA- und eine USB-HDD zum Fileserving anschließen? Oder als Replacement der x86-Pizzaschachtel, die als Router und OpenVPN-Tunnelendpunkt im Keller fungiert (VDSL25 verbrät schon tüchtig CPU bei PPPoE und erst recht bei OpenVPN)?
Anyway, hier, weil’s so schön war, mein »Unboxing«-Video, have fun ;)

Sorry for the delay; aber der Schnitt mit OpenShot erwies sich aufgrund der ekligen »Weißbild-Bugs« unnötig umständlich, die rd. 15 Abstürze in der Zeit mit blöden Python-Assertion-Fehlern beim Playback(!) nicht erwähnt …

Do it yourself

Ts. Ich denke es ist bekannt, daß Android-basierte Telefone eigentlich nichts weiter sind als ziemlich heiß gewaschene Tabletcomputer; mit aktuellen Highlights wie dem Motorola DROID/Milestone und ähnlichen mit wenigstens einer Auflösung von 800×480 Pixeln kann man damit auch Webseiten ganz gut sich ansehen. Und die Verwandschaft zum Tabletcomputer zeigt sich auch in der Laufzeit — die sich bei aktiver Nutzung der vielen Features, wie dauernde 3G-IP-Verbindung mit Datenaustausch, GPS, Kamera, …, auch schnell dem unteren einstelligen Stundenbereich (lies: rd. 3-5h) nähert.
Anyway, so ein kleines Rechenwunder mit Gadgets en masse, einem SDK und einem freien Market (und der Möglichkeit, auch am Market vorbei Software aufzuspielen), da sollte es doch eine Art »Time-Lapse«-Software geben, die in einstellbaren (möglichst kurzen) Intervallen ein Foto mit der eingebauten Kamera schießt, um hernach – gerne außerhalb der dafür zu lahmen Umgebung – einen Film machen zu lassen.
Und, natürlich gibt es dies; einerseits »Timelapse«, andererseits »LapseDROID«. Did they save my day?
Nunja; LapseDROID sieht schick aus, macht Full-HD-Aufnahmen (wobei ich nicht näher geguckt habe, welche der Zufallspixel der typisch mauen Handykamerachips genommen werden, sprich ein Ausschnitt aus dem 3-5 Megapixel-Müll oder ob jener auf 1920×1080 zusammengedampft wird). Das waren die positiven Seiten. Die negativen sind einmal, daß das Intervall nicht unter 10 Sekunden liegen darf (200-250ms wären mir am liebsten), aber das wäre für manche Anwendungen ja auch noch praktikabel. Nur leider funktioniert LapseDROID bei mir auf Milestone (2.0) und Magic (1.5) nur bis zur Aktivierung des Screensavers (sei es per Eingabetimeout oder manuell hervorgerufen) — und stürzt dann mit »wurde unerwartet beendet« ab. Groß-ar-tig. Immerhin ist auch die Plus-Verson mittlerweile kostenlos …
Timelapse hingehen macht, was drauf steht: einmal gestartet, macht die Anwendung alle 1000 (leider das Minimum) bis ??? ms ein (YUV-) Bild und legt es auf der SD-Karte ab. Wenn man fertig ist, kann man das Programm wieder aufrufen, den Stopp-Befehl senden und die Bilder automatisch von YUV nach PNG wandeln lassen. Manko 1: der Schritt ist nicht wirklich praktikabel, 800 Bilder dauerten auf dem HTC Magic gefühlte 3 Wochen, effektiv wohl so was an 2 Stunden. Und das – die ist mein Manko 2 – bei einer (nicht einstellbaren) Auflösung von 480×320 — für einen HD-»Fanatiker« wie mich natürlich mehr so unbrauchbar :(
Narf. Muß ich jetzt wirklich das SDK rausholen und mir TimeLapseDROID selbst schreiben? *sigh*

Wenn Fliegen hinter Fliegen fliegen …

… fliegen Fliegen Fliegen nach — gut, das hat nicht wirklich was mit diesem Blogeintrag zu tun, aber nachdem gestern meine Jüngste mir einen ähnlichen Spruch mit »robben/Robben« um die Ohren gehauen hat, konnte ich hiermit kontern ;)
Zurück zum Thema; bekanntlich waren »wir« ja auf dem Oktoberfest der Gütersloher Pfingstkirmes und haben neben kulinarischen Höhepunkten auch den Kameras Auslauf gegönnt, mit durchaus ansprechenden Resultaten.
Auf dem Rückweg habe ich dann die Gelegenheit genutzt und beide Kodaks gegen meine Panasonic TZ7 in der extremen LowLight-Situation nächtlicher Straßen antreten zu lassen; die PlaySport und die TZ8 »guckten« nach Vorne, die Zi8 lieferte die rückwärtige Sicht. Etwaige Asynchronisitäten bitte ich zu entschudigen, die Kodaks nehmen leider nur in 1080 bzw. 720p29.97 auf (oder 720p59.94; jeweils NTSC-Timing), die TZ7 hingegen nur in 720p50 (»PAL«), ganz sauber scheint das OpenShot, die Videobearbeitungssoftware unter Linux, nicht zusammenführen zu können. Aber selbst bei Asynchronosität wird sichtbar, daß die beiden Kodaks sich tapfer im Vergleich mit der deutlich teureren TZ7 schlagen; auch hier wäre wieder der Vergleich mit der Kodak Slice interessant gewesen, welche von den Features als auch vom Preis eher in der TZ7-Liga spielt. Aber seht selbst:

Meine TZ7 möchte ich dennoch nicht missen, denn mit dem Fixfokus-Objektiv von Zi8 und PlaySport ist man gelegentlich doch eingeschränkt, und der 12fache optische Zoom der TZ7 erlaubt schon durchaus spannende Perspektiven. Für ihr Geld liefern die beiden Kodak »Fun-Kameras« PlaySport und Zi8 aber durchaus respektable Leistungen — selbst bei Dunkelheit.

Was schiefgehen kann, …

Murphy ist doof. Und dir britische Royal Mail schein’s auch; mein Trackingcode geht nicht – wie bei einigen anderen auch –. hier die Erklärung von NewIT:

We have had a couple of reports of the packages we despatched on Monday not being tracked on the Royal Mail website, we have contacted Royal Mail who have told us it only affects a couple of the sacks (from the 31) that were collected from us. Royal Mail has told us that the tracking should be picked up for those items once they reach their destination country.
Thank you for your purchase, if you could email to confirm when you have received the Kit it would be most appreciated.

 
Ernsthaft, wieso »einige wenige« Säcke beim Scannen rausgefallen sein sollen, entzieht sich meiner Vorstellungskraft. Jedenfalls sagt das britische Tracking für mein Paket noch immer:

Come back later
Information on your item is not yet available. If the Airsure® item was posted today please note that the majority of items are tracked during the night. Please try again tomorrow.

 
Schade; denn eigentlich würde ich es heute erwarten (Montag aufgegeben, Dienstag von UK nach DE, Mittwoch ausgeliefert), aber wer weiß; Vorbesteller brauchen wirklich Nerven aus Stahl ;)

Videoschnitt und Linux …

Aufgrund eines ziemlichen Verrisses von OpenShot und meinen Problemen, die »AVCHD lite«-Videos meiner Panasonic TZ7 damit sinnvoll zu be- und verarbeiten (nicht so wie bei anderen, aber den 720p50-Clip nach 720p29.97 zu konvertieren, um ihn mit Videos der Kodak-Kameras zu vereinen, gelingt einfach nicht – der Ton wird nicht dem Bild endsprechend transkodiert :(), habe ich mir mal PiTiVi angesehen, da es ja auch in Ubuntu 10.04 integriert ist.
Tja, was soll ich sagen: während OpenShot wenigstens transkodiert (wenn auch nicht wirklich korrekt), bringt PiTiVi mit dem Test-Clip der TZ7 nicht mal irgendwas zustande; außer der Ausgabe “Rendering” und dem Anlegen des leeren Files geschieht genau … nichts.
Gut, ich muß zwangsläufig jedem Recht geben, der sagt, daß Videoschnitt und Linux Dinge sind, die heute noch immer in unterschiedlichen Sonnensystemen liegen. »Ja, es geht so lala« ist Lichtjahre von dem entfernt, was der Fallobstler mit z. B. Final Cut mal eben nebenbei erledigt.
Bezogen auf OpenShot würde ich zwar sagen, daß »you get what you pay for« hier deutlich untertrieben ist – für »lau« gibt’s hier ein weitgehend absturzfreies und recht intuitives, leistungsfähiges Programm -, aber leider ist da meines Wissens auch gleich das Ende der Fahnenstange erreicht. Wer weiß, vielleicht muß ich eine meiner vorsorglich gekaufen Windows-7-Lizenzen ja doch für einen physischen Rechner verwenden?

How to brick your DockStar, voiding warranty and installing Ubuntu … (Part III)

Tja, das mit der Reaktivierung von Hardware funktionierte jetzt nicht so, wie erhofft. Eines der Alt-Schlepptops hat – Li-Ion eben – tote Akkus und wohl auch sonst Alzheimer: beim Bootversuch über’s Netz (ohne Netzwerkkabel) hängt die Verarbeitung des Bootvorgangs. Und das schnieke Subnotebook hat zwar USB, aber keine Serielle eingebaut …
Back to Square One also; ich sitzte dann mal in der Sonne und ersurfe mir eine Alternative *sigh*
Immerhin sollte mein GuruPlug dieser Tage eintreffen; auch wenn ich mit dem Trackingcode aus der Versandnachricht vom Montag noch kein Glück hatte …

How to brick your DockStar, voiding warranty and installing Ubuntu … (Part II)

Nachdem auf Part I mehrere Nachfragen – sogar auf XING ;) – kamen, ein kleiner Zwischenbericht:
Mein DockStar ist derzeit ein Brick; das hängt primär damit zusammen, daß mein Pegelwandler aus, hmm, vor 2008, noch auf RS-232 als Schnittstelle basiert; seit 2008 allerdings hat sich mein Rechnerpark erneuert und weder Laptop noch stationäre PCs verfügen noch über eine RS-232-Schnittstelle :-(
Da meine USB-to-RS-232-Konverter am SheevaPlug in Benutzung sind, ist das derzeit ein »Blocking Point«, wie ein Kunde es ehedem so eloquent ausdrückte. Ich schwanke derzeit zwischen Reaktivierung von Hardware aus den Anfängen dieses Jahrtausends und der Neuanschaffung von Pegelwandlern auf USB-Basis; letzteres dürfte die zukunftssicherere Investition sein …

Abschlußaktivitäten

Quick and dirty, ein kurzes Statement von @ifranz zu seiner Haltung zu Fahrgeschäften im Allgemeinen und zur Gütersloher Kirmes nach 23 Uhr im Besonderen ;)

Leider lahmt YouTube grade mal wieder, bitte ggf. ab 12:30 nochmals probieren … *sigh*