Приложение Маяки Эстонии

Просмотр видео на Raspberry Pi

5 Февраля

Установка

Для Raspberry Pi существует отличный консольный видео-проигрыватель -  OMXPlayer. Устанавливается он следующей командой:

sudo apt-get install omxplayer -y

К сожалению, самим разработчиком он уже не поддерживается и более новая и продвинутая версия находится в  fork-репозитории. Установка этой версии отличается, равно как и некоторые ключи. В любом случае сначала лучше изучить описание.

Использование с терминала

Использование предельно простое:

omxplayer myvideo.mp4

Также проигрыватель имеет много настроек, доступных через специальные ключи. С их полным списком можно ознакомиться здесь. Там же есть список клавиш для управления проигрывателем. К сожалению, документация актуальна для давно не обновляемой официальной версии. Например, меня интересовала возможность воспроизведения с повтором (repeat) и, как оказалось, она есть. Правда, перед началом каждого цикла на мгновение появляется терминал, а сразу после загрузки - титр с длительностью ролика. Последнее можно убрать, выставив размер шрифта для титров равным единице (ноль не катит). В итоге, полностью команда запуска выглядит так:

omxplayer ~/video/video.mp4 --loop --font-size 1

Так же есть возможность "бесшовного" зацикливания проигрывателя через скрипты. Подробнее об этом можно почитать здесь и здесь.

Использование в LXDE

Если вам нравится графическая оболочка X Window, то это не повод отказываться от OMXPlayer! Для него есть несколько GUI, я остановился на  tboplayer. Это python-скрипт, которому для работы ещё нужна библиотека Pexpect. С её установки и начнём:

wget http://pexpect.sourceforge.net/pexpect-2.3.tar.gz
tar xzf pexpect-2.3.tar.gz
cd pexpect-2.3
sudo python ./setup.py install

Теперь нужно вернуться в корневую папку и скачать сам tboplayer:

cd /
wget https://github.com/KenT2/tboplayer/tarball/master -O - | tar xz

После распаковки у появится папка KenT2-tboplayer-xxxx. Её необходимо переименовать в tboplayer. Теперь всё готово. Запускается tboplayer через LXTerminal следующей командой:

sudo python /tboplayer/tboplayer.py

Набирать её каждый раз - не самый удобный способ, поэтому разумнее будет сделать ярлык на рабочем столе. Для этого нужно создать на рабочем столе новый файл и вписать туда код для запуска (тот, что выше). Затем сохранить, нажать на нем правой кнопкой мышки, выбрать Properties и во вкладке Permissions поставить галочку у пункта Make the file executanle. Всё, теперь с OMXPlayer можно работать из LXDE, где гораздо удобнее создавать плейлисты или менять настройки.

Просмотр видео с Youtube

Это один из наиболее интересных способов использования OMXPlayer. Правда, для пущего удобства понадобится установить пару дополнительных приложений. Одно из них будет скачивать на Raspberry Pi видео с Youtube, а второе предоставит нам удобную оболочку для поиска и выбора роликов. Начнём с "качалки"  youtube-dl. Тут есть один нюанс: установка через Advanced Packaging Tool возможна, но она происходит некорректно и при попытке обновления выводится ошибка /usr/bin/youtube-dl: line 1: Not: command not found. Оказывается проблема не единичная. Поэтому лучше сразу ставить "как надо" и так, как рекомендуют сами создатели:

sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+x /usr/local/bin/youtube-dl

После этого сразу же нужно обновить программу (надо запустить дважды) и перезагрузить устройство:

sudo youtube-dl -U
sudo youtube-dl -U
sudo reboot

Следует понимать, что программа обновляется каждый раз, когда Youtube делает какие-то изменения в своём сервисе, так что, корректной работы, более-менее регулярно проверяйте обновления youtube-dl.

Далее потребуется установить python-setuptools:

sudo apt-get install python-setuptools -y

Теперь всё готово к установке  yt - консольной оболочки, через которую мы и будем искать и запускать видео с Youtube. Правда, есть ещё один нюанс: автор достаточно давно не обновлял приложение, поэтому лучше установить его из fork-репозитория, где добавлена такая полезная возможность, как смена аудио-выхода.

git clone https://github.com/kamnxt/yt.git
cd yt
sudo python setup.py install

Собственно, всё. Запускаем и наслаждаемся:

pi-yt

Управление программой производится с клавиатуры. Раскладка кнопок такая:

  • s - поиск по названию ролика
  • квадратные скобки - переход по страницам
  • o - смена режима сортировки
  • 1-9 - быстрый выбор ролика по номеру от 1 до 9
  • v - выбор ролика по номеру. Необходим, если номер ролика больше 9
  • d - скачать видео
  • u - поиск пользователя на Youtube
  • a - изменить разъём, на который пойдёт звук (выбранный вариант отображается сверху на зелёном баре)
  • n - включить/выключить показ видео (выбранный вариант также отображается сверху)
  • Следует отметить, что yt отлично работает через SSH, хотя в интернете встречаются и обратные утверждения.

    Кому-то может не понравится, что yt не показывает картинок, что, конечно, усложняет поиск нужного видео. Есть альтернативная и гораздо более удобная оболочка с превью и поддержкой джойстиков и геймпадов -  raspytube. К сожалению, на одном из двух устройств, куда я её ставил, она работала крайне нестабильно. Вероятнее всего, был конфликт, так что лучше ставить это приложение на чистую систему.

    Ставим приложение самым простым способом из описанных автором:

    wget --no-check-certificate https://github.com/bbond007/raspytube/raw/master/install.sh -O - | sh

    К сожалению, и в этом случае необходимый youtube-dl не установится правильно, так что надо установить его вручную, как описано выше. После этого raspytube готов к использованию. В качестве последнего штриха можно сделать короткую ссылку для запуска программы:

    sudo ln -s /usr/local/bin/raspytube.bin /usr/local/bin/raspitube

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

    raspitube

    Управление осуществляется как мышкой, так и клавиатурой:

    • q - запустить в окне размером с четверть рабочего стола (в LXDE)
    • m - главное меню
    • s - поиск или редактирование результатов поиска
    • n - новый поиск
    • J (заглавная) - тестирование джойстика/геймпада
    • j (строчная) - выбрать устройство ввода
    • стрелки "вверх"/"вниз" - перемещение по списку видео
    • стрелки "влево"/"вправо" - переход на следующую/предыдущую страницу видео
    • ESC - закрыть проигрываемое видео или выйти из программы

    К сожалению, и yt и raspytube с кириллицей не работают.

    Использование с Android-устройств

    Честно скажу, данный способ показался мне наиболее удобным. Помимо самого OMXPlayer`а, надо установить на телефон (или планшет) приложение Raspicast. При запуске оно связывается с "малинкой" по SSH. Далее в удобном файловом менеджере можно выбрать файл и начать его проигрывать. Так же работает перемотка и регулировка громкости аппаратными клавишами телефона. В меню можно выбрать аудиовыход. Кроме того, есть возможность просмотра видео с Youtube, хотя и замысловатая. Необходимо открыть на телефоне приложение Youtube, найти там нужный ролик, нажать кнопку Share и выбрать в списке Cast (Raspicast), после этого ролик автоматически запуститься на Raspberry Pi, а на телефоне откроется Raspicast. Специально пробовали одновременно использовать Raspicast на нескольких телефонах и одном Raspberry Pi. Всё прекрасно работает, только громкость периодически скачет (вероятно, из-за того, что на разных телефонах она была выставлена по-разному).

    Кстати, Raspicast - единственный найденный мною способ просмотра роликов с Youtube с кириллицей в названиях.

Знатно накомментили:

Влад
2021-07-04 14:33:19
Не проходит: wget https://github.com/KenT2/tboplayer/tarball/master -O - | tar xz. Дает ошибку: отказано в доступе.
Иван Демидов
2016-10-02 18:26:58
Довольно интересная статья. Спасибо.

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

Цитировать
в комментарии