Малина с сахаром. Рецепт не совсем обычного медиацентра из Raspberry Pi

0
23

Содержание статьи

За шесть лет существования Raspberry Pi появилось огромное количество руководств, как превратить его в домашний мультимедиацентр. Вот только классический мультимедийный центр из него настолько плохой, что проигрывает даже китайским HDMI-свисткам. Точнее, так кажется, пока ты не начинаешь мыслить, как линуксоид.

Первоначальная идея большинства людей, которые покупают Raspberry Pi, чтобы сделать из него ТВ-приставку, примерно следующая: подключаем к «малинке» жесткий диск или флешку с фильмами, подключаем пульт с гироскопом, устанавливаем мультимедийный комбайн Kodi и наслаждаемся фильмами, ютюбчиком, ТВ и радио.

Это абсолютно логичное решение, которое ты будешь проклинать уже через два часа. Kodi — прекрасная оболочка для мультимедийной приставки, но не лучшим образом оптимизированная для Raspi. Иной раз ее приходится перезапускать, курсор мыши во время просмотра видео дико тормозит, а некоторые функции не работают.

Плюс ко всему ты, конечно же, столкнешься с неработоспособностью половины опубликованных в местном репозитории плагинов. Хочешь посмотреть YouTube — фиг тебе, плагин работает один раз через десять, послушать радио можно, но придется еще найти работающий плагин. ТВ? Даже не пытайся.

2018 год, стримы, облака, Netflix, а ты сидишь и смотришь видосики с жесткого диска с тормозящим курсором. А если попробуешь открыть YouTube в браузере, то увидишь такое слайд-шоу, что можно на конференциях выступать.

Мыслим в обратную сторону

Raspberry Pi кажется настолько непригодным к использованию в качестве ТВ-приставки, что я мог бы порекомендовать купить вместо него настоящую ТВ-приставку (типа Nvidia Shield) или даже китайский HDMI-свисток. Но я не буду этого делать, потому что у Raspberry Pi есть два преимущества:

  1. Это мини-ПК на базе Linux, с которым можно сделать все что угодно (в отличие от залоченных приставок и приставок на базе Android).
  2. У Raspberry Pi большое комьюнити и множество разработчиков.

Не стоит пытаться превратить Raspberry Pi в классическую приставку, управляемую с пульта. Его нужно превратить в сервер, которым ты сможешь рулить с ноутбука или смартфона. Захотел посмотреть YouTube — взял телефон, запустил аппликуху, выбрал видео и нажал плей. Хочешь музыку — у тебя на телефоне есть виджет. Торренты? Скачиваешь файлик на ноутбук и с помощью удаленного торрент-клиента закидываешь на Raspi.

Что тебе понадобится

Итак, тебе нужны следующие вещи:

  1. Raspberry Pi 3.
  2. SD-карта минимум на 8 Гбайт, минимум 10-го класса.
  3. Внешний жесткий диск для хранения музыки и фильмов.
  4. Клавиатура и мышь (нужны только при начальной настройке и во время неполадок).
  5. USB-зарядник на 2,5 А и microUSB-кабель.

Raspberry Pi без проблем дружит с Bluetooth-клавиатурами и мышами, но работать они будут, естественно, только если загрузка ОС прошла успешно. В качестве мыши очень удобно использовать пульт с гироскопом (на Aliexpress такие стоят 3–5 долларов). Он эмулирует движения мыши с помощью наклонов.

USB-зарядник подойдет любой, даже меньше чем на 2,5 А. Проблема только в том, что, если Raspi заметит нехватку энергии, он сбросит частоту процессора, а ты увидишь значок молнии в правом верхнем углу экрана. В это же время может произойти останов жесткого диска и обесточивание периферии. Стоит озаботиться покупкой хорошего зарядника и microUSB-кабеля, нередко проблема недостатка питания именно в нем.

Не буду в подробностях расписывать процесс установки ОС на Raspberry (об этом и так рассказывают на каждом углу). Скажу лишь, что я рекомендую использовать официальный дистрибутив Raspbian (для гарантии того, что все работает как надо) и что сам процесс установки, по сути, сводится к скачиванию образа ОС и его заливке на SD-карту. В Linux это делается в две команды:

$ wget https://downloads.raspberrypi.org/raspbian_latest -O raspbian_latest.zip
$ unzip -p 2018-04-18-raspbian-stretch.zip | sudo dd of=/dev/sdX bs=4M conv=fsync

Здесь /dev/sdX — это SD-карта, реальное имя можно узнать с помощью команды lsblk или dmesg сразу после подключения карты памяти.

Вставляем карточку в Raspberry Pi, дожидаемся загрузки рабочего стола, подключаемся к сети Wi-Fi. Запускаем конфигуратор raspi-config из консоли:

$ sudo raspi-config

И включаем SSH-сервер: Interfacing options -> SSH -> Yes.

С этого момента клавиатура и мышь нам больше не нужны. Все, что нужно, мы сможем сделать, подключившись к Raspi с помощью SSH.

Рабочий стол Raspberry PiРабочий стол Raspberry Pi

Фильмы и YouTube

Главная задача мультимедийной приставки — проигрывать видео. Для Raspberry Pi доступны различные плееры, но почти все они имеют проблемы с воспроизведением видео с высоким разрешением. Проще говоря, они не умеют декодировать видео с помощью аппаратного ускорителя и делают это на центральном процессоре, который любит тормозить.

Но есть исключение — omxplayer. Он был создан разработчиками Kodi, чтобы убедиться в способности Raspberry Pi к декодированию видео перед началом портирования самого мультимедийного комбайна. Omxplayer без всяких проблем переваривает HD и Full HD видео, но управляется исключительно из консоли. Другими словами, чтобы запустить воспроизведение, тебе придется сделать так:

$ omxplayer /путь/к/видео.avi

Чтобы выбрать аудиовыход (HDMI или выход на самом Raspi), используй опцию -o:

$ omxplayer -o local /путь/к/видео.avi

Для управления воспроизведением используй клавиши: пробел — пауза, +/- — громкость, стрелки — перемотка.

Считаешь это удобным? Я тоже нет, поэтому предлагаю использовать omxplayer в связке с приложением Raspicast для Android. Это клиент для Raspberry Pi и omxplayer, позволяющий удаленно включать любые видео, хранящиеся на жестком диске, и даже видео с YouTube.

Установи приложение на свой смартфон, укажи IP-адрес Raspberry Pi, а также имя и пароль для подключения к SSH. Далее ты можешь либо использовать встроенный в приложение файловый браузер для выбора видео, либо отправить любое видео с YouTube: запускаешь YouTube на телефоне, выбираешь видео, нажимаешь кнопку «Поделиться» и выбираешь в списке Cast (Raspicast).

Видео можно либо запустить немедленно, либо добавить в плей-лист (для этого надо выбрать Queue (Raspicast) в меню «Поделиться». К сожалению, стримы YouTube не поддерживаются, зато поддерживаются плей-листы, их можно отправлять в Raspicast целиком, а он добавит их в очередь.

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

$ dbuscontrol.sh status
$ dbuscontrol.sh pause
$ dbuscontrol.sh togglesubtitles

Raspicast умеет играть видео с жесткого диска и с YouTube Raspicast умеет играть видео с жесткого диска и с YouTube
Raspicast умеет играть видео с жесткого диска и с YouTube

YouTube: вариант второй, глючный

На самом деле Raspberry Pi таки умеет воспроизводить видео в браузере на приемлемой скорости. Но есть один нюанс: для этого необходимо активировать драйвер OpenGL, который работает, мягко говоря, не совсем стабильно. К примеру, ты можешь получить графические артефакты на экране, неустойчивую работу системы или вообще отказ загрузки. Если это не пугает, тогда выполни следующие действия.

Продолжение доступно только подписчикам

Материалы из последних выпусков можно покупать отдельно только через два месяца после публикации. Чтобы продолжить чтение, необходимо купить подписку.

Подпишись на «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here