[Aquaristik] Die gemeine Amano Garnelen bei der Arbeit
Amano Garnelen (Yamatonuma Garnele) optimal gegen Fadenalgen und verstehen sich recht gut mit gleich oder leicht größeren Fischen.
Amano Garnelen (Yamatonuma Garnele) optimal gegen Fadenalgen und verstehen sich recht gut mit gleich oder leicht größeren Fischen.
Ich bin durch Zufall darauf gestoßen, das man ab Flash 10 nun H.264 Videos durch Flash streamen lassen kann. Klar man kann nun auf die HTML5 Tags umschwenken , aber ich möchte das gerade wenig versierte PC Anwender auch meine Videos (da es sich um Hilfe-Videos handelt) sehen können. Kurz gegoogled und ein passendes Addon für nGinx (geht auch mit Apache, lighttpd, etc.) gefunden: Code-Shop
Das ganze dann wie im Wiki beschrieben gemacht und zack – Fehler! Läuft nicht mit der derzeit als Stable gekennzeichneten Version nGinx 0.7.67.
In einer Mailingliste habe ich dann die Lösung gefunden:
cd /usr/src wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz tar -zxvf nginx_mod_h264_streaming-2.2.7.tar.gz wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz tar -zxvf nginx_mod_h264_streaming-2.2.7.tar.gz cd nginx_mod_h264_streaming-2.2.7 curl -o hpatch.patch "http://www.freebsd.org/cgi/cvsweb.cgi/ports/www/nginx-devel/files/extra-patch-ngx_http_streaming_module.c?rev=1.1;content-type=text/plain" patch -p0 < hpatch.patch cd ../nginx-0.7.67 ./configure --add-module=/usr/src/nginx_mod_h264_streaming-2.2.7 make sudo make install
Und dann wie im Wiki einfach weiter machen und in der nginx.conf um die Zeile 40 folgendes einfügen:
location ~ \.mp4$ {
mp4;
}
Dann nur noch starten und es kann los gehen.
Falls das Patchfile irgendwann nicht mehr verfügbar ist, hier ist der Inhalt der Datei hpatch.patch
--- ../nginx_mod_h264_streaming-2.2.7/src/ngx_http_streaming_module.c.orig 2010-05-24 18:04:43.000000000 +0400
+++ ../nginx_mod_h264_streaming-2.2.7/src/ngx_http_streaming_module.c 2010-05-24 18:05:02.000000000 +0400
@@ -155,10 +155,6 @@
}
/* TODO: Win32 */
- if (r->zero_in_uri)
- {
- return NGX_DECLINED;
- }
rc = ngx_http_discard_request_body(r);
[youtube]OzcrXHSU6_Y[/youtube]
Um die Session Variabel auch im Template direkt benutzen zu können gibt es zwei Varianten.
Variante 1:
Man fügt in der settings.py unter TEMPLATE_CONTEXT_PROCESSORS den Eintrag django.core.context_processors.request hinzu:
TEMPLATE_CONTEXT_PROCESSORS = ( "django.core.context_processors.auth", "django.core.context_processors.debug", "django.core.context_processors.i18n", "django.core.context_processors.media", 'django.core.context_processors.request', )
Dann kann man z. B. Session Daten aus dem request im Template mit
{{ request.session }}
benutzen.
Variante 2:
Alternativ kann man eine “schlankere” Variante benutzen falls man nicht alles bzw. nur ein Teil der request Daten benötigt – wie bei mir – nur die Session Variabel. Dazu erstellen wir im Projektverzeichnis die Datei context.py.
context.py:
def add_session(request):
return {'session': request.session}
settings.py:
TEMPLATE_CONTEXT_PROCESSORS = ( "django.contrib.auth.context_processors.auth", "django.core.context_processors.debug", "django.core.context_processors.i18n", "django.core.context_processors.media", "django.contrib.messages.context_processors.messages" "context.add_session", )
Und schon kann man im Template auf die Session Daten zugreifen.
{{ session.variablenname }}
Optimal ist diese Variante um ggf. eigene Daten per Default im Template verfügbar zu machen.
Für einen Kunden habe ich ein Django Projekt erstellt welches er selber hosten möchte. Nach langem Suchen nach einem geeigneten und preiswerten Provider bin ich auf den Cloud-On-Demand Server von DomainFactory mit dem namen JiffyBox gestoßen.
Letzte Kommentare