Bilder in Flash / Actionscript 3.0 laden

Das ist der minimalste Code um ein Bild per Actionscript 3.0 zu laden und anzuzeigen. ((http://help.adobe.com/enUS/AS3LCR/Flash10.0/flash/display/Loader.html#includeExamplesSummary))

Einfach eine neue Flashdatei anlegen diesen Code ins erste Frame einfügen, speichern und ausführen. Das Bild muss im gleichen Verzeichnis wie die *.fla liegen.

var url:String = "bild.jpg";
function BildLaden() {
   var loader:Loader = new Loader();
   var request:URLRequest = new URLRequest(url);
   loader.load(request);
   addChild(loader);
   }
BildLaden();

Wie installiere ich Redmine auf lighttpd mit FastCGI?

Als Voraussetzung für dieses Tutorial solltest du eine funktionierende Ruby on Rails-Umgebung haben. Dazu bietet sich das lighttpd Tutorial im Nerdlabor an. (1)

Dieses Tutorial basiert auf der original RedmineInstall. (2)

Als erstes brauchst du die neuste Version von Redmine. Downloaden, entpacken, in den Webroot kopieren (bei mir ist das /var/www/, kann aber auch jeder andere Ordner sein).

wget http://rubyforge.org/frs/download.php/52944/redmine-0.8.2.tar.gz
tar xzf redmine-0.8.2.tar.gz
cp -r redmine-0.8.2/ /var/www/
mv /var/www/redmine-0.8.2/ /var/www/redmine

Jetzt musst du eine Datenbank anlegen. Ich nutze MySQL aber es sind auch alle anderen bekannten Datenbanken möglich. Dazu die MySQL-Konsole starten und eine Datenbank erzeugen.

mysql -u  root -p
mysql>create database redmine character set utf8;

Als nächstes müssen wir die Datenbankanbindung von Redmine konfigurieren.

cd /var/www/redmine/config
cp database.yml.example database.yml
nano database.yml

Dort im "production"-Bereich Datenbankname, -benutzer und -passwort angeben. In diesem Beispiel ist es root, aber es empfiehlt sich für Redmine einen eigenen Datenbankbenutzer anzulegen.

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: root
  password: passwort
  encoding: utf8

Jetzt können wir die Datenbank befüllen.

Erstens mit Struktur:

cd ..
rake db:migrate RAILS_ENV="production"

Zweitens mit einer Standardkonfiguration:

rake redmine:load_default_data RAILS_ENV="production"

Als nächstes erstellen wir eine dispatch.fcgi aus dem mitgelieferten Beispiel.

cd public/
cp dispatch.fcgi.example dispatch.fcgi

In dieser Datei muss ggf. noch der Pfad zur Ruby-bin angepasst werden. Um das zu tun, einfach mit

nano dispatch.fcgi

die erste Zeile in

#!/usr/local/bin/ruby

abändern. Je nachdem wo euer Ruby liegt.

Als nächstes muss noch die lighttpd.conf angepasst werden. Dazu mit

nano /etc/lighttpd/lighttpd.conf

folgende Zeilen hinzufügen bzw. abändern.

$HTTP["host"] == "redmine.meinedomain.de" { #hier ist auch localhost oder sonstwas möglich
        server.document-root = "/var/www/redmine/public"

        server.dir-listing          = "disable"
        server.error-handler-404 = "/dispatch.fcgi"

        fastcgi.server      = ( ".fcgi" => ( "redmine" => (
                "min-procs"       => 1,
                "max-procs"       => 1,
                "socket" => "/tmp/redmine.socket",
                "bin-path" => "/var/www/redmine/public/dispatch.fcgi",
                "bin-environment" => ( "RAILS_ENV" => "production" )
        ) ) )
}

Jetzt müssen noch die Ordnerrechte an den Webserver-User übergeben werden. Bei mir ist das der Benutzer "www-data".

cd ../..
chown -R www-data:www-data redmine/

Jetzt kannst du mit

sudo /etc/init.d/lighttpd restart

lighty neustarten und hoffen, dass Redmine unter der angegebenen Adresse erreichbar ist. :)

Webdav unter Ubuntu als festes Laufwerk einbinden

There was a time, when I shared a blog. This post was written by Stephan. See all blogpost from him or stalk him on github.


Welcher FTP-Nutzer kennt das nicht: Der angemietete Webspace ist mit vielen Dateien überfüllt und muss nun endlich aufgeräumt werden. Doch auch mit einer schnellen Internetverbindung ist das nicht so schnell erledigt. Ursache ist hier das FTP Protokoll, das für jede Datei, egal ob gelöscht oder hochgeladen werden soll, eine Anfrage starten muss bevor die gewünschte Operation überhaupt ausgeführt wird. Und das kostet natürlich viel Zeit ;-(. Abhilfe schafft hier WEBDAV. Es basiert auf dem TCP Protokoll und erlaubt das Löschen, Kopieren und Erzeugen von mehreren Dateien in einer "Anfrage". Weiterer Vorteil, vor allem für Administratoren: Es läuft ebenfalls auf Port 80, d.h. zur Bereitstellung von Dateien muss kein zusätzlicher Port freigegeben werden (z.B. FTP benötigt Port 21). Weitere Informationen zu Webdav gibts hier Mit einer entsprechenden Internetanbindung kann die Webdav Ressource wie ein vollwertiges Laufwerk eingebunden werden. Und wie das unter Ubuntu geht, erfahrt ihr jetzt:

Zuerst müssen folgende Pakete installiert werden

sudo apt-get install ca-certificates davfs2

Sollten die Pakete nicht verfügbar sein, liegt das wo möglich an deaktivierten Quellen in der sources.list des Paketmanagers. Dazu folgendes in der Konsole eingeben:

sudo nano /etc/apt/sources.list

und die mit # (Raute) auskomentierten Quellen durch Entfernen der Raute aktivieren z.B. Vorher:

#deb http://de.archive.ubuntu.com/ubuntu/ intrepid universe

Nachher:

deb http://de.archive.ubuntu.com/ubuntu/ intrepid universe

Als nächstes muss jedem Nutzer das Einbinden des Laufwerks erlaubt werden. Dafür muss in Linux das SUID-Bit gesetzt werden.

sudo chmod u+s /usr/sbin/mount.davfs

Das Setzen des Flags ermöglicht es, als Nichtadmin (root) einen root-Befehl auszuführen. Weiterhin muss auch das Sticky-Bit für mount.davfs gesetzt werden (weiterer Informationen zum Sticky-Bit gibts hier)

sudo chmod 1775 /var/run/mount.davfs

Als nächstes muss der Webdav-Dienst unter Linux konfiguriert werden. Die dafür zur Verfügung stehenden Einstellungen findet man in der davfs2.conf. Nach dem Öffnen von

sudo nano /etc/davfs2/davfs2.conf

sucht man sich die folgenden Zeilen

# General Options
# ---------------

# dav_user        davfs2            # system wide config file only

Unter der Zeile mit dav_groups wir folgendes eingetragen:

dav_group       users

Die Gruppe des Webdav-Dienstes brauchen wir nicht zu ändern (auch nicht durch Entfernen der Raute aktivieren). Dann muss der aktuelle Nutzer zu den Gruppen davfs2 und users hinzugefügt werden. Das erreichen wir mit folgenden Befehlen.

sudo adduser "BENUTZERNAME" davfs2
sudo adduser "BENUTZERNAME" users

Nun müssen die Login-Daten für den Webdav-Account mit beschränkten Leserechte im System hinterlegt werden. Dies geschieht global für alle Systemnutzer in der Datei /etc/davfs2/secrets. Die Zugangsdaten werden nach folgendem Schema eingegeben:

# Allgemein
"WebDAV-URL" "login" "passwort"
# Zum Beispiel
http://pfad/des/webdav/anbieters  WebDavUserLoginName  Passwort

Anschließend muss die Datei noch in den Zugriffsrechten eingeschränkt werden:

sudo chmod 600 /etc/davfs2/secrets

Zuletzt muss in der fstab noch der Mountpunkt für Webdav festgelegt werden. Nach der Eingabe von

sudo nano /etc/fstab

folgendes am Ende der Datei einfügen:

# Allgemein
htto;//"webdavurl" "mountpunkt" davfs user,noauto 0 0
# Allgemein mit verschlüsselter Übertragung
https://"webdavurl" "mountpunkt" davfs user,noauto 0 0
# Zum Beispiel
https://mediacenter.gmx.net /media/webdav davfs noauto,user,rw 0 0

In der Konsole kann dann die Webdav-Ressource bei Bedarf eingebunden werden (und das natürlich ohne root-Rechte):

#Zum Beispiel
mount /media/webdav

Der Mountpunkt muss zuvor natürlich erstellt werden.

sudo mkdir /Pfad/zum/mount/Punkt

Jetzt sollte der Webdavordner in das Dateisystem von Ubuntu eingebunden sein.

Lautstärke von Audio-Dateien angleichen (lossless)

OS: Ubuntu Intrepid 8.10 und andere Architektur: i386, AMD64

Beschreibung: EasyMP3Gain ist ein grafisches Frontend für MP3Gain, VorbisGain und AACGain. Unterstützte Dateitypen: mp3, ogg, oga, mp4 und m4a (aac wird nicht unterstützt)

Die Analyse der Audiodateien geschieht durch die ReplayGain-Analyse (http://www.audiohq.de/index.php?showtopic=23).

Die Anpassung der Lautstärke geschieht ledeglich durch Hinzufügen eines Meta-Tags. Dadurch werden die eigentlichen Audio-Daten nicht verändert. Die Meta-Tags lassen sich auch wieder entfernen, wodurch alle vorgenommenen Lautstärkeanpassungen wieder rückgängig gemacht werden können.

Insofern der verwendete Player die Meta-Tags "versteht", werden die Dateien mit angepasster Lautstärke abgespielt.

Getestete Player, die die Meta-Tags "verstehen" (andere können das wahrscheinlich auch): Totem Video-Player, VLC, MPlayer

Installation:

Grafisches Frontend: easyMP3Gain (download hier http://sourceforge.net/projects/easymp3gain/)

Folgende Pakete müssen installiert sein: mp3gain (universe) vorbisgain aacgain (nicht in den Quellen, .deb-Pakete -> http://www.repositorios.pr.gov.br/marillat/pool/main/a/aacgain/) Die Pakete aus den Ubuntuquellen können hier gefunden werden: http://packages.ubuntu.com

Webcambilder mit ffmpeg erzeugen

Standardbefehl um ein Video aus /dev/video0 zu erzeugen:

ffmpeg -f video4linux2 -s 960x720 -r 25 -i /dev/video0 -vcodec copy test.avi

Befehl um aus einem Video Bilder zu erzeugen:

ffmpeg -i test.avi -r 1 -s WxH -f image2 test-%03d.jpeg

Kombinierter Befehl um direkt aus /dev/video0 Bilder zu schießen ("-r 0.1" entspricht alle zehn Sekunden ein Bild):

ffmpeg -f video4linux2 -s 960x720 -r 1 -i /dev/video0 -f image2 -r 0.1 test-%03d.jpeg

Oder wenn man TGA als Bildformat haben möchte:

ffmpeg -f video4linux2 -s 960x720 -r 1 -i /dev/video0 -f image2 -r 0.1 test-%03d.tga