VLC Player: Удаленное управление с помощью связки PHP и Telnet. Настройка Video-on-Demand.

Сто лет назад я писал небольшой цикл по настройке файлопомойки под Linux’ом, тогда же обмолвился о том, что хочу прикрутить внутри сети потоковое видео. Потом как-то идея сошла на нет и заглохла, а вот сейчас вновь стала актуальной, в связи с чем погрузился в дебри изучения проблемы.

Сразу отмечу, что в качестве streaming server был выбран великий и ужасный VLC, который от релиза к релизу обрастает функциональностью и регулярно апдейтится. Я допускаю, что есть более интересные варианты или даже готовые out-of-the-box решения, но легких путей мы как обычно не ищем.

Схема работы всей связки VOD должна выглядеть примерно следующим образом:
> есть fronend — обычная веб-страница с индексом всех фильмов, которые доступны на файлопомойке;
> VLC настроен на управление по интерфейсу telnet и вещание по протоколу RTSP;
> при клике по названию ссылки front-end коннектится к VLC по telnet
> и посылает последовательность команд для создания нового VOD (Video-on-Demand) контейнера;
> после чего можно подсовывать RTSP линк плееру на другом конце и смотреть видео.

Прелесть VLC — в кроссплатформенности, поэтому решение будет работоспособно как под Windows, так и под Linux 🙂

Читать далее

Хостинг DNS

С давних пор, а точнее с момента появления этого блога, все мои DNS записи хостились на серверах EveryDNS. Потом сервис внезапно купила, кажется, DynDNS, и началась нездоровая чехарда. В частности, появились какие-то нездоровые ограничения для изменения DNS записей доменов в зоне .ru

Тогда и было принято решение, что надо плавно мигрировать с EveryDNS куда-нибудь, где поспокойнее. Товарищ посоветовал FreeDNS.ws. Приятный сервис, адекватная админка, но в какой-то момент нейм-сервера этой конторы стали лежать сутками. За последние 4 дня ДНСы были недоступны, пожалуй, 3 суток. Что естественно неприемлимо. Пару дней назад оттуда пришло письмо, дескать их злостно ддосят. Но это их личная проблема. Снова назрел вопрос перезда…

А тут случайно на Хабре появился анонс сервиса Your Personal DNS (YpDNS.com). Большой плюс сервиса — поддержка пяти нейм-серверов в разных частях света (Россия, США, Израиль, Малайзия, Англия); в наличии имеется удобная админка и прочие вкусности.

Сегодня утром переехал на их сервера, посмотрим как у них в плане стабильности.

Бэкап WordPress

Бэкап базы данных этого блога я делал регулярно с помощью WP-DB-Backup, однако с версией WordPress 2.9.2 он как-то не заработал, поэтому был выбран альтернативный вариант в виде WP-DB-Manager.
Что касается бэкапа файлов, то его делал руками и эпизодически, что не есть хорошо.
Сегодня решил проблему бэкапов кардинально. За основу был взят скрипт Гая Рутенберга и немножко, ну совсем самую малость допилен 🙂 Для аплода бэкапов базы данных и файловой структуры автор использовал lftp, коего на сервере не оказалось, поэтому использовал обычный ftp.

Оригинальный скрипт лежит тут.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/sh
# Copyright 2008, 2010 Guy Rutenberg <http://www.guyrutenberg.com/contact-me>
# Modified a little bit by Antipod.
 
BLOG_DIR=/path/to/blog/directory/
BACKUP_DIR=/path/to/backups/directory/
 
#fetching db settings from wp-config.php
DB_NAME=`echo "<?php require_once(\"${BLOG_DIR}/wp-config.php\"); echo DB_NAME;" | php`
DB_USER=`echo "<?php require_once(\"${BLOG_DIR}/wp-config.php\"); echo DB_USER;" | php`
DB_PASS=`echo "<?php require_once(\"${BLOG_DIR}/wp-config.php\"); echo DB_PASSWORD;" | php`
DB_HOST=`echo "<?php require_once(\"${BLOG_DIR}/wp-config.php\"); echo DB_HOST;" | php`
 
#ftp server to save backups
FTP_HOST=host
FTP_USER=username
FTP_PASS=password
#if u don't want to save backups in root catalog then u probably want to edit this line. 
#Note: path must be surrounded by '/'
FTP_BACKUP_DIR=/
 
# end of configuration - you probably don't need to touch anything bellow
BLOG_DIR=`dirname "$BLOG_DIR"`/`basename "$BLOG_DIR"`
BACKUP_DIR=`dirname "$BACKUP_DIR"`/`basename "$BACKUP_DIR"`
 
echo -n "Dumping database... "
DUMP_NAME=${DB_NAME}-$(date +%Y%m%d).sql.bz2
mysqldump --user=${DB_USER} --password=${DB_PASS} --host=${DB_HOST} \
 --databases ${DB_NAME} \
 | bzip2 -c > ${BACKUP_DIR}/${DUMP_NAME}
if [ "$?" -ne "0" ]; then
	echo "failed!"
	exit 1
fi
echo "done"
 
echo -n "Creating tarball... "
TAR_NAME=${BLOG_DIR##*/}-$(date +%Y%m%d).tar.bz2
tar -cjf ${BACKUP_DIR}/${BLOG_DIR##*/}-$(date +%Y%m%d).tar.bz2 ${BLOG_DIR}
if [ "$?" -ne "0" ]; then
	echo "failed!"
	exit 2
fi
echo "done"
 
echo -n "Uploading SQL dump and tarball to FTP... "
ftp ftp://${FTP_USER}:${FTP_PASS}@${FTP_HOST}/ <<EOF
cd ${FTP_BACKUP_DIR}
put ${BACKUP_DIR}/${DUMP_NAME} /${DUMP_NAME}
put ${BACKUP_DIR}/${TAR_NAME} /${TAR_NAME}
 
EOF
if [ "$?" -ne "0" ]; then
	echo "failed!"
	exit 3
fi
echo "done"

Софтово-железячное

1. После 2.5 лет бесперебойной работы (говоря бесперебойная, подразумевая 24/7) сгорел 450 Вт блок питания Chieftec. Причину поломки пока не выяснил, но есть мнение, что остановился кулер, БП перегрелся да и здох. Вместо него поставил БП от этого же производителя но на 400 Вт, 10 дней — полет нормальный.

2. В конец устав от тормозов при одновременной работе в Lightroom и Photoshop, решил добавить в рабочую машинку еще 2 гига оперативы к уже имеющимся двум. Из закромов были извлечены два модуля Corsair XMS2-6400C4, для которых производителем заявлена возможность работать на таймингах 4-4-4-12. Два аналогичных модуля успешно крутятся в машине не первый год, а эта пара с завидным постоянством рушила систему в BSOD. В сервисе, в свое время, менять модули по гарантии отказались, мотивировав тем, что тест памяти ошибок не выявил. При таймингах 5-5-5-18 система работает стабильно, да черт бы с ней, что неуловимо медленней 😀

3. В сервант под Fedora 12 воткнул два старых IDE винта, некогда работавших в софтовом зеркальном рейде. Долго не мог понять почему один из винтов не форматируется. Выяснилось, что умная линуха без спросу создала рейд-массив. Очевидно злую шутку сыграло наличие служебной информации о RAID на этих винтах.

Пришлось ручками удалять метки.

dmraid -r -E

В системе быстренько были опознаны бывшие рейдовые винты и предложено удалить с них метки принадлежности к рейду.
После перезагрузки появились /dev/sdb1 и /dev/sdd1, соответственно.

4. В свое время, размещал в этом блоге панораму Будапешта с помощью плагина WP-PhotoNav. Очень не понравилось, что перемещение картинки происходит при Mouse Over. Намного удобнее, имхо, перемещние при нажатой левой кнопке мыши. Вот эта мысль наряду с некоторыми другими была доведена до автора плагина. В новой версии этот функционал реализован. Страница плагина: http://fabianmoser.at/wp-photonav

5. Photoshop конечно всем хорош, но собирать большие панорамы в нем — адово занятие, особенно если использовать Auto-Align Layers и Auto-Blend Layers. Катастрофически не хватает оперативы. В настоящий момент собираю панорамы с помощью Autopano Giga. Функционально, быстро, с умеренным расходом памяти и хорошим результатом.

UPD

6. А еще вспомнил про неприятный баг, с которым столкнулся при переносе почтовых ящиков пользователей с локальных машин на сервер. По плану подразумевалось, что доступ к ящикам будет открыт с помощью виндовых шар. Уж не знаю, проблема ли в The Bat!, или в шарах, или и в том и другом сразу, но в определенные моменты содержимое папки «Входящие» бесследно пропадало, файлы messages.tbb и messages.tbn оказывались перезаписаны и пусты. Содержимое вложенных в Inbox папок оставалось неповрежденным.

Условия, при которых происходил сей коллапс установить не удалось, но отключение сжатия папок проблему решило. Причем отключать сжатие нужно как в настройках всего ящика, так и для папки «Входящие».

WordPress 2.9.2. У вас недостаточно прав для просмотра этой страницы

Обновился до WordPress 2.9.2, но при попытке входа в админку получил по всей роже текстом «У вас недостаточно прав для просмотра этой страницы». Так я ж вроде как админ… Должны быть права…

Методом тыка было установлено, что плагин WP-DB-Backup обезьянит с новой версией WordPress. Все что нужно сделать — переименовать или удалить /wp-content/plugins/wp-db-backup/wp-db-backup.php

Ждем новой версии плагина.

Панорама Майдана и как я ее делал

В прошлом году я размещал у себя в блоге панораму Будапешта. Решение, которое было использовано, нельзя назвать удачным. Для показа фотографии использовался плагин WP-PhotoNav, который банально подтягивал jpg с сервера и обеспечивал его горизонтальную прокрутку. В этот раз я пошел другим путем.

С помощью Pano2VR я затолкал jpg во флэш, добавил туда немного рюшек в виде поддержки полноэкранного режима, масштабирования, прокрутки по по вертикали/горизонтали.

Софтина  довольно гибкая, описывать функционал ее не стану, подробно с ним можно ознакомиться на сайте программы и в статейке на Хабре.

После того, как ролик был залит на сервак, осталось всего ничего, затолкать его в пост. В процессе поиска обнаружил минималистичный плагин WP-SFWObject. Скачать его можно здесь.

А это все, что нужно вставить в пост, чтобы было счастье.
[SWF]movie.swf, width, heigth[/SWF]

Под катом результат…

Traffic warning!!!

Читать далее

Файлопомойка. Часть 3. WebUI

Да, вот здесь начинается самая веселуха, ибо над развертыванием этого проклятого ГУЯ бился я, ну наверное, сутки. В итоге все конечно разрешилось, причем самым презабавным образом и за пару минут, однако не буду более забегать вперед, все будет последовательно.

Как я уже писал во второй части цикла «Файлопомойка», в качестве торрент-клиента я выбрал rTorrent, соответственно и WebUI выбирался для него. Скоренький поиск в Гугле показал, что самым обсуждаемым, читай востребованным, является wTorrent. Когда я только только начинал читать ман по установке, я и не знал, подо что подписался.

Читать далее

Файлопомойка. Часть 2.

rtorrentПродолжаю собирать нечто похожее на файловый сервер. Очередь дошла до торрент-качалки. Среди всего разнообразия остановился на rTorrent, хотя до него посматривал в сторону Transmission. Не посленюю роль сыграло то, что рторрентом можно вполне себе вменяемо управлять через консоль, есть некое подобие интерефейса, плюс богатый выбор всяческих веб-интерфейсов, которые, к слову сказать, по функциональности сильно превосходят используемый в трансмиссии.

К делу…

Читать далее

Файлопомойка. Часть 1.

Решил собрать себе небольшой файл-сервер. В качестве операционки остановился на Fedora 12 (никаких веских аргументов в пользу нее у меня нет, просто под руку попался образ для VMWare). Хотелось конечно обойтись малой кровью и установить FreeNAS, но после чтения манов и ЧАВО было установлено, что NTFS она понимает в режиме ‘только для чтения’, что меня никак не устраивает, т.к. в наличии уже имеется железный рейд на 2ТБ в системе NTFS и никакого желания конвертировать его в другую файловую систему у меня нет.
Для себя определил следующие требования к будущему файл-серверу:

  • работа с виндовыми шарами
  • торрент-качалка с WebUI и RSS
  • фтп-сервер
  • загорелся идеей сделать еще потоковое вещание через VLC

Читать далее

Установка Rockbox на Cowon D2

Решил поставить на свой Cowon D2 альтернативную прошивку Rockbox. Вспомнилось, что недавно была на эту тему статья на Хабре. Сама по себе статья полезна, в плане получения общей информации о Rockbox’е, фичах и навигации. Но вот сам момент перепрошивки описан как-то сумбурно, да и одна из ссылок не работает уже.

В общем ниже подробная инструкция по установке с рабочими ссылками.

Читать далее