Продолжим обследование "звездных" клиентов по стримингу медиа контента не попавших в первую часть. И "кастингу" как возможности передавать ролики через другие устройства на Raspberry Pi. Есть еще несколько простых способов сделать это!
Встречаем Raspicast!
Эта программа может выступать уже сама в роли стримингового сервиса. Она позволяет передавать не только Youtube, но и любой контент с телефона на наше устройство. Android приложение позволит вам проигрывать и Youtube, и просматривать фото, видео файлы а также слушать музыку с телефона.
Устанавливаем Raspicast на телефон. Устанавливаем необходимые пакеты на Raspberry Pi:
sudo apt-get install libjpeg8-dev libpng12-dev
sudo apt-get install omxplayer
Включаем на Raspberry Pi ssh и смотрим ее ip. Заводим ip Raspberry Pi в настройки Raspicast. И теперь через youtube приложение телефона, через кнопку поделиться, выбираем Raspicast приложение.
Mps-youtube и Youtube-viewer
Следующие два проекта как брат и сестра: Mps-youtube и Youtube-viewer. Это два мощных поисковых терминальных комбайна, позволяющие искать, проигрывать и скачивать ролики с Youtube. В качестве движка у Mps-youtube по умолчанию стоит mpv плеер, но можно использовать и mplayer. Есть возможность поиска по группам только по музыкальным роликам. Скачивать и проигрывать только музыку или только видео.
Они действительно похожи:
В качестве основных различий, можно говорить о том, что Mps-youtube может авторизовываться и проигрывать медиа контент с Last.fm, а к примеру Youtube-viewer, может авторизовываться в самом ютюбе. Так что, можно писать комментарии подписываться и ставить лайки прямо в терминальном окне. На самом деле попробуйте их посмотреть сами, и мне кажется, что для каждого поискового плеера найдется свой поклонник. Также у Youtube-viewer есть графический GTK интерфейс который можно запустить на Raspberry Pi.
Посмотрим каждый в отдельности:
Mps-youtube
Подробнее по настройкам и общему обзору можно посмотреть пост здесь.
https://zenway.ru/page/mpsyt
На всякий случай поставим mpv плеер:
sudo apt-get install mpv
И из под пользователя, в нашем случае pi ставим пакеты для Mps-youtube с помощью инсталляционной утилиты pip для python пакетов:
pip3 install --user mps-youtube
pip3 install --user youtube-dl --upgrade
#Скопируем наш исполняемый файл
cp /home/pi/.local/bin/mpsyt /usr/bin
При запуске mpsyt на данный момент, у меня было не все так гладко. Приложение сообщает, что что-то пошло не так:
Youtube Error 403: Access Not Configured. YouTube Data API has not been used in project 422897895433 before or it is disabled. Enable it
by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project=4xxxxx895433 then retry. If you enabled this API recently,
wait a few minutes for the action to propagate to our systems and retry.
Дело в том, что приложение использует Youtube DATA API ключ, который сейчас отключен. Можно предположить, что сгенерированный единожды для этого проекта, он был многократно использован и отключен или ограничен. Для успешного запуска программы сгенерируем свой Youtube API. Для этого логинимся в google и идем по ссылке:
https://console.developers.google.com/apis/
Находим:
"ENABLE APIS AND SERVICES"
далее выбираем "YouTube Data API v3"
И генерим новый ключ (возможно потребуется создать новый проект).
Сохраним в буфер наш ключ и передадим нашей программе Mpsyt:
mpsyt set api_key "НАШ_API_КЛЮЧ"
И вот теперь будет нам счастье, и при запуске, набрав через слэш / наш запрос по поиску, мы получим вот такой к примеру результат:
/sia
Через двойной слэш // идет поиск по плейлистам.
Можно осуществлять поиск и проигрывать только музыку. Иначе, настройте mpsyt для поиска во всех категориях и проигрывания видео контента:
mpsyt set search_music false
mpsyt set show_video true
#Поиск по каналам и даже по песням в альбоме и много еще чего..:
mpsyt --help
Я сгенерировал тестовый API ключ, и автоматизировал некоторые процессы настройки и, запустив проект ViaMyBox через Github, можно протестировать работу Mps-youtube через утилиту via-setup.sh в меню music:
cd /home/pi
git clone https://github.com/viatc/viamybox.git
sudo /home/pi/viamybox/scripts/via-setup.sh
Youtube-viewer и|или Straw-viewer и|или Pipe-viewer
На самом деле проекта от этого автора три. Это такие It тройняшки Youtube плеера. Straw-viewer производный проект от Youtube-viewer. А Pipe-viewer в свою очередь форк от Straw-viewer. Рассмотрим самый молодой и экспериментальный Pipe-viewer подробнее. Хотя процесс инсталляции для всех трех практически одинаков.
Все три проекта написаны на Perl языке. Имеют консольный и графический GTK интерфейс и возможность проигрывать ролики, авторизоваться и вести в Youtube блог. Но в отличие от Mps-youtube заточены под видео контент. Straw-viewer и Pipe-viewer использует api проекта https://invidio.us/ Сам по себе Invidious интересный проект и об этом подробно написано здесь: https://habr.com/ru/post/441972/
В момент написания этого обзора сайт invidio.us был доступен, теперь (с 01.09.2020) все изменилось и остались разные зеркала и посмотрим сможет ли выжить эта рыбка в мире больших корпоративных акул)
Из приятных мелочей, в Pipe-viewer уже не требуется заводить Youtube api ключ. Обязательно поставьте вместе Mps-youtube и Pipe-viewer и сравните их во всяком случае ответы на одинаковые поисковые запросы будут отличаться. И вообще на это стоит посмотреть, во сяком случае удивительная лаконичность поисковых ответов терминального поисковика Youtube, лично меня не оставила равнодушным.
Проинсталлируем Pipe-viewer. Установим необходимые Perl библиотеки с помощью скрипта cpan. Мне потребовались эти библиотеки и пакеты:
sudo apt-get install libncurses-dev libreadline-dev libterm-readline-gnu-perl libssl-dev \
gobject-introspection libcairo-gobject-perl libgtk-3-dev libgtkmm-3.0-dev libgirepository1.0-dev \
libglib-object-introspection-perl libncurses5-dev libncurses5
sudo cpan Module::Build Data::Dump YAML HTTP::Request JSON URI::Escape JSON::XS Mozilla::CA \
Term::ReadLine::Gnu File::ShareDir Unicode::GCString LWP::UserAgent LWP::UserAgent::Cached \
LWP::Protocol::https Gtk3 Glib::Object::Introspection
Клонируем и собираем дистрибутив:
cd ~
git clone https://github.com/trizen/straw-viewer.git
cd straw-viewer
perl Build.PL
sudo ./Build installdeps
sudo ./Build install
Если есть возможность запустить графическую gtk версию на рабочем столе помимо консольного варианта добавим ключ --gtk и соберем проект так:
perl Build.PL --gtk
sudo ./Build installdeps
sudo ./Build install
И теперь мы можем запустить Pipe-viewer через консоль: pipe-viewer. Или в графике: gtk-pipe-vewer.
MPV плеер используется в качестве основного проигрывателя и в Pipe-viewer. Этот плеер не является достаточно легковесным и проработанным в плане правильного потребления ресурсов графического процессора, и некоторые HD youtube ролики, если запускаются через графический GTK интерфейс Pipe-viewer, могут значительно подгрузить процессор. В качестве альтернативы предложенному в репозиториях raspberry pi Mpv пакету, настройте просмотр через vlc плеер: Menu — Preferences — video_player_selected. В консольном же режиме Pipe-viewer с mpv ведет себя получше на 3 или 4 Raspberry pi и без дополнительных настроек. И тем не менее, можете поменять mpv на vlc в строке "video_player_selected => "mpv" в конфигурационном файле:
nano ~/.config/pipe-viewer/pipe-viewer.conf
Дистрибутив и код с вышеупомянутым функционалом вы можете найти здесь:
https://viamybox.com/downloadpage/
https://github.com/viatc/viamybox
Надеюсь со временем, мы увидим и рассмотрим новые интересные проекты для Raspberry Pi на данную тему.