Dhyana – Screenshots und Previews von Filmen unter Debian

13. Januar 2010

Wer mir der Bearbeitung mit Videos zu tun hat, der hat unter Umständen Interesse an der Erstellung von Vorschau-Bildern. Da mein Rechenknecht keinen Bildschirm hat mache ich einige Sachen über SSH auf dem Server, unter anderem benötige ich ab und an einen Screenshot. Dhyana ist ein ganz hervorragendes Perl-Script, was genau das tut.

Um Dhyana einsetzen zu können benötigt man einige Abhängigkeiten, die aber schnell installiert sind.

apt-get install perl mplayer imagemagick ffmpeg libfile-chdir-perl libgetopt-argvfile-perl bzip2

Man benötigt noch ein Tool des Mplayers, was aber nicht im Mplayer-Packet enthalten ist. Man läd sich also mal den aktuellen Mplayer-Snapshot:

wget http://www.mplayerhq.hu/MPlayer/releases/mplayer-checkout-snapshot.tar.bz2

was dann entpackt wird..

tar xf mplayer-checkout-snapshot.tar.bz2

Man geht mal in den Tools-Ordner

cd mplayer-checkout-*/TOOLS

und guckt ob die midentify.sh drin ist. Wenn sie es ist kopieren wir sie in unseren Binary-Ordner, in dem Dhyana beim Ausführen nachguckt.

cp midentify.sh /usr/bin/midentify && chmod +x /usr/bin/midentify

Wir besorgen uns nun, da wir die Vorbereitungen abgeschlossen haben, das Perl-Script Dhyana von hier und machen es ausführbar:
http://tobyinkster.co.uk/blog/2008/01/06/dhyana/

wget http://tobyinkster.co.uk/blog/2008/01/06/dhyana/files/dhyana.pl && chmod +x dhyana.pl

Das war es auch schon. Wir können nun das Script ausführen zb. mit:

./dhyana.pl big_buck_bunny_1080p_surround.avi

Und fertig, unsere Vorschau liegt im gleichen Ordner wie das Ausgangsmaterial und sieht dann so aus:

Beispiel: big_buck_bunny_1080p_surround.jpg

Dhyana bietet noch die Möglichkeit einige Einstellungen anzupassen. Die Parameter könnt ihr  euch hier angucken. Es ist auch sehr einfach im Script selbst ein bisschen rumzuschrauben.

Usage:
      dhyana.pl [options] file [cols [rows [geometry [title]]]]
      dhyana.pl --multi [options] file [file ...]
 
      Options:
        --help                   brief help message
        --man                    full documentation
        --version                print version number
        --verbose, -v            increase verbosity
        --quiet                  no status output
        --path TOOL=PATH         set path for external tool
 
  Capture options:
        --cols=X, -c X           columns of images to capture (default 4)
        --rows=Y, -r Y           rows of images to capture (default 6)
        --geometry=G, -g G       geometry of thumbnails (default 'auto')
        --title=T, -t T          title for thumbnails (filename default)
        --capture-mode=M, -C M   capture technique (default 'auto')
 
  Style options:
        --background             background colour (e.g. 'green', '#00ff00')
        --font-family            path to TTF file for text
        --font-size              size of text in pixels
        --colour, --color        colour for text
        --heading-font-family    path to TTF file for heading
        --heading-font-size      size of heading in pixels
        --heading-colour         colour for heading

Preis: Kostenlos | Webseite

Datenbankverwaltung mit Adminer statt PhpMyAdmin

7. Dezember 2009

Wen hat es nicht auch schonmal gestört, dass die Verwaltung von MySQL Datenbanken bei mehreren auszuführenden Operationen auf der Kommandozeile umständlich ist und mit Phpmyadmin ein zu umfangreiches Packet bereitsteht (ca. 10MB), was gerne auch mal bei der Installation in Zusammenhang mit alternativen Webservern rumzickt. Nach dem letzten Zwischenfall als Phpmyadmin noch unbedingt das Packet php5-mysqli brauchte um zu funktionieren reichte es mir und ich suchte nach einer Alternative, die schlank und schnell einsatzbereit ist. Ich fand schnell zu Adminer..

Adminer WebseiteRuft man den Downloadlink auf sollte sich jeder erstmal wundern, warum man nur eine einzige PHP-Datei herunterlädt um sich dann direkt danach zu freuen, dass Adminer tatsächlich nur eine Datei schlank ist. Die Datei auf den Webserver geladen ist er auch schon installiert, es ist kein weiterer Schritt notwendig. Man kann sich mit seinen Zugangsdaten am MySQL anmelden und gewohnte Operationen ausführen wie Datenbanken erstellen, ändern löschen, Tabellen einsehen und diese ändern..naja so ziemlich alles, was man im Grunde braucht in einer Datei!

Preis: Kostenlos | Webseite | Demo

sql Dateien in MySql Datenbank importieren

6. Dezember 2009

Man muss um Datenbanken wieder einzuspielen nicht Programme wie PHPMyAdmin benutzten, wenn man auf seinen Webspace, vServer bzw Root-Server per SSH zugreifen kann. Liegt eine sql-Datei vor so kann man ganz einfach folgenden Command benutzen:

 mysql -h localhost -u Username -p Datenbankname < /link/zur/datei.sql

Viel Spaß

Author: chris Categories: Anleitungen Tags: , ,

Extrahieren einer Tonspur aus einer MKV unter Debian

6. Dezember 2009

Immer öfter wird der Matroska-Container als Container für x264-codiertes Video mit einer Audiospur verwendet. Auch Untertitel oder weitere Audiospuren kann der Container aufnehmen. Wenn man ein wenig zum Beispiel mit Fernsehaufnahmen rumspielt kann man schonmal in die Situation kommen, dass man aus einem MKV-Container nur eine bestimmte Audiospur oder Untertitel-Informationen extrahieren möchte. Unter Windows ist das leicht zu bewerkstelligen, unter Debian und Ubuntu aber eben so einfach.

Nachdem man aus den Binaries per “apt-get install mkvtoolnix” das MKVTool installiert hat kann man auch MKVExtract verwenden. Auf der Kommandozeile guckt man erst einmal was für Spuren in der MKV enthalten sind mit:

mkvmerge -i container.mkv

Ausgegeben wird dann etwas wie:

Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AC3)
Track ID 3: subtitles (S_TEXT/UTF8)

Man weiß also nun, dass der Container 3 Elemente aufbewahrt. Um nun ein Element aus dem Container zu extrahieren benutzt man nun mkvextract, die 2 steht für die ID, die wir ja vorher abgelesen haben:

mkvextract tracks container.mkv 2:tonspur.ac3

Das kann nun ein wenig dauern und ihr habt die extrahierte Tonspur. Um Untertitel zu extrahieren benutzt man dementsprechend folgenden Befehl:

mkvextract tracks container.mkv 3:untertitel.srt

Viel Spaß beim basteln, inspiriert hat mich Geekology ;)

Baut der immer noch?

19. Oktober 2009

Ja, er baut immer noch. Privat hat sich in den letzten Monaten viel für mich verändert, aber ich habe den Umbau meines Blogs (Ziel ist der Einsatz eines performanteren CMS sowie die Nutzung eines schlanken Webservers) nicht aus den Augen verloren. Es ist nicht so, dass der Blog momentan langsam läuft, aber dieser Apache-Brei + Wordpress fordert einen einfach überhaupt nicht. Ich gebe zu es funktioniert alles ganz einfach, aber warum denn einfach, wenn es auch kompliziert geht ;)

Ich hoffe mit dem Übernehmen der Artikel und der SEO-Anpassung an das neue System werde ich in den nächsten Wochen abschließen können. Ich freue mich ja selbst schon darauf euch die Verwendete Software, Benchmarks und so weiter vorzustellen.

Author: chris Categories: Allgemein Tags:

[Tutorial] Saubere Installation von Nginx mit PHP und MySQL auf Debian

30. August 2009

Ich habe leider keine Anleitung gefunden, die die Installation von Nginx wirklich gut beschreibt und habe daher beschlossen selbst eine zu machen. Sie dient mir als Denkstütze und hilft euch hoffentlich unter Umständen auch mal. Wir fangen an mit der Installation des MySQL Servers.

aptitude install mysql-server mysql-client

Kurz und schmerzlos, Passwort vergeben und fertig. Dann wird Nginx installiert, was auch noch easy ist:

aptitude install nginx

Da er sich nach der Installation nicht allein startet tuen wir das:

/etc/init.d/nginx start

Nun installieren wir erstmal PHP und einige Module wie zum Beispiel unter anderem das MySQL Modul.

aptitude install php5-cgi php5-mysql php5-gd php-pear

In der php.ini

nano /etc/php5/cgi/php.ini

ändern wir nun diese Angabe wir folgt

[...]
cgi.fix_pathinfo = 1
[...]

Da Nginx leider nich ab Werk mit PHP-Unterstützung kommt müssen wir diese noch über CGI einrichten. Andere Anleitungen schlagen hier vor den Webserver Lighttpd zu installieren, weil dort das Spawn-fcgi Packet enthalten ist, was wir brauchen. Das ist aber absolut überflüssig, da wir das auch selbst kompilieren können. Dazu laden wir es uns herunter, entpacken und wechseln in den Ordner:
http://redmine.lighttpd.net/projects/spawn-fcgi/news

wget http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz && tar xf spawn-fcgi-1.6.3.tar.gz && cd spawn-fcgi-1.6.3

Wir führen Automake aus (Packet automake muss installiert sein)..

./autogen.sh

und konfigurieren Spawn-fcgi

./configure

Nun installieren wir es und haben damit nur das Packet auf unser System angepasst installiert.

make && make install

Nun starten wir einen Fast CGI Daemon für die PHP-Unterstützung auf Port 9000

/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

und packen den Befehl zusammen mit dem Startbefehl für Nginx (von oben) in den Systemstart von Debian.

/etc/rc.local

Meine sieht dann zum Beispiel so aus:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/ph$
/etc/init.d/nginx start
exit 0

Wobei ich den Webserver auch durch einen Benutzer starten lasse. Wir editieren die Standard-Einstellung von Nginx für die default-Seite wie folgt:

nano /etc/nginx/sites-available/default

Dieser Bereich wird geändert:

location ~ .php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
include        fastcgi_params;
}

Man beachte dabei die stelle include fastcgi_params, die wegen einem Bug vorher zusammen geschrieben wurde. Das war auch schon alles..man startet Nginx neu und alles funktioniert ;)

/etc/init.d/nginx restart

Viel Spaß

Author: chris Categories: Anleitungen, For Dummies, Linux, Tools Tags: