Category Archives: Computer

Using mplayer with ATI UVD hardware acceleration to play h264 videos and the open source mesa driver under Linux

Since version 9.2.0-1 the open source Mesa driver supports ATIs UVD hardware video acceleration for h264 videos.

If it was enabled correctly your boot log should contain something like this:

Aug 31 18:55:22 main kernel: [drm] UVD initialized successfully.

You can easily check this with:

# journalctl -b | grep UVD

Now if you want to play a video with mplayer and make use of the new feature, you should append following parameter:

-vc ffh264vdpau

If everything went well you should see something like:

Starting playback...
[VD_FFMPEG] Trying pixfmt=0.
[VD_FFMPEG] XVMC-accelerated MPEG-2.
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [vdpau] 1280x720 => 1280x720 H.264 VDPAU acceleration

after mplayer has started.

And it’s really worth it! Without hardware acceleration the average CPU usage of mplayer was around 20% and it dropped to 1.7%!
This is how I watch dvb-c with mplayer:

mplayer dvb://Das\ Erste\ HD -vc ffh264vdpau -demuxer lavf -ao alsa:device=hw=1.0 -cache 8192

See a earlier post of mine about this subject: klick

Used source: klick

HP Mini 110 Windows 7 64-bit Treiber Ethernet LAN WLAN Wireless Driver

Die Gesichter von HP bieten für den HP Mini 110 keine 64 Bit Treiber für Windows auf ihrer offiziellen Downloadseite an (Produktpolitik). 🙁

Nach einer Installation sitzt man dann nämlich da, ohne LAN und WLAN-Treiber und kann eigentlich nichts mit dem Netbook anfangen bzw. auf Windows Update zugreifen 👿

Deshalb hier mal die Downloadlinks für die LAN und WLAN Treiber. Sobald die installiert sind lädt sich Windows auch den passenden Graphiktreiber herunter und alles läuft soweit.

Zumindest den LAN Treiber bekommt man direkt bei Realtek:
LAN: Verbautes Modell: Realtek rtl8101e rtl8102e
http://www.realtek.com.tw/DOWNLOADS/downloadsView.aspx?Langid=1&PNid=14&PFid=7&Level=5&Conn=4&DownTypeID=3&GetDown=false
Die Datei, die ihr benötigt, ist unter “Win7 and WinServer 2008 R2 Auto Installation Program (SID:1594878)” herunterladbar.

WLAN genauso, hier gibt es ebenfalls kein 64Bit Treiber direkt von HP, allerdings bei Lenovo:
WLAN: Es ist ein Broadcom BCM4313 Chipsatz:
http://download.lenovo.com/consumer/desktop/11002479.exe
Dieser Treiber wird nur benötigt, wenn ihr direkt alles über WLAN machen wollt, da der Treiber über Windows Update auch bezogen werden kann.

Kein Ram-Tausch bei neuen Apple 2012 MacBook Pro Laptops mit Retina Display

Da Artikel über Macs immer ne Menge Leute interessieren hier mal meine Meinung zu den neuen MacBook Pros mit Retinadisplay, die letzte Woche wieder mit viel Pomp und Getöse und entsprechendem Medienecho vorgestellt wurden. (Das ich hier darüber schreibe ist ja wohl ein Beweis, das Apples Marketing gut funktioniert, oder?) 😀

Ich habe mir den Artikel von ifixit.com durchgelesen, in dem sie ein neues MacBook mal aufschrauben.

Das erste Mal laut lachen musste ich, als ich ein wirklich sehr schönes Beispiel für kognitive Dissonanz gefunden habe:
Es geht darum, dass Apple jetzt eigene (proprietäre) Schrauben einsetzt, für die man wieder einen extra Schraubendreher braucht. Kommentar des Artikels dazu:

We love a challenge, which is good news, because unlike previous generations of MacBook Pros, the MacBook Pro with Retina display is guarded by Apple’s proprietary pentalobe screws

:mrgreen: Ohne Worte

macbook-pro-retina-swap-ram
Innenaufbau MacBook Pro Retina

Als nächstes habe ich das Bild des Innenaufbaus angeschaut, hier fällt dem Betrachter sofort auf: Apple verlötet die Speicherbausteine fest mit dem Mainboard, ein späteres aufrüsten ist als nicht ohne weiteres Möglich! (Die SMD-erprobten Leute mit Heißluftlötstationen mal ausgenommen)

Etwas weiter im Artikel dann noch ein lustiges Detail: Apple verbaut ja schon länger keine von außen tauschbare Akkus mehr, aber diesmal haben sie die Akkus in das Gerät eingeklebt…

Bei einem Einstiegspreis von 2199$ bekommt man also ein Gerät bei dem man:

  • weder selbst den RAM aufrüsten oder bei einem defekt tauschen kann
  • noch den Akku selbst tauschen kann. Von der fehlenden Möglichkeit für lange Tage einen Zweiakku zum Wechseln mitzunehmen mal ganz zu schweigen.
  • Die Geräte haben keinen Ethernetport mehr, das geht nur noch per Adapter

Wetten das Ding wird ein Erfolg? :mrgreen:

How To: 1080p Videos mit dem Raspberry Pi abspielen

In diesem Artikel wird erklärt, wie mit dem Raspberry Pi h264-codierte Videos mit einer Auflösung von 1920×1080 Pixeln (aka. FullHD / 1080p) abgespielt werden können.

“Installation” von Archlinux

Da ich inzwischen auf dem Laptop Archlinux einsetze und dort relativ zufrieden bin, habe ich mich gegen Debian entschieden und verwende stattdessen lieber die Archlinux Distribution für den Pi. Das Image kann man auf der offiziellen Downloadseite per Torrent oder http herunterladen. Anschließend kopiert man das Image einfach auf eine SD-Karte. Hierfür habe ich eine einfache 2GB SD-Karte verwendet. Kopiert wird mittels dd:

# dd if=archlinuxarm-29-04-2012.img of=/dev/sdX bs=4M oflag=sync

Wobei X der dem Buchstaben des Blockdevices unter dem die SD-Karte erreichbar ist entspricht. Falls man sich bezüglich des Buchstabens unsicher ist, kann nachdem die SD-Karte an den Computer angeschlosse wurde mit $ dmesg der Nachrichtenbuffer des Kernels ausgegeben werden. Hier sollte am Ende der Ausgabe etwas wie:
[ 2700.131623] sd 10:0:0:0: [sdf] 3862528 512-byte logical blocks: (1.97 GB/1.84 GiB)
[ 2700.132608] sd 10:0:0:0: [sdf] Assuming drive cache: write through
[ 2700.134458] sd 10:0:0:0: [sdf] Assuming drive cache: write through
[ 2700.134462] sdf: sdf1 sdf2
[ 2700.406247] EXT4-fs (sdf2): mounted filesystem with ordered data mode

zu finden sein. In diesem Falle wäre X also f. Zur weiteren Kontrolle kann mit $ mount noch kontrolliert werden, ob /dev/sdf1 wirklich der ersten Partition der SD-Karte entspricht. Bevor man mit dd das Image auf die Karte schiebt müssen alle gemounteten Partition der SD-Karte geunmounted werden (z.B. # umount /dev/sdf1), da sonst dd ansonsten mit einer Fehlermeldung beendet.
Auf die Option oflag=sync möchte ich hier noch mit einem Satz eingehen, da ich sie erst vor kurzem in einem von Gambarus tollen Beiträgen entdeckt habe: Sie bewirkt, dass jeder Block mit Nullen aufgefüllt wird, wenn er nicht komplett mit Daten beschrieben werden kann.
Nachdem das Image auf der SD-Karte ist, kann man die SD-Karte und alle notwendigen Kabel (HDMI, LAN, evtl. Maus und Tastatur und am Schluss Strom) in den Pi stecken, der daraufhin startet.
Anschließend kann entweder per SSH oder direkt am Pi gearbeitet werden.

Installation des omxplayers

Anstatt des mplayers oder vlc sollte man den omxplayer verwenden, da dieser die GPU des Pis ausnutzt! Der omxplayer wurde freundlicherweise von spenning aus dem Raspberry Pi Forum schon crosscompiliert, was die Sache relativ einfach macht. Wer selbst compiliert, kann sich unter Debian/Ubuntu das Paket gcc-arm-linux-gnueabi installieren, um den passenden Compiler zu bekommen. Dieses Paket ist für ältere Ubuntu/Debian-Versionen wie z.B. der letzten LTS Version 10.04 nur über ein separates PPA-Repository zu erhalten.

Folgende Befehle werden auf dem Pi ausgeführt:
Herunterladen:

# wget http://seyrsnys.myzen.co.uk/rpi/omxplayer-bin.tar.xz

Entpacken:

# tar -xf omxplayer-bin.tar.xz

Nach dem Entpacken sollte der Ordner usr aus dem entstandenen Verzeichnis omxplayer nach / kopiert werden. Hierdurch kopiert man die Binaries und Dokumentation an die richtige Stelle.

# cp -r omxplayer/usr/ /

Der omxplayer benötigt das Paket libva um richtig zu funktionieren. Um dies zu installieren reicht ein einfaches:

# pacman -S libva

Sollte die Installation fehlschlagen (wie bei mir), empfiehlt es sich erst ein Upgrade auszuführen:

# pacman -Syu

Wichtig: Falls man gefragt wird, ob zuerst pacman geupgraded werden soll, dies mit Nein beantworten, da ansonsten das Update nicht richtig durchläuft.

Wiedergabetest

Als Testfilm habe ich den freien Kurzfilm Big Buck Bunny verwendet, den man sich mit

# wget http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_1080p_h264.mov

herunterladen kann (ca. 700MB).
Anschließen kann man den Film mit

# omxplayer -o hdmi big_buck_bunny_1080p_h264.mov

ruckelfrei und mit Ton über HDMI abspielen. Wird die Option -o hdmi nicht mit angegeben, wird der Ton über die 3,5mm Klinkenbuchse auf dem Board ausgegeben.
Der omxplayer besitzt zwar keine Man-Page aber eine kleine Dokumentation unter /usr/share/doc/omxplayer/README

Raspberry Pi angekommen

Raspberry Pi LogoHeute ist mein Raspberry Pi endlich angekommen 😀 Ich verfolge das Projekt schon relativ lange und freue mich schon darauf damit herumzuspielen. Als primärer Einsatzzweck ist der Raspberry Pi bei mir für Dinge geplant, für die ich – wegen dem Energieverbrauch und dem entstehenden Lärmpegel – bisher keine Lust hatte, einen normalen Rechner 24/7 angeschaltet zu lassen.

Geplant ist:

  • Eine Kamera anschließen, in kurzen Zeitabständen ein Bild auf den Server schieben und hier im Blog anzeigen
  • als kleiner privater Mailserver (weg von Gmail!)
  • CarPC

Raspberry Pi Top View Von Oben Close Up Raspberry Pi von Unten Bottom View Closeup Raspberry Pi Closeup

Alcomat Promillerechner App für Android Version 1.1

Nach knapp einem halben Jahr haben Harald und ich uns aufgerafft und am Alcomat weiterprogrammiert. Deshalb ist ab jetzt Version 1.1 mit zahlreichen Verbesserungen im Market bzw. Google Play erhältlich.

Hier mal grob zusammengefasst die Releasenotes von Version 1.1:

  • 4 neue Getränkeicons hinzugefügt – insgesamt sind es jetzt 79
  • GUI Redesign
  • Es werden Sprüche passend zum Promillestand angezeigt
  • Multilanguagesupport in Deutsch, Englisch, Französisch und Polnisch (Danke Kamill!!)
  • Die Zeit, bis man wieder nüchtern ist, wird angezeigt.
  • Sicherheitsabfrage für “Neue Saufrunde”-Button hinzugefügt. Ein versehentliches löschen aller getrunkenen Drinks wird so verhindert.
  • Alle Getränke sind nun löschbar.
  • Continue reading Alcomat Promillerechner App für Android Version 1.1

GIT-Server für kleine Entwicklergruppen aufsetzen einrichten (Debian basiert)

Git-logoIn diesem Beitrag möchte ich erklären, wie man einen GIT-Server auf einem Debian basierten Server für kleinere Entwicklergruppen einrichtet.
Irgendwelche feingranularen Rechteverwaltungen sind damit nicht möglich, jeder hat Schreib- und Leserechte auf die Repositories.
Im Prinzip wird ein dedizierter GIT-User angelegt, über den alle Entwickler via ssh Zugriff auf die Repositories haben. Die Authentisierung beim Server erfolgt über ssh-public-keys.

Voraussetzung ist ein Linux-Server mit ssh-Zugang und vorhandenen root-Rechten.

Git installieren: Als erstes sollte man auf dem Server git an sich installieren:

root@server:~# aptitude install git-core -y

Git-User anlegen: Danach wird der git-User angelegt und in dessen Home-Verzeichnis gewechselt:

root@server:~# adduser git
root@server:~# cd /home/git


Continue reading GIT-Server für kleine Entwicklergruppen aufsetzen einrichten (Debian basiert)

Suchen und ersetzen in SQL / mySQL Datenbanken

Heute war etwas Aufräumarbeit in der Blog-Datenbank angesagt. 🙂

Im speziellen ging es um die Ersetzung von Links auf den alten Webspace in den Beiträgen und noch ein paar andere kleinere Änderungen.

Fügt man in WordPress ein Bild ein, wir der Pfad nicht relativ zum Webspace sondern absolut gespeichert, also mit kompletter URL. Zieht man mit dem Blog über den Lauf der Jahre mehrfach um (so wie ich) und ändert evtl. noch die Domain des Blogs, entstehen so einige Karteileichen.

Hier mal ne kleine Anleitung, wie man die ungültigen Links auf die aktuelle Adresse umbiegt:

  1. Als erstes erstellt man ein Backup – das ist wirklich sehr wichtig! 🙂 Ich benutze dazu immer mysqldump Damit kann man den kompletten Inhalt einer Datenbank einfach in eine Datei “dumpen”:
    shell> mysqldump --all-databases -u$USER -p$PASSWORT > dump.sql
    Geht anschließend etwas schief, hat man ein Backup und kann darauf zurückgreifen. Das Backup kann man mit:
    shell> mysql < dump.sql
    wieder einspielen. Hat man beim Erstellen des Dumps eine spezielle Datenbank ausgewählt sollte man:
    shell> mysql $DB-NAME < dump.sql
    verwenden.
  2. Jetzt die eigentliche Aufgabe, suchen und ersetzen: Hier zu setzt man ein Konstrukt aus dem UPDATE und REPLACE Befehl ein, führt man hintereinander mehrere Ersetzungen durch ist der Feldname in der REPLACE-Funktion besonders tückisch, da man leicht vergisst ihn mitzuändern:
    mysql> UPDATE [table_name] SET [field_name] = REPLACE([field_name],'[string_to_find]','[string_to_replace]');
  3. Im Vorfeld sollte man natürlich auch per SELECT schauen, wie viele Datensätze man überhaupt ändern muss. Hier für ist LIKE ganz praktisch:
    mysql> SELECT * FROM [table_name] WHERE [field_name] like "%SUCHTEXT%";
  4. Das war’s!
  5. Kleiner Hinweise noch: Ich lösche immer noch die bash_history, wenn ich das mysql-Passwort per Befehl mitgebe. Man weiß ja nie…

OSS-Audio-Device beim mplayer auswählen

Falls man mehrere Soundkarten im PC hat, ist es manchmal recht nützlich, diese einzeln auswählen zu können. Ich verwende hierzu immer die OSS-Ausgabe. Unter VLC kannte ich die Option schon:

cvlc --oss-audio-device=/dev/dsp *.pls

Da ich in letzter Zeit immer häufiger den altgedienten mplayer verwende, musste ich mal nachschauen und bin hier fündig geworden. Der Befehl für den mplayer lautet:

mplayer -ao oss:/dev/dsp *.mp3

Ist ganz praktisch, so kann man im Hintergrund Musik spielen lassen und z.B. über das Headset noch skypen etc.!

Update: Per Mail kam der Hinweis auf die Antiquiertheit des Open Sound Systems: Der Grund warum ich OSS verwende ist folgender:
Ich habe momentan zwei Soundkarten im PC. Über die erste Soundkarte lasse ich meistens Musik über normale Lautsprecher laufen. Deshalb starte ich den Mplayer oder vlc im OSS-Mode. Über die zweite Soundkarte ist mein Headset angeschlossen, hierüber läuft dann der ganze Rest mit Pulseaudio, also Skypen, irgendwelche Videos die man sich anschaut usw. Hat den Vorteil, dass man die Lautstärke getrennt voneinander regeln kann und kurz mal eines von beidem ausschalten.