Стримим и кастим youtube и не только… часть 2 Raspicast, Mps-Youtube и Youtube-viewer

Продолжим обследование “звездных” клиентов по стримингу медиа контента не попавших в первую часть. И “кастингу” как возможности передавать  ролики через другие устройства на нашу 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 и Straw-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=422897895433 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

Надеюсь со временем, мы увидим и рассмотрим новые интересные проекты для Raspberry Pi на данную тему.