Присоединяйтесь!
Авторизация

Медиасервер на базе Raspberry Pi

01 January 1970 - Автор ludoed5

Особенностью Raspberry Pi является минимальное энергопотребление – около 1 Ватта. Запустить Pi можно от 4-х батареек формата АА. При этом Pi имеет достаточно мощный графический чип, которого, якобы, хватает для воспроизведения HD-контента. Это, вместе с минимальной ценой, и натолкнуло меня на мысль, что на базе Pi можно сделать медиасервер – круглосуточную качалку для торрентов и их воспроизведения на телевизоре или проекторе.

Порывшись в залежах компьютерного хлама, я нашел старый винт на 80 Гб с интерфейсом IDE, переходник для подключения винта по USB, с внешним блоком питания, а также зарядное устройство от безвременно почившей в бозе электронной книги Wexler 7001, USB-мышь и кабель LAN. Пришлось докупить: карту памяти SDHC на 16 Гб, с которой будет загружаться система, внешнюю USB-клавиатуру, т.к. у моей основной клавиатуры разъемPS/2, и USB-хаб с внешним питанием, от которого, впрочем,реально толку не было из-за чисто английских странностей пациента.

Raspberry Pi был приобретен в Wimaxstore по цене 2280 рублей, что, безусловно, очень дорого по сравнению с его исходной ценой. Но из-за бугра я раньше ничего не заказывал, и связываться с этим делом не хотелось, а цена сама по себе не запредельная.

В качестве операционной системы на офсайте предлагаются 3 варианта:

Raspbian Wheezy – сборка Debian для ARM-процессора,

ArchlinuxARM,

и некий Qtonpi – как я понял, спецсборка с графическим окружением на библиотеках Qt. ОС должна грузиться с карты памяти, и именно исходя из этого был выбран вариант на базе Debian – так как Арч быстро замучает карту своими бесконечными обновлениями, а для сервера важнее стабильность софта, чем его свежесть. ОС закатывается на карту памяти командой dd, делается это легко и непринужденно. В результате на карте образуются 2 раздела, один содержит ядро, несколько текстовых конфигов и проприетарные модули для графического чипа, на другом живет стандартная файловая система Unix. После чего карта была воткнута в плату, к плате подоткнута клавиатура, мышь, кабель HDMI к LCD-панели и сетевой кабель в роутер. Кабель питания в зарядку от электронной книги, и вперед. По

умолчанию Pi грузится в

текстовую консоль, и в первой текстовой

консоли запускается псевдографическая

утилита конфигурирования, где можно

настроить автозапуск графического

окружения при загрузке, старт ssh-сервера,

и ещё кое-какие подробности.

В

сборке Raspbian используется

LXDE, с pcmanfm

в качестве файл-менеджера. Предустановленный

софт – Python, Scratch,

Idle в качестве среды

программирования, Leafpad, Midori. Никакого

графического видеоплеера по умолчанию

нет. VLC на этом железе

висит и тормозит, mplayer при

раскрытии на полный экран вешается, и

фильмы со звуком mp3 не

проигрывает, хотя libmp3lame0

установлена.

Ещё

для Pi существует сборка

XBMC, однако эта поделка

при монтировании диска с большим

количеством фильмов начинает их

индексировать и благополучно виснет,

:) Звук mp3 она проигрывает, но вот

изображение, кодированное стандартным

кодеком xvid осилить не может :)

Оказалось,

в Pi установлен по умолчанию

какой-то omxplayer, который

умеет играть видео на полный экран прямо

из текстовой консоли, со звуком mp3.

Однако плеер очень непонятный, похоже,

еще недоделанный. Стартовать его надо

из консоли, или эмулятора терминала,

указывая, куда выводить звук — в HDMI или

аудио-разъем minijack. Также он не понимает

формат mkv, играет только avi и mp4.

Он

действительно воспроизводит HD-видео в

формате 1080p в контейнере mp4 с диска,

подмонтированного по сети без тормозов.

Управление

play/pause — пробел, громкость – «+» и «-».

Для запуска фильма подключать к Pi

клавиатуру или мышь необязательно,

достаточно лишь воткнуть кабель HDMI и

LAN, после чего законнектиться к Pi по ssh,

подмонтировать сетевой диск с фильмами

и запустить воспроизведение командой

omxplayer

-o hdmi название_фильма

если

смотрим на телевизоре с выводом звука

по HDMI. Если колонки подключены к minijack'у

на борту Pi, используется опция -o local

Pi

можно подключать не только к телевизору,

но и к проектору. Чтобы проектор нормально

опознался, он должен быть включен до

загрузки Pi. Неудобство заключается в

том, что соединение HDMI-кабеля надо

производить при полном обесточивании

обоих устройств, так что закачку

приходится прерывать, все выключать и

включать заново.

Поскольку

кабель HDMI был короткий, а перетаскивать

Pi на проекторный столик ради проверки

5 минутного ролика не хотелось – в него

дофига кабелей воткнуто, я подкатил

столик к Pi и спроецировал изображение

на белую дверь спальни. Открыв на двери

pcmanfm и терминал, я сообразил, что надо

взять наушники в спальне. Пришлось

войти в файловую систему Debian непосредственно

через дверь :-D

Если

с воспроизведением фильмов у Pi все не

слишком безоблачно, то вот с второй

возложенной на него задачей — закачкой

торрентов, он справляется на раз, хотя

настройка оказалась не слишком

интуитивной.

Необходимо

установить пакет transmission-daemon, а затем

командой

sudo

service transmission-daemon stop

остановить

демон, и сделать необходимые настройки

в файле /etc/transmission-daemon/settings.json

“rpc-whitelist”: “127.0.0.1',

изменить на “rpc-whitelist”: “*.*.*.*”,

“rpc-password”: “password”,

изменить на “rpc-password”: “сюда пишем

пароль“,

“rpc-username”: “username”,

изменить на “rpc-username”: “имя с которым

будем входить“,

“download-dir”:

“/var/lib/transmission-daemon/downloads”, изменить на

“download-dir”: “/путь/куда/будут/сливаться/файлы”

Необходимо также учитывать,

что демон работает под своей учетной

записью и к группе, в которую входит

пользователь, не относится. Поэтому

надо дать разрешение на запись в папку

для скачиваемых файлов для пользователя

debian-transmission.

sudo chmod g+rw /путь/куда/будут/сливаться/файлы

sudo chgrp -R debian-transmission /путь/куда/будут/сливаться/файлы

Я не стал заморачиваться и дал на папку

права 777.

Чтобы

подключаемый по USB винт монтировался

каждый раз в одну и ту же папку, его надо

прописать в /etc/fstab примерно вот так:

UUID=cab05f44-22ba-417c-b77f-716b89149d26

/media/sda1 ext4 rw,users,relatime 0 0

UUID

диска можно подсмотреть командой

sudo

blkid

После

всех настроек стартуем демон командой

sudo

service transmission-daemon start

Чтобы

с удобством кормить нашего домашнего

демона свежими торрентами, можно

коннектиться к нему через web-интерфейс

из любого браузера по адресу:

http://IP_адрес_Pi_в_домашней_сети:9091/

Особенно

приятно делать это лежа в постели, или

сидя в туалете, с нетбука, смартфона,

или другого портативного устройства –

при этом естественным образом осознаешь,

что будущее наступило. :)

В

Рунту-Gnome я поставил для управления

демоном прогу transgui, чего и всем рекомендую.

В ней два основных плюса:

Можно

задать параметры соединения, чтобы не

вводить каждый раз логин и пароль

Интерфейс

у нее похож не на стандартный transmission,

а на deluge, что гораздо удобнее — в нижней

части окна на 4-х вкладках отображается

полная информация по выделенной закачке,

и не надо лазить в свойства, как в

стандартном transmission. Это как раз то, чего

мне так не хватало в transmission-gtk.

Как я

упоминал, у Pi есть некоторые чисто

английские странности. У него всего 2

USB-порта, поэтому я пробовал подключать

к нему USB-концентратор с внешним питанием,

а уже в него втыкать клавиатуру, мышь,

флешки и внешние винты. Так вот,

концентратор он видит нормально,

клавиатура и мышь через концентратор

работают, а ни винты ни флешки не

определяются. Притом, что один из

опробованных винтов — 3,5'' IDE Seagate –

запитывался через собственный блок

питания.

Если

же втыкать винт или флешку не в

концентратор, а во второй, остающийся

свободным USB-порт, винт некоторое время

виден в системе, но недоступен, а потом

он отваливается.

Das ist

fantastish.

Но,

тем не менее, игрушка оказалась недорогая

и весьма полезная.

01 January 1970
ludoed5
автор статьи

Комментариев: 2

  1. OPERATOR2

    08 September 2012 - Ответить

    Очень интересная статья, спасибо :-) узнал для себя много новой информации, часть из написанного попробую на своей Пи. Я тоже пытался просмотреть на РасПи хоть какое-нибудь видео на VLC - 1 кадр в полминуты, и это видео было не HD. Значит стоит изучать консольный omxplayer... Ну надеюсь что кто-нибудь допилит функционал другого плейера с gui, а то мне как заклятому виндоузятнику в консоли пока что неуютно :-)

    • ludoed5

      13 September 2012 - ответить

      Я натыкался в инете на питоновый frontend к omxplayer'у так что работы ведутся, но он еще не допилен. А консоль удобнее, чем кажется:-) Помните о ее двух главных фокусах - стрелка вверх - предыдущие команды, Tab - автодополнение, чтобы имена файлов не набирать :-)

  2. ubiquamus3

    16 November 2012 - Ответить

    Может и поздновато пишу, но я, в качестве мультимедийного софта использую OpenELEC. Управление происходит посредством пульта телевизора, у меня телевизор поддерживает функцию VeryLink, управление происходит через HDMI. Фильмы, музыка, фото без проблем, правда я пока фильмы больше 2 гигов не смотрел. Есть сетевые функции, погода, радио и т.д. и т.п. Контент для воспроизведения беру с компа, расшарил папку, подумываю на счет nas-сервера

Отправить комментарий

Авторизуйтесь для отправки комментария

Присоединяйтесь
Новые сообщения

Новые комментарии к блогам
  • Чёт дорого

    Raspberry Pi 400
  • Как её программировать?

    Raspberry Pi Pico
  • Зря Wi-Fi не вколхозили, как они с esp32 конкурировать собрались, который и по характеристикам...

    Raspberry Pi Pico
  • "будет вылетать из материнкой платы без дополнительного прижима" Для умных - там есть...

    Raspberry Pi Compute Module 4 (CM4)
  • Это интересно. По цене как китайские клоны ардуин, а возможности и мощность намного больше....

    Raspberry Pi Pico
  • Пиши по-русски, ты в национальном домене, а не на коме.

    GPIO для чайников (часть 1)
  • Смотри ссылку в конце статьи "Руководство по программированию Pico на C/С++"

    Raspberry Pi Pico
  • Слабовато конечно, но на замену всяким ардуинам вполне себе пойдёт

    Raspberry Pi Pico
  • Как раз очевидно, что не знающие вообще никакого языка или знающие их плохо, будут искать не...

    GPIO для чайников (часть 1)