Der wetter meinte neulich, es könnte doch ganz nützlich sein, mehrere Videostreams in einem Container zu verkapseln; auf diese Weise wäre es etwa bei Vorträgen möglich, eine Ansicht mit Folien und eine weitere mit den Dozenten zu haben. Glücklicherweise geht das tatsächlich.
Um ein derartiges Video zu erhalten, habe ich zunächst mit Gstreamer ein Testbildvideo produziert (dieser Blogeintrag war sehr hilfreich) und dieses dann mit Hilfe der oggz-tools auf 20 Sekunden geschnitten und mit einem von mir vorher aufgenommenen Video zu einem zweispurigen Video (Download) gemixt:
Ein praktisches Problem derartiger Dateien ist die Behandlung der Videostreams durch gewöhnliche Abspielsoftware, die im Allgemeinen davon ausgeht, dass verschiedene Streams gleichen Typs nicht gleichzeitig abgespielt werden sollen: Nur VLC media player öffnet für jeden Videostream ein weiteres Fenster, während Totem, mplayer und Webbrowser mit Unterstützung für das <video/>-Element jeweils immer nur einen der beiden Videostreams anzeigen — im besten Fall ist ein Wechsel des abgespielten Streams möglich, ähnlich dem Wechsel der ausgewählten Audiospur.
Das obige, mit oggz-merge erstellte Video ist laut oggz-validate leider nicht valide, ein guter Grund für ein Abspielprogramm, den Dienst zu verweigern. Ein valides, mit der Gstreamer-Monsterpipeline erstelltes Video findet ihr hier.
Ich werd nicht mehr: Das valide Video wird zwar immer noch von der passenden Gstreamer-Pipeline abgespielt, VLC hingegen stürzt in den meisten Fällen ab — oder versagt sowas von komplett …
So, das valide Testvideo hat jetzt zwei unterschiedliche Streams, einer zeigt jetzt konzentrische Kreise. Nur, damit niemand verwirrt wird.
Die Riesenmaschine (jetzt neu mit Waschzwang in jedem 10. Ei) liefert in ihre Feeds nicht im Volltext aus — statt dessen erhält man eine verstümmelte Version, über die sich vor Jahren auch bereits der Herr Pritlove aufregte. Die Rationale wird in den Kommentaren vom Herrn Eisenhower einfach erklärt: Zum Ersten handele es sich bei der RM um ein Gesamtkunstwerk, zum Zweiten schalten sie ja Werbung, die man im Feed nicht sieht (haha, als ob). Eisenhower fordert hier, man müsse „als Leser Zugeständnisse für die Refinanzierung machen.“
Fast tut er so, als wäre es sein Internet und nicht meins, genauer gesagt: Das der Anbieter und nicht das der Nutzer. Die zwar konsistente und vom Motiv her nachvollziehbare, doch in beiden Teilen ausgesprochen arrogante Haltung ließe sich ohne weiteres heranziehen, um DRM zu rechtfertigen und weiterhin Remixe und gleich jegliche Hackerey zu verbieten. Weiterhin ist es ein Paradebeispiel dafür, wie individuelle Interessen die allgemeine Zugänglichkeit (hier insbesondere: Maschinenlesbarkeit) von Daten beeinträchtigen.
Glücklicherweise gibt es Abhilfe, um ein derart defektes Angebot den Bedürfnissen der Nutzer anzupassen: Der Feedreader Newsfox ermöglicht es mit einer Funktion namens „Web-Filter“, statt des Feedinhaltes die verlinkte Seite oder einen Teil davon anzuzeigen. Trägt man den XPath-Ausdruck /html/body/div/table/tbody/tr[2]/td/div/p (ermittelt mit Firebug) in die Konfiguration ein (Screenshot), erhält man so auf komplizierte Weise das, was unzählige andere Seiten ohne Weiteres ausliefern: Ein funktionierendes Volltext-Feed.
Seit einiger Zeit schon bastele ich an einem Wordpress-Plugin, das es ermöglichen soll, creative-commons-lizenzierte Bilder, Videos und Audio-Dateien einfach in Blogposts einzubetten und die Lizenzinformationen sowohl menschen- als auch maschinen-lesbar darzustellen. Für die Ungeduldigen unter den Lesern: Downloads gibt es auf GitHub (Direkt-Tarball, Direktzip). Für alle anderen folgt eine kurze Erklärung, gleich nach dem Klick.
Um die in den Kommentaren bemerkten Pfadprobleme zu beheben, die durch die von GitHub vorgegebenen Ordnernamen entstanden, habe ich zur aktuellen Version 0.6.1 einen separaten Release-Tarball erstellt. Es ist weiterhin möglich, dass sich das Markup in naher Zukunft möglicherweise ändert; ich werde versuchen, die Stylesheets für diesen Fall so anzupassen, dass dann auch das aktuelle, dann ungültige Markup weiterhin erfasst wird.
Von Florian oneup Hufsky [Link] erfuhr ich erst nach seinem Suizid: Die erste namentliche Erwähnung fand er in einem Tweet von Bre Pettis (Just heard about @oneup. Fuck. Too tallented. Too young. RIP.), kurze Zeit später fragte mich eine Bekannte aus dem Metalab-Umfeld, wie gut ich ihn gekannt habe — wiegesagt, gar nicht.
Natürlich trauere ich nicht, während ich von ihm produzierten Code herunterlade, kompiliere, kleinere Fehler behebe — wie auch ? Ich kannte ihn ja nie. Schade ist es dennoch, gerne hätte ich mich einmal mit einem derart talentierten Künstler unterhalten. Wenn man tatsächlich Leute resimulieren könnte, sofort würde ich anfangen.
So bleibt nur ein diffuses Bild dieser Person, die ich nach Betrachtung ihres Werkes ohne Zögern als genial beschreiben möchte. Ich weiß nicht, ob es als pietätlos angesehen wird, einen Toten nach derartigen Kriterien zu bewerten, aber der Quellcode seiner Programme könnte das Wertvollste sein, dass er der Welt hinterlassen hat:
Wie uns soeben zu Ohren gekommen ist, wird dergeneral Anfang Dezember die gesamte Belegschaft Krautchans entlassen und zusammen mit dem Rest des Adminteams geschlossen zurücktreten. Die bisherige in Perl geschriebene Software DesuChan wird dann durch eine robuste, mit C entwickelte Lösung ersetzt, die auf dietlibc und libowfat basiert und den gatling-Webserver verwendet. Außerdem wird Krautchan ab 01.12. Fefechan heißen und es wird nur noch /f/ – Fefe geben.