воскресенье, 8 июня 2008 г.

Устанавливаем куки через mod_rewrite

Одна из приятных фичей в апаче, начиная с версии 2.x - это возможность устанавливать cookie без всяких внешних скриптов, прямо через mod_rewrite.

Пример (кусок кода из - не уверен, что будет работать в .htaccess, там несколько свои правила.

RewriteEngine on
RewriteCond %{QUERY_STRING} param=(.*)
RewriteRule ^(.*)$ $1? [L,R,CO=mycookie:%1:.mydomain.com]

Эти правила, если серфер заходит на наш сервер через URL

http://www.mydomain.com/somefile?param=PARAM_VAL

перенаправят его на

http://www.mydomain.com/somefile

установив куку "mycookie" в значение PARAM_VAL.

Обратите внимание на второй параметр в RewriteRule. Тот, который "$1?". Хитрость - в вопросительном знаке после $1. Я не знаю, почему (судя по документации, такого эффекта быть не должно), но без него происходит редирект на оригинальный URL, вместе со всеми параметрами %{QUERY_STRING}... что, само собой, ведет к зацикливанию редиректа. Во всяком случае, это имеет место быть у меня на apache 2.2, как на Vista, так и на FreeBSD 6.2

среда, 4 июня 2008 г.

Создание WMV-клипов при помощи ffmpeg

Начинаю понемногу записывать в блог то, что а) не хотелось бы забыть самому б) что может быть полезно другим.

Итак, на днях добился от ffmpeg того, что он мне сгенерил честный WMV, который может быть проигран на голой XP. Тут производится "нарезка" готового фильма на короткие сцены, но так можно получить WMV из всего, что может быть прочитано ffmpeg'ом.

ffmpeg -vocodec wmv2 -acodec wmav2 -sameq -y -ss {offset} -t {duration} -i movie_in.wmv movie_out.wmv

Не то, чтобы открытие мирового масштаба - но пришлось слегка повозиться, подбирая кодеки.