Установка и настройка XBMC на Raspberry Pi. Делаем медиацентр XBMC с помощью Raspberry Pi

Что?: Raspberry Pi 3 - новое поколение попурярного микрокомпьютера
Где?: На Gearbest - на распродаже
Дополнительно
: Платы расширения, аксессуары и датчики для этой платформы - на


Семейство недорогих компактных одноплатных компьютеров Raspberry Pi появилось на рынке в несколько лет назад и с тех пор завоевало признание энтузиастов DIY по всему миру. В начале этого года было объявлено, что суммарные продажи превысили восемь миллионов устройств, а число публикаций о них в сети Интернет не поддается подсчету. Так что данная статья в определенном смысле представляет собой еще одну «каплю в море».


Тем не менее, рассказать о собственном опыте работы с новой версией микроПК все-таки хочется. Надеемся, что этот материал будет полезен тем читателям, которые пока незнакомы с этой платформой. Дополнительную информацию можно найти на , различных ресурсах для разработчиков и сайтах, посвященных проектам DIY (например, ).


Версия Raspberry Pi 3, последняя из «полноразмерных», была анонсирована в начале этого года. Она сохранила основные черты своей предшественницы, включая размеры платы, интерфейсы, число и расположение портов ввода-вывода. Так что с ней будут совместимы разработанные ранее для Raspberry Pi 2 корпуса, дисплеи, камеры, платы расширения и другие компоненты.

Комплект поставки традиционно минимальный – в картонной коробке идет только плата в антистатическом пакете и пара бумажек. Так что для запуска устройства вам потребуются некоторые дополнительные элементы, в частности блок питания с выходом microUSB и параметрами 5 В 2 А, карта памяти формата microSD, монитор и клавиатура.


Внешний вид платы не изменился. Без внимательного рассмотрения отличить ее от предшественницы непросто, если не знать, в какой угол смотреть. Размеры платы составляют 5,6x8,5 см (формат «кретитка»), а максимальная высота определяется двойными портами USB (немногим менее 2 см). На лицевой стороне мы видим главный процессор, чип контроллера Ethernet и USB-хаба, основные слоты и порты. С обратной стороны платы находится чип оперативной памяти и слот для карт памяти.


Ключевым отличием от предшественника является использованная SoC – теперь это 64-х битный четырехядерный чип BCM2837, ядра которого имеют архитектуру ARM Cortex-A53 и работают на штатной частоте 1,2 ГГц (в стандартном дистрибутиве ОС частота снижается до 600 МГц при отсутствии нагрузки). В случае работы с высокой нагрузкой, рекомендуется установить на него радиатор, который часто продается в комплекте с корпусом и блоком питания. В процессоре находится и графический контроллер, который поддерживает API OpenGL ES 2.0 и может декодировать популярные форматы видео (в частности H.264, но не H.265). Второе, тоже достаточно актуальное на наш взгляд, обновление – интеграция на плату контроллеров Wi-Fi (одна антенна, 2,4 ГГц, 802.11b/g/n, до 150 Мбит/с) и Bluetooth 4.1. Наличие встроенного контроллера беспроводной сети позволяет более удобно реализовать сценарии с сетевым подключением, например минисервера автоматизации. С другой стороны, использование компактной антенны (без возможности штатно установить другую, внешнюю) явно не способствует высокой скорости и дальности работы.


Объем оперативной памяти не изменился и все также составляет 1 ГБ. Программное обеспечение нужно записывать на карту памяти, собственного флэша здесь нет. Компьютер имеет выход HDMI (поддерживает разрешения до FullHD и даже немного выше), композитный видеовыход и стереоаудиовыход (аудиовхода нет, для его реализации потребуется дополнительное оборудование), четыре порта USB 2.0, 10/100 Мбит/с проводной сетевой контроллер, порт GPIO на 40 контактов (если будете что-то подключать к нему, обратите внимание, что используются уровни 3,3 В), фирменные разъемы для камеры и дисплея и порт microUSB для подачи питания. Выключателя питания в системе нет, как и встроенных часов с собственной резервной батареей.
О сравнительной производительности третьей и второй версий компьютера в Интернете представлено очень много информации и, учитывая описанные выше отличия в SoC, вполне ожидаемо, что новое поколение быстрее в связанных с вычислениями на процессоре задачах. С другой стороны, оно более горячее и потребляет больше электроэнергии под нагрузкой, а кардинально нового уровня производительности не обеспечивает. Можно говорить о том, что оба устройства способны решать одни и те же задачи.


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


Но конечно продукт совместим с большим числом операционных систем, включая различные варианты Linux (в том числе Gentoo и Ubuntu) и Windows 10 IoT Core. Для решения определенных задач в сети можно найти готовые специализированные проекты дистрибутивов, но никто не мешает вам использовать устройство просто как универсальный многофункциональный компьютер с Linux. Так что найти подходящий для вашего уровня подготовки вариант, скорее всего, не составит труда.


В целом, подобные решения, рассчитаны в основном на сегмент DIY и применение в различных проектах «самоделкиных». Описывать все тысячи, если не сотни тысяч вариантов, нет никакого смысла. Надо отметить, что диапазон здесь очень широкий. Одним пользователям будет комфортно в командной строке Linux, других будет пугать процесс записи готового образа на карту памяти. Поэтому как конкретно будет использоваться микрокомпьютер, будет зависеть в основном от вашего личного опыта, желания «глубоко копать» и, конечно, фантазии.


Начать можно с достаточно простых сценариев, не требующих глубокого знания программирования и большого опыта работы с паяльником. Пожалуй, наиболее популярный вариант использования миникомпьютера, на который стоит обратить внимание, – реализация медиаплеера. Прежде всего, отметим, что такое решение вполне конкурирует с готовыми продуктами по стоимости, удобству и возможностям. Однако есть несколько особенностей, которые стоит учитывать в данном случае. Во-первых, речь идет только о видео с разрешением до FullHD включительно, а кодеки могут быть представлены наиболее распространенным сегодня H.264 (AVC), а также MPEG2 и VC1.




Отметим, что последние два варианта в базовой поставке декодируются только программным образом, а для включения аппаратного декодирования потребуется приобрести специальную лицензию. При этом для MPEG2 мощности процессора вполне достаточно, а вот VC1 в FullHD уже не посмотреть без аппаратного декодера. Ну а с музыкой и фотографиями с точки зрения производительности конечно проблем нет.


Для хранения медиабиблиотеки можно подключить к компьютеру USB-накопители, но сценарий работы с сетевым накопителем представляется более интересным. Скорости (проводной) сети будет достаточно в том числе и на BD-ремуксы.


Из готовых комплектов для медиацентра наиболее известны четыре: , и . Первые три ориентированы на работу с популярной HTPC-оболочкой и в целом с пользовательской точки зрения выглядят одинаково, а третий является расширенной клиентом для версией OpenELEC. Если тема для вас новая – можно познакомиться с возможностями Kodi, установив его как приложение на ваш настольный компьютер или ноутбук.


В отдельную группу можно выделить проекты, ориентированные на качественное воспроизведение музыки решения. С программной точки зрения, они обычно состоят из серверной части на микрокомпьютере и клиенте для управления им на мобильном устройстве или в браузере. При этом непосредственно для вывода звука применяются специализированные карты расширения или DAC, обеспечивающие требуемый уровень качества.


Процесс запуска решений для медиацентров максимально упрощен – для OpenELEC и OSMC вы скачиваете готовый образ ОС с сайта и записываете его специальной утилитой на карту памяти (большой объем здесь не нужен, я бы рекомендовал 2 или 4 ГБ Class10), Xbian и Rasplex в дополнение к этому, предлагает и собственную программу для инициализации карты памяти и записи на нее образа ОС.



После этого, вы устанавливаете карту в Raspberry Pi, подключаете HDMI, сеть, клавиатуру и мышку (могут потребоваться на начальном этапе конфигурации) и включаете питание. Далее в зависимости от дистрибутива вам может быть предложен мастер для установки некоторых основных параметров (например, имени компьютера, сетевого подключения и т.п.).


Немаловажным вопросом является способ управления плеером. Здесь есть несколько вариантов, если не считать клавиатуры+мышки, что не очень удобно в данном случае. Во-первых, специальные приложения для смартфонов и планшетов. Во-вторых, для некоторых моделей телевизоров можно попробовать HDMI CEC – управление со штатного пульта ТВ по HDMI. В-третьих, можно собраться с духом и добавить к Raspberry Pi одну деталь – приемник ИК-сигналов на трех проводках – и взять любой стандартный пульт ДУ от бытовой техники. Лично для меня последний способ наиболее удобен.


Даже если вы не дружите с паяльником, ничего сложного в нем нет. Нужно купить специальный чип-приемник (до 100 руб в дорогом магазине в Москве в наличии), три провода и подключить все согласно схеме к микрокомпьютеру. Вот ссылки на несколько материалов

Суть проблемы

Чтобы нафаршировать телевизор мультимедийным функционалом, есть несколько путей. Можно купить так называемый умный телевизор. Однако на сегодняшний день производители просят за такие опции серьезные деньги, не предлагая при этом ничего поражающего сознание. Можно купить медиаплеер, но тогда столкнешься либо с какой-нибудь экзотичной прошивкой от производителя, либо с Android, а приятного в этом мало. Кроме того, хотя флешкообразные Android-компьютеры и стали относительно популярны, их качество не слишком высоко - особенно часто пользователи жалуются на плохой Wi-Fi и отсутствие Ethernet (что для просмотра HD-контента недопустимо). Поэтому до сих пор энтузиасты предпочитали собирать собственный HTPC из mini-ITX-материнки и водружать на него XBMC. Но ведь в жилую комнату хочется поставить что-то тихое и маленькое, не так ли? Вот тут на помощь и приходит Raspberry Pi.

Казалось бы, RPi разрабатывался как образовательный инструмент и игрушка для железячников - энтузиастов от мира робототехники, при чем тут медиаплееры? Тем не менее многие используют малютку именно по такому назначению, и неспроста. В основе компьютера лежит чип Broadcom BCM2835, который изначально разрабатывался как решение для мультимедиа (если не веришь, можешь почитать на . По заявлениям разработчиков, мощность процессора невелика и находится на уровне Pentium II 300, но вот графический процессор удался - ты наверняка читал про то, как на Raspberry играют в Quake 3. Производитель сравнивает его мощность с первым Xbox. В общем, не случайно точно такой же чипсет используется в популярном за рубежом плеере Roku и ряде других аналогичных продуктов. Видеочип поддерживает аппаратное декодирование h264, а также кодеки MPEG-2 и VC-1. Правда, два последних кодека требуют платной лицензии, придется заплатить 170 рублей. Неприятное упущение - отсутствует аппаратная поддержка аудиокодека DTS (несмотря на то что разработчики Raspberry уже написали нужный код, договориться о лицензии пока не удается). Однако беглый поиск дает понять, что декодер DTS в принципе редко встречается в маленьких плеерах. Если у тебя нет телевизора или ресивера, который мог бы выполнить декодирование сам, то легко нагуглить решение для перекодирования звука. Спойлер: лучше все-таки искать контент с AC3.

На этом плюшки не заканчиваются. У Raspberry есть особенность, которой может позавидовать любой неттоп и подавляющее большинство медиаплееров, - это поддержка технологии CEC (Consumer Electronics Control). Это спецификация для HDMI, позволяющая использовать пульт телевизора для управления подключенными устройствами. Большинство телевизоров, выпущенных за последние пару лет, поддерживают эту технологию, но каждый производитель называет ее по-своему. В случае моего Philips это EasyLink, у Samsung - Anynet+, у Sony - BRAVIA Link/Sync и так далее.

Помимо HDMI, поддерживаются и аналоговые выходы на видео и звук. Аналоговое видео вряд ли кому-то нужно в нашем контексте, а вот с аналоговым звуком пока ситуация неприятная. Дело в том, что из-за ошибок в прошивке на момент написания статьи качество звука отвратительно: например, в начале и конце каждого трека издается мощный щелчок (единственный выход - использовать gapless-воспроизведение или покупать аудиокарту с интерфейсом USB).

Другой недостаток связан с реализацией USB. Фактически на один контроллер в Raspberry повешено два порта и адаптер Ethernet. Поэтому медиаплеер не получится использовать для закачки торрентов - сеть будет постоянно воевать с диском в контроле за пропускной способностью, из-за чего все будет тормозить, и устройство не сможет стабильно качать на полной скорости. Тем не менее, как мы сейчас сможем увидеть, сообществу разработчиков удалось предложить что-то, с лихвой компенсирующее описанные недостатки.

Что потребуется

Как известно, в комплекте Raspberry Pi нет ничего, кроме самого компьютера, поэтому сразу стоит озвучить простой факт: наш медиаплеер не будет стоить 35 долларов. Как минимум потому, что следует учесть доставку. Между прочим, в Москве есть несколько интернет-магазинов, торгующих Raspberry, - там он обойдется примерно в 2400 рублей, но зато получить можно в течение пары дней, а не нескольких недель. Кроме того, вместе с доставкой даже покупка у официальных дистрибьюторов выльется, скорее всего, в близкие деньги, причем еще и с дополнительным геморроем (и немалым). В общем, рекомендую обратиться к услугам посредников - их легко найти в Яндекс.Маркете. Самый ответственный момент - выбор блока питания. RPi теоретически может использовать почти любой зарядник от смартфона или планшета с разъемом microUSB, но на практике подойдет только адаптер на 5 вольт и хотя бы 1 ампер. Если адаптер не дает заявленного результата, Raspberry будет работать нестабильно. Со списком протестированных пользователями адаптеров можно ознакомиться в полуофициальном вики . Лично я использовал зарядник от смартфона HTC.

Другой важный момент - карточка SD. В принципе, моя карточка Transcend 10-го класса на 32 гигабайта обошлась рублей в 800, что сравнительно недорого. Для нашего применения достаточно и 4 гигабайт, но вот брать более низкий класс не рекомендую - это скажется на отзывчивости интерфейса и общей производительности. Кроме того, стоит признать, что SD-карты не рассчитаны на такую нагрузку, поэтому лучше брать что-то от известного производителя. Впрочем, можно использовать в качестве основного раздела флешку, но для загрузки все равно понадобится карточка.

Также советую потратиться на корпус (у перекупщиков он обойдется рублей в 400). Конечно, так наш медиаплеер потеряет свой «гиковский» образ, но зато плата будет защищена. Как минимум нужно учесть, что при подключении-отключении кабелей и флешек вполне реально неудачно упереться пальцем в какой-нибудь участок голого RPi и что-нибудь там поломать.

Еще нам понадобится некое хранилище файлов. Подключать жесткий диск, на мой взгляд, довольно бессмысленно. Во-первых, Raspberry, скорее всего, не сможет питать внешний хард по USB и придется искать вариант с дополнительным источником питания. Во-вторых, как уже говорилось, RPi не сможет одновременно быть и медиаплеером, и торрентокачалкой. Лучше всего подойдет любой NAS. Воспользовавшись случаем, советую платформу Kirkwood, которая шикарно работает под ArchLinux, без всяких там optware.

Дополнительные аксессуары. С пультом можно разобраться по-разному. Самое простое - использовать пульт от телевизора. Если по какой-то причине это не подходит, то можно купить специальный пульт для HTPC с USB-приемником. Альтернативно можно соорудить ИК-приемник и подключить его к разъему GPIO - это для любителей DIY. Ну и наконец, самое функциональное решение - поставить пульт на смартфон или планшет. Для Android доступен официальный пульт от XBMC, а также просто отличный Yatse . С его помощью, например, можно посылать в XBMC ссылки на YouTube и другие популярные хостинги, выбирать файлы из медиатеки напрямую, а также пользоваться экранной клавиатурой.

Отдельно стоит оговорить Wi-Fi-адаптеры. Строго говоря, если ты собираешься смотреть 1080p, лучше использовать провод, так как USB-адаптеры обычно не тянут нужную скорость. Но если ты не настолько требователен или же тянуть кабель не вариант, выбери любой из протестированных адаптеров (опять-таки не забудь глянуть в вики). Я использую TP-LINK TL-WN725N, который обошелся мне в 270 рублей и завелся совершенно без напильника. А если шара файлов работает не на Samba, а на NFS, то с переменным успехом можно смотреть и 1080p.

Таким образом, моя конфигурация обошлась чуть меньше чем в 4 тысячи рублей.

Выбор платформы

Есть три основных дистрибутива: Raspbmc , XBian и . Принципиально отличается в данном случае последний - это традиционный дистрибутив для встраиваемых систем, поэтому работа с ним напоминает альтернативные прошивки для роутеров. Выбор дополнительного ПО ограничен, и ковыряться во внутренностях будет не очень комфортно. С другой стороны, это более стабильное решение.

Выбор между Raspbmc и XBian уже более сложный. Оба являются полноценными дистрибутивами, оба имеют схожий функционал, но отличаются философией. Raspbmc - аккуратно собранный XBMC поверх Raspbian, из которого было выброшено все лишнее. XBian - проект, фокусирующийся на bleeding edge, что приводит к модификации отдельных пакетов относительно стандартного Raspbian. Советую попробовать оба, но лично я выбрал Raspbmc - более старый проект, к тому же использующий пакетную базу Raspbian, поддерживаемую огромным сообществом.

Установка и настройка Raspbmc

Здесь все до боли прямолинейно. Для пользователей Windows доступен специальный установщик . Пользователям *nix и OS X доступен простой скрипт на Python:

Curl -O http://svn.stmlabs.com/svn/raspbmc/testing/installers/python/install.py chmod +x install.py

При установке доступно несколько опций: можно выбрать установку на флешку (с загрузочным разделом на карточке) и прописать настройки сети. На последнее стоит обратить внимание, если планируется использовать Wi-Fi. Дело в том, что сама установка будет вестись полностью автономно: как только ты вставишь готовую карточку в Raspberry и подключишь машинку к питанию, система подсоединится к серверу и начнет качать необходимые файлы и проводить настройку. Примерно через двадцать минут ты получишь готовую систему и стартовый экран XBMC. При первом запуске система будет заметно подтормаживать - дело в том, что на этом этапе в фоне будут загружаться стандартные плагины. Поэтому лучше подождать еще минут пятнадцать, прежде чем предпринимать какие-то дальнейшие шаги. И после этого начинается самое интересное.

Немного поговорим о том, на что стоит обратить внимание в свежеустановленном XBMC. По умолчанию в разделе приложений доступна утилита для выставления настроек, специфичных для Raspberry, Raspbmc Settings. Здесь выставляются настройки сети, параметры обновлений и многое другое.

Стоит обратить внимание на параметры разгона процессора. Как известно, RPi можно разгонять до 1 гигагерца, и, по словам разработчиков, это не навредит чипу. Однако работа карточки при этом может быть нестабильной, и при максимальном разгоне очень велика вероятность, что целостность данных будет нарушена и система просто перестанет загружаться. Придется все переустанавливать. Чтобы этого избежать, лучше использовать более щадящие режимы разгона либо устанавливать систему на флешку.

В остальном - работа с XBMC довольно очевидна. Процедуры установки плагинов, добавления файлов в библиотеки и выбора настроек, думаю, описывать не стоит. Перейдем к более интересным вещам.

Лезем под капот: несколько интересных трюков для медиацентра
AirPlay в XBMC

AirPlay - это стандарт для потокового вещания аудио и видео на устройствах Apple. В последней версии XBMC была добавлена начальная поддержка этой технологии, но по умолчанию она выключена. Чтобы включить ее, зайди в System -> Services -> Airplay. Теперь ты сможешь передавать таким образом музыку с яблочных устройств. Видео тоже работает, но крайне нестабильно. Пользователи Android могут использовать для AirPlay плеер DoubleTwist .

Дополнительные источники плагинов

По умолчанию в XBMC включен только один репозиторий. Чтобы добавить сторонний, как правило, нужно просто подсунуть соответствующий файл. Например, есть репозиторий Seppius, специализирующийся на аддонах для русскоязычного контента, - его файл можно . Увы, качество многих аддонов невелико, но что-то интересное найти можно.

Убираем ненужное

Для последующих трюков потребуется вернуться в Raspbmc Settings и посмотреть раздел сервисов: System Configuration -> Service Management. Во-первых, нам понадобится cron. Во-вторых, в большинстве случаев можно отключить сервер Samba и FTP, хотя ресурсов это, конечно, много не высвободит. Далее подключимся к нашему медиацентру по SSH. Логин - pi, пароль - raspberry.

Как уже говорилось, использовать Raspberry при работающем XBMC (да и вообще) для закачки торрентов - неблагодарное занятие. Тем не менее, если NAS ставить не хочется, можно пойти на некоторые хитрости. Flexget - это система, способная автоматизировать поиск торрентов, формировать очередь для Transmission и делать все это по cron’у. Таким образом, запускать поиск серий можно в ночное время. Установка проста:

Sudo apt-get install python-pip sudo pip install flexget sudo easy_install transmissionrpc

Про возможности FlexGet можно было бы написать огромную статью. С его помощью можно задавать любые параметры раздач, включая качество, размер, релиз-группу. Доступна интересная интеграция с IMDB: если занести фильм в список для просмотра (watchlist) на сервисе, FlexGet добавит его в свою очередь и пойдет искать при первой возможности. Заинтересовавшимся стоит обратить внимание на официальный cookbook и примеры конфигураций . При желании систему можно постоянно расширять дополнительными правилами, получая все более умную качалку. Однако FlexGet с его конфигом на YAML - это Emacs мира качалок, и, чтобы пользоваться им, нужно быть готовым к чтению документации (хотя это и не так сложно). Более простое решение - , но и возможностей у этой тулзы значительно меньше.

Beets

Когда выводишь музыкальный плеер на большой экран, корявые теги и отсутствие обложки начинают заметно раздражать. Для таких случаев придуман beets - как называет его автор, инструмент организации аудиотеки для маниакально одержимых аудиофилов. В основе программы лежит довольно популярная и мощная библиотека mutagen, часто используемая в таких сценариях. Установка проходит аналогично тому, что мы делали с FlexGet:

Sudo apt-get install python-pip sudo pip install beets

После этого нужно провести начальную конфигурацию. Создадим нужные файлы:

Mkdir -p ~/.config/beets touch ~/.config/beets/config.yaml mkdir -p ~/.data/beets/ touch ~/.data/beets/musiclibrary.blb nano ~/.config/beets/config.yaml

Базовый конфиг можно сделать, например, такой:

Directory: /media/HD/Music/ # путь до медиатеки library: ~/.data/beets/musiclibrary.blb import: move: yes copy: no

В таком случае beets будет записывать все изменения прямо в файлы, а не копировать файлы с новыми тегами в отдельную папку. За дальнейшими опциями проследуй в документацию . По словам автора, вариантов конфигураций «примерно 6 миллионов». Наконец, для того, чтобы начать прописывать теги, можно тупо вбить:

Beet import /media/HD/Music/

Сразу предупреждаю: по умолчанию процесс ручной. Система опрашивает MusicBrainz для каждого альбома, ранжирует варианты и предлагает их пользователю. Поэтому запасись терпением и временем. Можно поизучать опции автоматизации, их очень и очень много.

MPD

Увы, встроенный функционал XBMC для работы с музыкой оставляет желать лучшего. Плагин работает очень медленно, и обновление библиотеки занимает очень много времени. Лучше делегировать задачу MPD - очень продвинутому музыкальному решению, хорошо знакомому хардкорным юниксоидам. MPD - это настоящий музыкальный сервер. В его ведомстве будет находиться поддержание медиатеки. Если заниматься тегами тебе не хочется, то поиск арта и текстов песен также можно отдать на откуп MPD. В свою очередь, в XBMC доступен плагин, позволяющий подключиться к MPD. Точно так же к твоему серверу сможет подключиться любое устройство в доме - например, для Android доступен отличный плеер MPDroid .

Установим наш сервер и сделаем простейшую конфигурацию:

Sudo apt-get install mpd cp /usr/share/doc/mpd/mpdconf.example ~/.mpdconf mkdir -p ~/.mpd/playlists touch ~/.mpd/{database,log,pid,state} nano ~/.mpdconf

Укажем созданные служебные файлы в конфиге. Для этого нужно изменить следующие строчки:

Music_directory "/media/HD/Music" playlist_directory "/home/USER/.mpd/playlists" db_file "/home/USER/.mpd/database" log_file "/home/USER/.mpd/log" pid_file "/home/USER/.mpd/pid" state_file "/home/USER/.mpd/state"

Как только ты закончишь, можешь протестировать, набрав в консоли mpd. После этого вбей настройки в плагин XBMC.

Больше статей о RPi

Тема - Raspberry Pi. Мы взяли интервью у Эбена Аптона, одного из создателей RPi и сделали на базе мини-компьютера систему видеонаблюдения и шпионскую закладку, которая может незаметно собирать данные из исследуемой сети.

5 ноября 2013 в 14:23

Установка и настройка XBMC на Raspberry Pi

  • Гаджеты ,
  • Работа с видео

Примерно 2 месяца назад купил я игрушку под названием Raspberry Pi. Не удержался от покупки, так как собирался поставить на нее эмулятор старых игровых консолей (Sega, Dendy и тд.), что в итоге и сделал. Но, в связи с недавним постом на хабре о медиацентре для этого компьютера, решено было установить дома медиасервер.

Что имеем

На момент прочтения поста о порте XBMC на Raspberry, у меня была сама плата, корпус Rainbow Pibow, роутер ASUS RT-N13U, монитор 23" и макбук.

Что хотим увидеть

Данный роутер покупался осмысленно, так как у него есть разъем USB 2.0 с возможностью подключения жесткого диска. Как я понял, можно подключить внешний жесткий диск к роутеру, совершить пару взмахов волшебной палочкой и в сетевом окружении будет доступен этот самый диск (вы уже поняли, что все будет не так просто). Плата Raspberry должна будет брать видео и музыку из сетевого накопителя и воспроизводить ее. Кроме того, хотелось бы научить ее качать торренты на жесткий диск в роутере.

Для установки и работы с медиасервером моего оборудования оказалось мало. Желательно связать плату с домашней сетью без проводов, на случай если нужно будет подключить приставку в другой комнате и не мучаться с протягиванием витой пары по квартире. Для хранения файлов нужен жесткий диск, это должен быть либо внешний жесткий диск, либо полноценное сетевое хранилище, но я не готов пока выкладывать большую сумму денег и остановился на USB HDD. Так же, необходимо было решить вопрос с управлением платой, ведь подключать к ней полноценную клавиатуру довольно смешно, учитывая размер «малинки». Есть вариант управления телевизионным пультом через HDMI-CEC, но у меня монитор, а не телевизор. Решил найти миниатюрную клавиатуру с тачпадом, чтобы и медиасервером было удобно пользоваться и, если что, можно было в других дистрибутивах комфортно работать.

В итоге, купил адаптер Wi-Fi ASUS N13, который входит в список поддерживаемых устройств Raspberry (о списке узнал после покупки, так что мне просто повезло), внешний жесткий диск Seagate Backup Plus Desk 2 ТБ USB 3.0, мини-клавиатуру Trust Tocamy и еще одну SD-карту (на каждой карте по дистрибутиву, чтобы была возможность включить и raspbmc и raspbian).


Все покупки обошлись мне в 5500 рублей, что на мой взгляд не так много.

Установка дистрибутива и подключение адаптера

Сама установка довольно простая, а в помощь юзерам сделана добротная wiki . Для установки дистрибутива с Mac OS X, нужно вставить карту памяти в картридер, выполнить 2 команды в консоли и образ успешно записан. Далее, карта памяти вставляется в raspberry, в нее втыкаем шнур питания, HDMI и сетевой шнур. После выполнения инструкций на экране, видим стартовый экран системы.


Прошу прощения, скриншот не мой, позаимствовал у гугла.

С адаптером Wi-Fi все оказалось тоже довольно просто. Не вынимая сетевой шнур, нужно вставить адаптер в USB разъем платы. В интерфейсе дистрибутива заходим в программы - Raspbmc Settings - Network Configuration. Меняем Network Mode на Wireless (WIFI) Network, сканируем сети и ставим пароль. Возможно, «малина» попросит Вас перезагрузиться. Во время перезагрузки можно будет вынуть сетевой кабель и плата будет соединена с интернетом по беспроводной сети.
И вот еще нюанс, довольно часто система загружает обновления (у меня все работает 2 дня и 2 раза грузила апдейты), а это минус 10-15 минут просмотра фильмов. В настройках можно отключить автообновление системы, если это будет кого-то раздражать.

Установка жесткого диска

Не мог предположить, что с этим пунктом будет столько проблем. Да, с одной стороны, мой роутер работает с внешними жесткими дисками, но это стоило двух ночей танцев с бубном вокруг него. Благо хоть, что у HDD свой внешний блок питания. И так, после подключения жесткого диска, роутер его обнаружил. В web-интерфейсе был определен USB HDD на 2 терабайта. У Asus есть свои функции для работы с жесткими дисками и принтерами, но на родных прошивках они работают «странно», если вообще работают. После нескольких часов мучений, было решено обновиться на адаптированную прошивку «от Олега» . Добровольно через веб-морду роутер этого сделать не позволил и пришлось использовать утилиту восстановления прошивок от Asus.

На прошивке Олега удалось настроить FTP сервер. Все компьютеры дома прекрасно видели содержимое жесткого диска через FTP, а вот в сетевом окружении ничего не было. Проблема оказалась в неправильно настройке DDNS. Еще час-другой и в сети на всех компьютерах появился долгожданный HDD.

Со стороны Raspberry все настроилось очень легко. Заходим в видео - файлы - добавить видео, указываем расположение файлов, нажав кнопку обзор, в раскрывшемся списке идем в самый низ и нажимаем на Сеть Windows (SMB), а там уже находим наши расшаренные папки. Так же проделываем с музыкой и фото.

К сожалению, порадовался я недолго. Утром открыл веб-морду роутера, чтобы настроить торрент-качалку (да-да, в асусах такая имеется) и тут полезли ошибки соединения. Еще несколько часов мучений и было решено отказаться от идеи подключения внешнего диска к роутеру напрямую.

У внешнего диска интерфейс USB 3.0, как и моего макбука. Решил подключить диск к нему и расшарить его для всей сети уже с ноутбука. Тут крылась еще одна проблема. У Mac OS X, начиная с версии 10.7, протокол SMB обратно несовместим с Windows, что меня озадачило. Расшаренные папки на PC видно всем, включая макбук, а вот наоборот уже появляются проблемы - PC не видит папки макбука. Немного поисков и решение найдено - это программа SMBUp . Устанавливается в 2 приема, напомнило веб-установщик directx в Windows. После установки, необходимо выбрать папки, которые нужно расшарить, а включение программы и сохранение изменений происходит при нажатии на кнопку закрытия программы, что меня тоже очень сильно удивило. В общем, все заработало. Все тяжеловесные файлы теперь качаются на внешний диск, Raspberry берет файлы из него же (в настройках заново нужно добавить источник медиа, по такому же протоколу, но в другом размещении).

Подведем итоги

Raspberry Pi для меня - игрушка, которая наконец-то нашла практическое применение. Использовать ее как медиасервер довольно удобно: кидаешь файлы на жесткий диск в одной комнате, а смотришь в другой - своеобразный SMART-TV, подключенный к домашней сети. Но этот смарт-тиви не без проблем.

Надеюсь, что кому-то мой пост был полезен и интересен, всем спасибо!

Теги:

  • raspberry pi
  • медиасервер
  • xbmc
Добавить метки

Буквально недавно успел выйти Raspberry Pi 3, но я не дождавшись его решил приобрести проверенный временем и хорошо себя зарекомендовавший одноплатный компьютер Raspberry Pi 2 Model B.
В обзоре будет немного информации о самом компьютере, а так же я расскажу как из этой малютки сделать полноценный домашний медиаплеер.

Вступление

Raspberry Pi 2 - одноплатный компьютер, изначально созданный для обучения компьютерным наукам в школах. Впоследствии получивший намного более широкое применение и популярность, чем ожидали его авторы. Компьютер выполнен на базе SoC (System on Chip) Broadcom BCM2836. Четырёхядерный процессор построен на архитектуре ARM Cortex-A7 и наделён тактовой частотой 900 МГц на ядро. Raspberry Pi 2 Model B наделили 1 ГБ оперативной памяти. Эта память делится с графической подсистемой. Кроме того, процессор имеет архитектуру ARMv7, что означает больший выбор операционных систем. Так, например, на Raspberry Pi 2 вы можете установить Ubuntu Linux и даже MS Windows 10 IoT.

Технические характеристики

Процессор:Broadcom BCM2836 quad-core ARMv7 (900MHz) Оперативная память:1Gb Видеовыход:HDMI А/V выход:А/V выход 3.5мм jack 4 pin USB порты:USB 2.0 х 4 Сеть:WiFi 802.11n, 10/100Mb RJ45 Ethernet Слот для карты памяти:Micro SD GPIO:40

Подтверждение покупки

Комплектация

Мною был заказан комплект включающий в себя не только плату, но и корпус, радиатор на чип и кулер, дополнительно был заказан wifi usb.
Весь комплект пришел в компактной упаковке.






Все содержимое комплекта:


Рассмотрим плату немного ближе






И комплектующие




Немного расскажу про сам корпус, как по мне, он хлипковат, при повторной сборке одно из креплений у меня отломалось, пришлось клеить, скорее всего закажу корпус другого плана -



Установка операционной системы

Операционная система устанавливается на microSD карту, лучше использовать карты 10 класса, у меня завалялась одна из заказанных карт OV с безумной распродажи на JD.
Образ системы можно скачать с официального сайта
В качестве основной системы я выбрал так в будущем планируется увеличивать функционал, те кто хочет использовать Raspberry Pi для просмотра фильмов могут сразу устанавливать

Создание microSD с ОС в Windows

Скачиваем и устанавливаем программу
Запускаем программу и выбираем скачанные Вами образ, а так же карту памяти на которую нужно установить данный образ

Создание microSD с ОС в Linux

Распаковываем скачанный образ
unzip ~/имя_файла.zip
Проверим какие диски у нас смонтированы и определим нашу карту памяти
df -h
Карта памяти может определяться в системе как "/dev/mmcblk0p1" или "/dev/sdd1"
Размонтируем нашу карту выполнив следующую команду заменив sdd1 на Вашу флешку
umount /dev/sdd1
И загрузим образ на карту
dd bs=4M if=~/имя_файла_образа.img of=/dev/sdd

Первый запуск

После загрузки системы мы увидим рабочий стол Raspbian


Теперь Вам нужно настроить сеть, если вы используете проводное подключение, то айпи адрес вы должны получить автоматически, в случаи WIFI Вам нужно подключиться к вашей точке доступа.
Следующим этапом нам нужно будет расширить основной размер системы до размеров карты памяти, для этого зайдем в специальную утилиту для настрйоки Raspbian Pi Configuration


И нажмем на Expand Filesystem


Для полноценного проигрывания FullHD файлов нам потребуется выделить как минимум 128MB памяти для GPU. Переходим во вкладку Perfomance и устанавливаем значение GPU равное 128


На этом первоначальная настройка закончена.

Настройка и установка программ

Все последующие действия мы будем выполнять через SSH подключение, для этого подойдет любой SSH клиент, если вы используете ОС Windows советую скачать , подключаемся к Raspberry (ip адрес можно посмотреть на роутере либо в свойствах подключения в самой системе) используя имя пользователя pi и пароль raspberry

Установка Kodi

Первым делом обновим список установленных и доступных пакетов
sudo apt-get update
И установим Kodi
sudo apt-get install kodi
После запуска вы увидите примерно следующий экран.


Подробнее про настройку самой системы я расписывать не буду т.к. в ней нет ничего сложного, единственное что стоит сделать после установки - подключить сторонний репозиторий repository.seppius который содержит дополнения позволяющие смотреть онлайн видео, для этого вам надо с репозиторием на флешку и установить его с самой системы kodi.

Установка rtorrent + web-интерфейс

Для установки rtorrent выполним следующую команду
sudo aptitude install rtorrent
Создадим папку, куда будут загружаться файлы
mkdir /media/Torrent/
И папку, где будет храниться информация о закачках
mkdir /media/Torrent/.rt/
Теперь переходим в домашнию папку пользователя, под которым будет работать rTorrent, в нашем случаи это /home/pi создаем файл настроек.rtorrent.rc
sudo nano /home/pi/.rtorrent.rc
И вписуем в него следующее
min_peers = 1 max_peers = 25 download_rate = 1000 upload_rate = 300 directory = /media/Torrent/ session = /media/Torrent/.rt/ port_range = 40890-40890 port_random = no check_hash = yes session_save = yes encryption = allow_incoming,enable_retry,prefer_plaintext use_udp_trackers = yes dht = auto dht_port = 6881 encoding_list = UTF-8 scgi_port = 127.0.0.1:5000

Теперь настроим автозагрузку rtorrent
Установим screen для работы торрент-клиента в фоне
sudo aptitude install screen
Создаем файл /etc/init.d/rtorrent
sudo nano /etc/init.d/rtorrent
И копируем в него все с данной ссылки заменив username на pi
Добавим скрипт в автозагрузку и запустим
sudo chmod 755 /etc/init.d/rtorrent sudo update-rc.d rtorrent defaults sudo /etc/init.d/rtorrent start
Перейдем к настройке настройке web-интерфейса
Установи apache и необходимые для работы web-интерфейса компоненты
sudo aptitude install apache2 libapache2-mod-scgi php5 php5-common libapache2-mod-php5 php5-curl
Отредактируем файл /etc/apache2/apache2.conf
sudo nano /etc/apache2/apache2.conf
и в самом конце файла добавим строку
SCGIMount /RPC2 127.0.0.1:5000
В качестве web интерфейса для rtorrent я выбрал ruTorrent.
Для начала устанавливаем Subversion
sudo apt-get install subversion
Загрузим ruTorrent
cd /var/www/html sudo svn checkout http://rutorrent.googlecode.com/svn/trunk/rutorrent
Выставим права на папку rutorrent
sudo chown -R www-data:www-data ./rutorrent/
Ну и запустим все это
sudo a2enmod scgi
Перейдя по ссылке вы должны увидеть следующую страницу


На этом установка rtorrent закончена.

Установка samba сервера

Для удобного доступа к файлам на raspberry по сети установим samba сервер.
sudo apt-get install samba samba-common-bin
В качестве папки к которой у нас будет доступ укажем папку созданную ранее /media/Torrent/ что бы иметь к ней доступ по сети, нужно будет выставим на нее права полного доступа
sudo chmod 777 /media/Torrent/
Перейдем к настройки samba, отредактируем файл /etc/samba/smb.conf
sudo nano /etc/samba/smb.conf
Удалим все его содержимое и добавим следующие настройки
workgroup = WORKGROUP netbios name = RaspberryPi server string = share security = user map to guest = bad user browseable = yes path = /media/Torrent writeable = yes browseable = yes guest ok = yes
Все что нам осталось - перезапустить сервис samba
sudo /etc/init.d/samba restart
Все, теперь в вашей сети будет виден новый компьютер с каталогом, доступным для записи всем пользователям вашей сети.

Дополнение

Так как в Raspberry Pi доступно 4 USB порта, я решил подключить простую китайскую USB звуковую карта, которая на удивление определилась, через нее я подключил звуковую систему, на удивление все работает отлично.


Куллер который идет в комплекте нельзя назвать тихим из-за этого я его включаю только в тех случаях когда идет компиляция.
Штатная температура при воспроизведении фильма mkv размером 4GB + скачивание торентов


Так же в планах подключить к Raspberry Pi ленту WS2822 в качестве abmilight к телевизору.

Вывод

В качестве вывода хотелось бы отметить, что данное решение подойдет, в первую очередь, тем кто готов потратить немного времени для настройки и получить многофункциональный мини-компьютер.
К минусам данного набора отнесу: хлипкий корпус и шумный кулер

P.S: если вы нашли неточность, ошибку, опечатку в обзоре, пожалуйста, напишите мне в ЛС и я ее исправлю.

Планирую купить +30 Добавить в избранное Обзор понравился +33 +66

И так, аппаратная часть медиацентра на базе Raspberry Pi собрана, все подробности по ее комплектации и сборке читайте в первой части статьи . Следующим шагом будет установка дистрибутива XBMC. XBMC это открытый проект по созданию медиацентра, изначально предназначенного для игровой приставки Xbox (отсюда название проекта - Xbox Media Center) и в настоящее время поддерживающего множество платформ.

Существует три основных варианта дистрибутивов медиацентра, это Raspbmc , XBian и OpenELEC . Все они созданы на базе проекта XBMC и разработаны специально для Raspberry Pi, имеют несущественные различия, а кроме того поддерживаются достаточно многочисленными сообществами. Я выбрал для себя OpenELEC, поэтому в дальнейшем будем рассматривать именно его установку и настройку.

Raspberry Pi хранит операционную систему и программы на SD карте, поэтому понадобится SD карта (или microSD для модели «B+»). Для установки OpenELEC достаточно карточки объемом 500 Мбайт, но менее 2 Гбайт сейчас сложно найти. Да и небольшой запас пусть будет на всякий случай. Использовать карточку большего объема не имеет смысла, медиафайлы на ней все равно хранить не будем, а чем больше карточка, тем больше затраты времени и дискового пространства на создание и хранение резервных копий системы. А вот класс карточки должен быть как можно выше.

Скачать последнюю версию дистрибутива образа диска OpenELEC лучше всего с официального сайта разработчиков http://openelec.tv . На февраль 2015г. это версия 5.0.1, которая сменила имя «XBMC» на «Kodi». Но на момент написания статьи она еще не существовала, поэтому все дальнейшие описание относится к 4-й версии. Однако внешние различия незначительны. Версии 3 и ниже (12.x Frodo) ставить не стОит – слишком много в них глюков.

И так, скачиваем дистрибутив (образ диска) OpenELEC. Записать образ можно с помощью программы . Вставьте SD (microSD) карточку в кардридер и подключите его к USB порту компьютера. Распакуйте скачанный архив с образом OpenELEC, запустите Win32DiskImager, выберите в нем этот образ - файл с расширением .img и SD карточку, на которую его нужно записать, нажмите экранную кнопку «Write». Дождитесь завершения процесса записи.

Можно сразу немного разогнать процессор Pi. Запускаем на компьютере Total Commander и переходим на только что записанную SD карточку. Вместо 2 Гбайт там будет немногим более 100 Мбайт, это нормально. Ищем файл config.txt и открываем его для правки, это обычный текстовый файл. Ограничимся щадящим режимом разгона процессора. Для этого в файл config.txt нужно добавить следующие строки:
arm_freq=900
core_freq=333
sdram_freq=450
over_voltage=0

Там уже есть похожие закомментированные строки, просто исправьте их и раскомментируйте. Для просмотра MPEG2 и DVD фильмов нужен лицензионный ключ. Его можно , стоимость £2. Ключ аппаратно зависимый, подходит только для той платы, серийный номер которой был указан при покупке ключа. Какой серийный номер у вашей платы узнаете, когда запустите OpenELEC. Если ключ уже куплен, записываем его в файл config.txt, добавив строку вида:
decode_MPG2=0x00000000

Можно еще принудительно выбрать разрешение экрана телевизора, включить режим overscan, если изображение выходит за границы экрана или, наоборот, по краям экрана есть темные полосы и многое другое. Как это сделать, . Оригинал статьи на английском языке находится по адресу: http://elinux.org/RPi_config.txt . Впрочем, большую часть настроек в файле config.txt можно сделать средствами OpenELEC, запустив соответствующее дополнение. Об этом позже.

После редактирования сохраняем файл config.txt, вынимаем карточку из кардридера и вставляем ее в слот Raspberry Pi. Кабель от роутера уже подключен, телевизор, разумеется, тоже подключен кабелем HDMI. Можно включать питание.

На время настройки для удобства к медиацентру желательно подключить USB мышку. Клавиатура тоже не будет лишней. Несколько минут ничего не предпринимайте, дайте возможность системе скачать необходимые дополнения. При первом запуске на экране появится окно с предложением выбрать язык интерфейса. Выберите нужный из списка. Затем будет предложено включить SAMBA и SSH. SAMBA включите обязательно, а SSH - только, если точно знаете что это такое и зачем оно вам нужно.

Выбираем «Система» -- «Настройки» , в левой части открывшегося окна будет много пунктов, можно пройтись по всем. Начнем с пункта «Внешний вид» . В первую очередь в левом нижнем углу включаем экспертный режим, иначе часть настроек будет недоступна. Затем на вкладке «Обложка» для экономии ресурсов убираем галочку «Включить RSS-новости», все остальное оставим по умолчанию.

«Языковые настройки». Выбираем язык интерфейса – Russian. Страна в часовом поясе – Russia, затем нужный часовой пояс.

«Списки файлов». Отметим здесь все пункты, чтобы файлы можно было удалять и переименовывать, а также были видны скрытые файлы. Впрочем, это на ваше усмотрение.

Закрываем окно и заходим на вкладку «Видео» .

«Воспроизведение». Здесь для улучшения передачи движения в видео нужно выбрать пункт «Настроить частоту дисплея согласно видео» и поставить его в режим «Постоянно». Остальное – по умолчанию.

«Ускорение». Убедитесь, что аппаратное ускорение включено. Настройки на остальных вкладках окна «Видео» оставим по умолчанию. Закрываем окно. На «ТВ» тоже оставим все по умолчанию.

«Музыка» - выключаем «Считывать информацию из тегов», в противном случае могут некорректно отображаться названия музыкальных файлов.

«Фото», «Погода», «Дополнения» и «Службы» пока можно не менять. Заходим на вкладку «Система» .

«Вывод видео». Все по умолчанию, только убедитесь, что разрешение интерфейса на максимуме. «Вывод звука». Устройство вывода звука - HDMI, остальное по умолчанию.

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

«Доступ в Интернет», «Экономия энергии», «Отладка» и «Особая защита» по умолчанию.

Закрываем вкладку и заходим Система -- OpenELEC -- Система . Здесь убеждаемся, что «Автоматическое обновление» установлено «manual». По мере выхода новых версий ПО здесь можно легко делать upgrade через пункт «Проверить обновления». На этой вкладке можно также делать и, при необходимости, восстанавливать резервную копию настроек – «Создать системную резервную копию», «Восстановить резервную копию».

На вкладке «Службы» включаем «Samba» и, при необхожимости, «SSH»; «Использовать пароли Samba» и «Отключить пароли SSH» НЕ отмечаем . Все остальное тоже выключаем. «Bluetooth» я не настраивал.

Теперь из главного окна зайдите Система -- Сведения о системе . Здесь можно получить информацию о подключенных дисках, сетевом соединении, узнать IP адрес, температуру процессора, посмотреть серийный номер платы, необходимый для покупки MPEG2 лицензионного ключа и др.

Посмотрите, соответствует ли суммарный объем двух разделов на SD карточке полному объему карточки. Возможно он будет меньше, т.е. часть объема диска невидима для операционной системы. Исправить это очень просто. Создаем на компьютере пустой файл с именем .please_resize_me . Именно так, с точкой в начале и подчеркиваниями. Можете взять его из моего архива – ссылка в конце странички. Скопируйте этот файл на флэшку, вставьте ее в USB порт медиацентра и войдите в файловый менеджер OpenELEC.

В корневом каталоге появится ваша флэшка. Если там нет каталога «storage», щелкните «Добавить источник» и выберите «Домашняя папка». Теперь в корне появится каталог «storage», скопируйте в него файл с флэшки, файловые операции делаются через контекстное меню. Выйдите из файлового менеджера, нажав мышкой на кнопку с домиком внизу и перезагрузитесь (кнопка слева внизу). Теперь должен быть виден весь объем карточки.

Теперь нужно как-то загрузить медиафайлы на подключенный жесткий диск. Лучше это сделать еще до установки жесткого диска в медиацентр. Подключите его к основному компьютеру, отформатируйте и скопируйте на него фильмы, музыку, фотографии из вашего архива. Просто, так получится быстрее. OpenELEC понимает все популярные файловые системы, оптимальный выбор, наверное, NTFS.

Можно обмениваться файлами и по локальной сети. Для этого необходимо настроить Samba сервер. Это довольно серьезный вопрос, заслуживающий отдельной статьи. Здесь я упомяну только основные моменты. Вначале нужно создать файл конфигурации samba.conf . Для удобства я выкладываю его рабочий вариант – ссылка в конце странички. Его нужно распаковать из архива и скопировать на флэшку.

Зайдите в файловом менеджере OpenELEC в каталог «storage», затем в «.config» (точка перед именем означает, что это скрытая папка) и скопируйте туда файл samba.conf. Там есть файл samba.conf.sample. Это образец, скопируйте его на всякий случай на флэшку. Если что-то не получится, можно будет поэкспериментировать с настройками. В интернет можно найти много противоречивых мнений о содержимом файла samba.conf

Снова перезагружаемся. Теперь нужно настроить локальную сеть на компьютере Windows. Запустите Total Commander и выберите вместо локального диска «Сетевое окружение». Если через непродолжительное время там появится OPENELEC – вам повезло, все работает. Можно копировать файлы на подключенный жесткий диск, правда скорость не очень большая – около 3 Мбайт/сек, т.е. примерно 25 Мбит/сек. Жесткий диск и флэшка отображаются в каталоге OPENELEC -- storage .

Если в сетевом окружении нет OPENELEC, попробуйте выключить медиацентр. Это нужно делать программно, через меню завершения работы. Только после закрытия системы можно выключить питание. Подождав 1-2 минуты вновь включите питание. Если OPENELEC так и не появился в сетевом окружении – нужно настраивать локальную сеть на компьютере Windows. Вопрос отдельный и достаточно сложный. Не буду на нем останавливаться, т.к. не специалист в этом. У меня все заработало после трехчасовых мучений и внимательного изучения материала, найденного Google. Правда, сюда входило и время на эксперименты с содержимым файла samba.conf.

Ну, что же, осталось установить дополнения (addon -ы). Сначала добавим русскоязычный репозиторий дополнений Seppius. Скачайте файл repository.seppius.zip , скопируйте его на флэшку или HDD медиацентра, затем выберите Система -- Дополнения -- Установить из zip файла и укажите путь к этому файлу. Еще один полезный репозиторий – Leopold. Аналогично скачайте файл xbmc.repo.leopold.zip и установите его. На всякий случай я положил оба этих файла в архив, ссылка на который в конце странички.

Теперь можно выбрать, что вас интересует в списке дополнений. Список большой, но, к сожалению, большая часть дополнений не представляет интереса или не работает. Тем не менее, кое-что выбрать можно. Если после успешной установки при запуске дополнения появляется сообщение об ошибке, значит оно устарело, а его автор, очевидно, потерял интерес к этому своему проекту. Остается только удалить его, либо попытаться разобраться и что-то поправить самостоятельно, но это отдельная тема.

Из программных дополнений рекомендую установить OpenELEC RPi Config из Leopold"s Add-ons -- Services . С помощью этого дополнения можно редактировать системные настройки в файле config.txt. Там все понятно, только не следует при разгоне процессора ставить параметр «over_voltage» больше нуля. В этом случае теряется гарантия на плату. Дело не в самом факте потери гарантии, а в том, что это может привести к повреждению платы. Если, конечно, вы уже наигрались и просто нужен повод выбросить все это...

Еще одно полезное дополнение Keymap Editor - очень удобно с ним настраивать управление медиацентром. Этим сейчас и займемся. Как я уже упоминал, Raspberry Pi поддерживает технологию CEC, что позволяет использовать пульт телевизора для управления медиацентром. Большинство телевизоров, выпущенных за последние годы, тоже поддерживают эту технологию.

Но, к сожалению, тут есть некоторые проблемы. Разные фирмы называют технологию CEC по-своему. И это не случайно, они и реализуют ее по-своему. Например, у LG это SimpLink. Идея хорошая, но программисты решили особо себя не утруждать и свели количество кнопок, посылающих коды по HDMI к минимуму. На моем пульте из 48 кнопок только 11 можно использовать для управления подключенными по HDMI устройствами.

Это кнопки со стрелками, OK, Exit и еще несколько других. Остальные кнопки управляют телевизором или выдают сообщение «Операция недоступна». Несколько кнопок вообще не работают в этом режиме. В принципе, для стандартных операций этого достаточно, но, например, переключать звуковую дорожку фильма, забираясь глубоко в меню весьма неудобно.

Для некоторых операций программисты LG решили зачем-то задействовать последовательное нажатие двух кнопок. Чтобы вывести контекстное меню нужно нажать «Стоп», а затем «Play», для возврата в домашний экран - «Стоп», «Пауза». А ведь большая часть кнопок пульта не задействована... И тут ничего не поделаешь. В меню телевизора можно только включить или выключить SimpLink.

К счастью, в XBMC в каждом окне одна и та же кнопка может выполнять разные функции, так что кое-что подправить можно. Для этого запускаем установленное дополнение Keymap Editor из главного меню «Программы». Как с ним работать, интуитивно понятно, но предварительно нужно ознакомиться со структурой файла keyboard.xml , который хранится на SD карточке в каталоге /storage/.xbmc/userdata/keymaps/ .

Имя файла вообще-то может быть любым, главное, чтобы расширение было xml . Дополнение просто помогает создать и отредактировать этот файл, который переопределяет функции, выбранные по умолчанию для кнопок управления. Тема тоже отдельная и обширная, не все тут сразу ясно и понятно, придется экспериментировать. Подробную информацию по структуре файла можно найти и .

Наконец, все настроено, делаем на всякий случай резервную копию системных файлов (Система -- OpenELEC -- Система -- Создать системную резервную копию) и копируем созданный файл из каталога /storage/backup на HDD или флэшку. С помощью этого файла можно восстановить все сделанные настройки после переустановки или установки новой версии OpenELEC. Для восстановления системных настроек файл должен находиться в каталоге /storage/backup .

К сожалению, восстановление настроек можно сделать корректно только в пределах одной версии - 4-й, 5-й и т.д. Т.е. нет проблем апгрейда с 4.0 на 4.2, но могут возникнуть ошибки при переходе с 4.2 на 5.0. В этом случае, очевидно, настройку придется повторять вручную. Не помешает сохранить также образ SD карточки с помощью Win32DiskImager в файл с расширением .img , чтобы в случае каких-то глобальных системных сбоев не пришлось повторять всю настройку. Сохраненный файл образа можно заархивировать для экономии места на диске.

Теперь вся инициатива в ваших руках. Смотрите фильмы, слайд шоу, слушайте музыку. Но не забывайте, что Raspberry Pi – компьютер, а не плеер. Это значит, что “нажал кнопку и смотри” с ним не получится. Придется использовать голову, потребуются также прямые руки... С другой стороны, если что-то не работает или работает не так, как нужно, есть много путей решения проблемы. В первую очередь, нужно поискать, а не найдено ли уже кем-то решение. Новые версии OpenELEC выходят довольно часто – в течение года появляется несколько обновлений, т.е. проект активно развивается и все ошибки постепенно устраняются.

Медиацентр поддерживает довольно много видеоформатов, это H.264, XviD, DivX, MPEG2 в контейнерах MKV, AVI, DVD. С полным списком поддерживаемых форматов можно .

Какие недостатки у медиацентра на Raspberry Pi? Основной минус – очень долго добираться до нужного медиафайла в интернет. При просмотре никаких задержек нет, а вот поиск и выбор того, что вы хотите посмотреть занимает отнюдь не секунды, а 1-2 минуты. Нерабочих ссылок тоже довольно много. Тут уж ничего не поделаешь...

Не всегда корректно отображается меню DVD дисков. Вообще, DVD – очень сложный контейнер с массой документированных и недокументированных возможностей. Тем не менее, основной фильм Raspberry Pi хорошо воспроизводит всегда.

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

Возможно, возникнет вопрос, а поддерживает ли Raspberry Pi новый видеокодек H.265. На момент написания статьи с этим дело обстояло точно так же, как и в большинстве других медиаплееров, т.е. никак. Но когда возникнет реальная потребность в просмотре фильмов, закодированных H.265, возможно появится Raspberry Pi 2, 3... или что-то аналогичное. Просто заменим плату нашего микрокомпьютера на что-нибудь более совершенное.

Конечно, я рассказал далеко не обо всех возможностях медиацентра на Raspberry Pi. Что-то, наверное, показалось не совсем понятным, хотелось бы побольше картинок. Но для того, чтобы обо всем подробно рассказать нужно писать книгу, на одной страничке сайта все описать невозможно. Названия окон и их содержимое в новых версиях OpenElec могут несколько отличаться от моего описания. Если что-то непонятно или не получается – просите помощи у Google.