Ich habe einen alten iPod touch der zweiten Generation gefunden (ca. 2009 gekauft), den die Kinder nutzen können, Videos anzuschauen und Musik zu hören ohne dass die Eltern Gefahr laufen, dass wieder mal ein Tablet mit gebrochenem Display endet. Mit 128MB RAM und einem sehr betagten PowerVX-Grafikchip ist das Ding allerdings recht wählerisch bei den Codecs. Heruntergeladenes Videomaterial muss also erst einmal transkodiert werden, nach H.264 Baseline 3.0 mit AAC Audio. Dabei skaliere ich auch 320px Breite bei variabler Höhe.
(more…)
Category: Linux
-
Videos für iPod touch 2nd gen transkodieren
-
Nuage – Arduino Yùn Bridge auf Debian (Raspberry Pi, Banana Pi)
Als ich den ersten Arduino Yún im Herbst 2013 in den Händen gehalten habe, war ich begeistert von der Eleganz der enthaltenen Bridge-Bibliothek. Die erlaubt es, den Yún per SSH zu programmieren und sie stellt viele Netzwerkfunktionen des Linux-Systems sehr simpel in Arduino bereit. Aaaaber: Das OpenWRT des Yún ist relativ unflexibel, RAM und Prozessor sind knapp und die Platine ist recht teuer.
Ich habe daher die Bridge-Bibliothek, die Scripte zum Flashen der Arduino-Seite und das Webinterface aus Yún herausgezogen, teilweise neu implementiert und auf Debian portiert. Unterstützt wird derzeit Wheezy mit SysV Init (Raspbian, Bananian), Ubuntu wird bald folgen.
www.arduino-hausautomation.de/nuage/
Post bei G+ (Arduino-Gruppe) -
Ubuntu 14.10 auf dem Raspberry Pi 2
Cross-Post, Original ist hier: https://plus.google.com/u/0/+MattiasSchlenker1/posts/CBxSBLkspdv – dort bitte auch vorzugsweise kommentieren (hier schalte ich Kommentare nach ein paar Tagen ab).
Ich habe ein minimales Ubuntu 14.10 Image für den Raspberry Pi 2 erstellt. Das Image gibt es hier:
http://cdprojekte.mattiasschlenker.de/Public/PiBuntu/
Nehmt nach der Installation gparted, um die zweite Partition der SD-Karte zu strecken. Dann bootet den Pi und logt Euch als “root” ein (Passwort: “raspberry” – Achtung: US-Tastatur). Anschließend müssen noch die /etc/fstab und die /etc/network/interfaces und die /etc/apt/sources.list (Beispiel: https://gist.github.com/mschlenker/5f236a669c2177b9ee7e) angepasst werden. Besser auch einen unpriviligierten Nutzer anlegen, deutsche locales erzeugen undsoweiter:
adduser locale-gen de_DE.UTF-8 apt-get update apt-get -y dist-upgrade apt-get install xubuntu-desktop
Oder natürlich “lubuntu-desktop” oder “mate-desktop-environment”. Gerne auch nur lightdm und einen Windowmanager, warum nicht schlank loslegen? Mein Favorit ist übrigens http://i3wm.org/ mit dmenu (aus den suckless-tools)…
Wichtig: Das Image ist Pre-Alpha und nicht für Produktivsysteme empfohlen. Ich werde bei Gelegenheit Scripte fürs Kernel-Update ergänzen, Unterstützung für Banana Pi (der ist auch ARMv7) hinzufügen und erklären, wie man auf Basis dieses Images ein eigenes debootstrapt.
-
Medienstreaming: Vom Heimserver zur Chromecast
Wegen der anfänglichen Internetfixiertheit (frühe Firmware spielte nur Medien ab, deren URLs im Internet zugänglich waren) hält sich hartnäckig das Gerücht, dass die Chromecast nicht fürs lokale Medienstreaming geeignet ist. Des Gegenteils kann man sich leicht überzeugen. Einfach eine MKV-Datei mit h.264 Video und MP3 auf dem heimischen Webserver ablegen, dafür sorgen, dass diese Datei mit dem Mime-Type “video/mp4” ausgeliefert wird, dann die minimale Demo-App github.com/googlecast/CastHelloVideo-chrome auf dem Webserver ausrollen und die Seite in Chrome ansteuern. Nun können “Big Buck Bunny” und Co. auf die Chromecast gestreamt werden. Netterweise hat die Demo-App ein Eingabefeld, in das man die URL des oben erwähnten MKV eintragen kann – et voilá: Chromecast spielt lokale Dateien!
Um das ganze etwas komfortabler zu machen habe ich auf Basis der zweiten Demo-App, die einen Player mitbringt, etwas gescriptet: Zunächst ein Ruby-Script, welches eine Verzeichnisstruktur nach .mkv und .mp4 durchsucht und daraus ein (statisches) HTML baut. Dazu den Javascript-Code so angepasst, dass er geklickte Links ausliest und fertig ist das simple Webfrontend um Videos von NAS oder Heimserver zur Chromecast zu schicken.
Wer sich für die Scripte interessiert, findet sie hier: github.com/mschlenker/RollerCaster
Wer helfen möchte: Am meisten würde ich mich über durchdachte Mockups für die Überarbeitung der Oberfläche freuen!
PS: Nach Schmökern in der Doku ist klar, dass auch MPEG2-TS geht. Damit muss ich mal schauen, wie ich Live-Streams des TVheadend zur Chromecast bekomme.
-
Seitenprojekt: TinyCrossLinux
Mittlerweile hat es sich fast eingebürgert, für “kleine” Linux-Anforderungen ein Ubuntu oder Debian zu nehmen und dieses abzuspecken. Je nach Vehemenz landet man dabei meistens so bei 200MB, mit ein wenig Herumgetrickse auch mal bei 80 bis 100MB. Ich bin der Ansicht, dass nicht die Benutzung einer “klassischen” Distribution und deren Abspecken der beste Weg ist, sondern der Aufbau auf Null. Doch ganz auf den Morast einer unerschlossenen Sumpflandschaft möchte man nicht bauen – ich habe daher ein minimales Fundament erstellt, nicht viel mehr als eine Bodenplatte. (more…)
-
Der twitternde Weihnachtsbaum
Ich habe bereits vor ein paar Wochen über mein neues Projekt geschrieben. Nun trägt es erste Früchte. Dank des Linux basierten Arduino Yún twittert unser Weihnachtsbaum:
www.arduino-hausautomation.de/category/horst-von-forst/
Alle Codebeispiele stehen im Blog bereit, bislang abstahiert das Bridge-API komplett vom Linux des Yún, das muss aber nicht so bleiben, ich werde mittelfristig auch Scripte auf der Linux-seite triggern.
-
Ein neues (Linux-) Projekt…
Ein neues Projekt wird gerade angegangen: Hausautomatisierung mit Arduino. Als Buch, bei Franzis. Was das Ganze mit Linux zu tun hat? So einiges. Zentrale Schalt- und Waltstelle im Buch wird wohl der Arduino Yún werden. Arduinos Einstieg in die Linux-Welt: Ein Atmega32u4-Microcontroller auf der einen Seite und ein MIPS basierter Linux-Rechner auf der anderen. MIPS kennen wir von DSL-Routern und einigen Smartphones. MIPS und Microcontroller kommunizieren über eine serielle Schnittstelle. Neu ist die enge Integration der beiden: Arduino 1.5.4 bringt eine Bibliothek mit, die es erlaubt, ganz ohne serverseitige Programmierung Arduino-Pins direkt per Webserver anzusteuern.
Und noch mehr Linux wird seinen Weg ins Buch finden: weil ich davon ausgehe, dass nicht jeder einen Yún kaufen will (weil er/sie bereits einen Raspberry Pi hat) oder kaufen kann (die nächste Lieferung wird Anfang Dezember erwartet und auch zum Buchstart gehe ich davon aus, dass nicht überall Yúns ausliegen werden), wird die alternative Schaltzentrale ein Raspberry Pi, der via I2C mit einem mit ihm verbundenen Arduino Uno oder Mega kommuniziert.
Das Blog zum Buchprojekt habe ich heute freigeschaltet, auf Wunsch geht es direkt zum heutigen Eintrag, einer Kurzvorstellung des Yún.
-
Ein neues (Linux-) Projekt…
Ein neues Projekt wird gerade angegangen: Hausautomatisierung mit Arduino. Als Buch, bei Franzis. Was das Ganze mit Linux zu tun hat? So einiges. Zentrale Schalt- und Waltstelle im Buch wird wohl der Arduino Yún werden. Arduinos Einstieg in die Linux-Welt: Ein Atmega32u4-Microcontroller auf der einen Seite und ein MIPS basierter Linux-Rechner auf der anderen. MIPS kennen wir von DSL-Routern und einigen Smartphones. MIPS und Microcontroller kommunizieren über eine serielle Schnittstelle. Neu ist die enge Integration der beiden: Arduino 1.5.4 bringt eine Bibliothek mit, die es erlaubt, ganz ohne serverseitige Programmierung Arduino-Pins direkt per Webserver anzusteuern.
Und noch mehr Linux wird seinen Weg ins Buch finden: weil ich davon ausgehe, dass nicht jeder einen Yún kaufen will (weil er/sie bereits einen Raspberry Pi hat) oder kaufen kann (die nächste Lieferung wird Anfang Dezember erwartet und auch zum Buchstart gehe ich davon aus, dass nicht überall Yúns ausliegen werden), wird die alternative Schaltzentrale ein Raspberry Pi, der via I2C mit einem mit ihm verbundenen Arduino Uno oder Mega kommuniziert.
Das Blog zum Buchprojekt habe ich heute freigeschaltet, auf Wunsch geht es direkt zum heutigen Eintrag, einer Kurzvorstellung des Yún.
-
Caps Lock auf Shift umbelegen – Linux und Windows
Wozu dient bitte Caps Lock? Seit rund zwanzig Jahren fällt mir kein Grund mehr ein, diese Taste zu benutzen. Also belegen wir sie um.
Windows
Unter Windows verwendet man die Registry, um Caps Lock umzubelegen, der folgende Eintrag mach Shift draus:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,2a,00,3a,00,00,00,00,00
Einfacher: Hier die Registry-Datei herunterladen und per Doppelklick aufnehmen: http://cdprojekte.mattiasschlenker.de/Public/Windows_misc/disablecapslock.reg
Linux
Ich verwende eine ~/.xinitrc und darin die Zwei Zeilen:
xmodmap -e 'remove Lock = Caps_Lock' xmodmap -e 'keysym Caps_Lock = Shift_L'
Wer möchte, kann auch eine ~/.Xmodmap anlegen, die folgendes enthält:
remove Lock = Caps_Lock keysym Caps_Lock = Shift_L
und beim Start des Windowmanagers oder der Desktopumgebung sicherstellen, dass xmodmap gestartet wird und die ~/.Xmodmap verwendet wird.
-
VMware – UEFI-Boot simulieren
Mit weiteren Verbreitung von UEFI steigt die Relevanz, in Live-Distributionen den UEFI-Bootloader zu konfigurieren und zu testen und – als Autor – mit Screenshots Artikel zum Thema garnieren zu können. Bei mir betrifft das konkret das eigene Live-System LessLinux, derzeit primär ein Notfall- und Rettungssystem und die Multiboot-Linux-CDs, die ich für Verlage wie WEKA, Data-Becker, Heise erstelle oder miterstelle. Einen Teil der notwendigen Screenshots muss ich auf echter Hardware mit einer Capture Card erstellen (BIOS, UEFI-Setup). Für viele andere taugt die virtuelle Maschine.
Als Virtualisierungssoftware setze ich beim Desktop noch auf VMware, konkret den Player. Der ist nicht mehr kostenlos, aber dank Fusion-Lizenz ist er bei mir immerhin lizenziert (Unternehmen, die bislang den kostenlos nutzbaren Player einsetzten, müssen nach meiner Lesart der Lizenz pro Standort wohl rund 80€ investieren). Dass ich mittelfristig plane, auf VirtualBox zu wechsel, ist eine andere Geschichte.
Nun habe ich mich gewundert, dass ich weder in Fusion, noch im VMware Player irgenwo ein Option finde, BIOS/MBR oder UEFI/GPT als Firmware-Modell zu wählen. Es ist ganz einfach. Die .vmx-Datei, in der die Konfiguration gespeichert ist, lässt sich als einfache Textdatei an beliebiger Stelle um die Zeile
firmware = "efi"
ergänzen. Danach verhält sich VMware wie ein UEFI-Rechner, der vom Betrieb im CSM in den UEFI-Modus umgeschaltet wurde. Beim Neuaufsetzen virtueller Maschinen, bedeutet das, dass man zunächst zwar die Maschine konfigurieren, aber unbedingt “I will install the Operating System later” wählen sollte. Anschließend fügt man die EFI-Zeile in die VMX-Datei ein und startet dann die Installation im UEFI-Modus.