Просмотр видео на Raspberry Pi
Установка
Для 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 - включить/выключить показ видео (выбранный вариант также отображается сверху)
- q - запустить в окне размером с четверть рабочего стола (в LXDE)
- m - главное меню
- s - поиск или редактирование результатов поиска
- n - новый поиск
- J (заглавная) - тестирование джойстика/геймпада
- j (строчная) - выбрать устройство ввода
- стрелки "вверх"/"вниз" - перемещение по списку видео
- стрелки "влево"/"вправо" - переход на следующую/предыдущую страницу видео
- ESC - закрыть проигрываемое видео или выйти из программы
Следует отметить, что 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
Управление осуществляется как мышкой, так и клавиатурой:
К сожалению, и yt и raspytube с кириллицей не работают.
Использование с Android-устройств
Честно скажу, данный способ показался мне наиболее удобным. Помимо самого OMXPlayer`а, надо установить на телефон (или планшет) приложение Raspicast. При запуске оно связывается с "малинкой" по SSH. Далее в удобном файловом менеджере можно выбрать файл и начать его проигрывать. Так же работает перемотка и регулировка громкости аппаратными клавишами телефона. В меню можно выбрать аудиовыход. Кроме того, есть возможность просмотра видео с Youtube, хотя и замысловатая. Необходимо открыть на телефоне приложение Youtube, найти там нужный ролик, нажать кнопку Share и выбрать в списке Cast (Raspicast), после этого ролик автоматически запуститься на Raspberry Pi, а на телефоне откроется Raspicast. Специально пробовали одновременно использовать Raspicast на нескольких телефонах и одном Raspberry Pi. Всё прекрасно работает, только громкость периодически скачет (вероятно, из-за того, что на разных телефонах она была выставлена по-разному).
Кстати, Raspicast - единственный найденный мною способ просмотра роликов с Youtube с кириллицей в названиях.
Знатно накомментили: