О полезности и даже, скажем, необходимости домашнего медиасервера мы уже писали в первой статье, посвященной этой теме. В ней мы рассмотрели основные задачи, возникающие в условиях домашнего использования, а также наиболее важные компоненты, из которых должен состоять медиасервер. Со времени написания первой статьи прошло уже достаточно много времени, и за этот период мы решили несколько интересных задач, о которых мы и расскажем в этой части.
Напомним основные функции домашнего сервера:
- Хранение персонального медиаконтента (архив фотографий и семейного видео)
- Организация библиотеки фильмов для просмотра на домашнем кинотеатре
- Сервер закачек
- Сервер видеонаблюдения (хранение и каталогизация видеороликов с камер наблюдения)
- Сервер Time Machine для централизованного резервного копирования Мак-компьютеров
- Также важен удаленный доступ к информации на сервере
В этой и в следующей статье мы рассмотрим принцип работы «киношной» части. А именно – автоматизацию закачки фильмов и музыки, их конвертацию (при необходимости) и добавление в iTunes (предполагается, что воспроизведение будет осуществляться через Apple TV из библиотеки iTunes, хотя в вашем случае это может быть по другому).
Организовать обработку аудио/видео можно либо полуавтоматическим либо полностью автоматическим способом. У каждого из них есть свои преимущества и недостатки.
Способ 1. Полуавтоматический.
Сервер скачивает файлы по запросу пользователя. Запрос пользователя может представлять собой, например, email-сообщение со ссылкой на файл, который нужно скачать. Сервер получает такое письмо, и ставит ссылку из письма в очередь на закачку. Потом пользователь периодически подключается к серверу (через удаленный рабочий стол), и вручную разбирает скачанные файлы – или добавляет их в библиотеку iTunes, или ставит на конвертацию, или делает что-либо еще.
Автоматическое скачивание файлов с удаленным управлением (по email) достаточно просто организовать. Нам потребуется всего лишь несколько правильных программ и сценарий на AppleScript. Рассмотрим этот механизм подробнее.
Принцип механизма заключается в том, что стандартная программа Mail (для чтения почты, есть в составе операционной системы OS X) умеет при получении писем, соответствующим заранее заданным критериям, выполнять множество разнообразных действий, среди которых есть запуск сценариев AppleScript. Сценарий AppleScript – это набор команд какой-нибудь программе, написанный на языке AppleScript. Изучение этого языка выходит за рамки нашей статьи, но вы увидите, что он достаточно понятен даже человеку не знакомому с программированием, и представляет собой мощный инструмент автоматизации. В нашем случае скрипт будет представлять собой команду программе Speed Download поставить файл на закачку.
Итак, давайте настроим нашу простейшую «качалку».
На сервере с Mac OS X настройте Mail, можно даже создать отдельный почтовый ящик для своего сервера (gmail.com вам в помощь). В настройках Mail перейдите на последнюю вкладку «Rules» (Правила):
И нажмите на кнопку «Add Rule» (Добавить правило). Появится окошко настройки правила:
Введите в поле «Description» произвольное название, затем в условиях выберите Subject –> Contains –> и введите «start download». Таким образом мы задаем, чтобы это правило срабатывало при поступлении письма в теме которого содержится фраза «start download». Ниже выберите какое действие следует выполнить при поступлении такого письма: Run AppleScript –> и укажите путь к срипту.
Собственно сам скрипт будет иметь вид примерно такой (предполагается, что для закачек используется программа Speed Download), она выбрана за наилучшую поддержку AppleScript:
using terms from application "Mail"
on perform mail action with messages theMessages for rule theRule
tell application "Mail"
repeat with theMessage in theMessages
set theBody to content of theMessage as rich text
my addLinkToDownload(theBody)
end repeat
end tell
end perform mail action with messages
end using terms from
on addLinkToDownload(theText)
tell application “Speed Download”
AddURL {theText}
end tell
end addLinkToDownload
Откройте редактор AppleScript (Applications/Utilities), вставьте этот код, откомпилируйте, и сохраните как скрипт в любом удобном месте:
Теперь, попробуйте отправить на email-адрес сервера письмо со ссылкой на файл, который нужно скачать, не забудьте указать в этом письме правильную тему. Убедитесь, что программа Mail на сервере запущена – она же должна получить письмо и запустить по его приходу скрипт. Обратите внимание, это должна быть прямая ссылка, например, http://southpolesoftware.com/iVI/iVI.dmg (кстати, скачайте эту программу она пригодится нам в дальнейшем). Очевидно, что в самой простой реализации, в теле письма не должно быть ничего лишнего кроме одной ссылки, весь дополнительный «мусор», который будет найден, будет интерпретирован как одна длинная ссылка и она будет поставлена на закачку. Понятно, что в таком случае ничего не скачается. Можно, конечно, дописать парсер текста на AppleScript, который будет корректно обрабатывать, скажем, несколько ссылок в одном письме, но это уже немного другая тема. Сейчас главное понять, что в принципе, все зависит только от вашей фантазии и навыков обращения с AppleScript.
Полуавтоматический способ хорош, достаточно прозрачен с точки зрения алгоритма, и имеет свои преимущества и недостатки. Подытожим сильные и слабые стороны этого способа.
Преимущества полуавтоматического способа: можно заранее создать папки для фильмов, например «Мультики», «Худ. Фильмы», «Документальные фильмы», «Сериалы» и потом вручную по ним раскладывать закачки. Таким образом все будет разложено по категориям. Это преимущество неактуально при использовании Apple TV с официальной прошивкой – она воспроизводит файлы исключительно из медиатеки iTunes.
Недостатки полуавтоматического способа: Нужно лишний раз подключаться к серверу «Удаленным экраном» и наводить порядок в скачанных файлах.
И напоследок, – не забудьте добавить в автозагрузку Mail и Speed Download.
В следующей части мы рассмотрим второй, автоматический способ управления закачками. Также напомним, что для домашнего сервера наилучшим (мощным компактным и экономичным) решением будет Mac mini.
На картинке в начале статьи показан сетевой накопитель Drobo. Мы рекомендуем именно эту марку NAS, и все модели Drobo можно приобрести у нас по предварительному заказу. Линейка Drobo очень разнообразна, даже для особо требовательных задач найдется подходящий вариант.
В этом цикле статей:
- Часть 1 (обзор оборудования для домашнего медиацентра)
- Часть 2 (полуавтоматический сервер закачек) – эта статья
- Часть 3 (автоматический сервер закачек)