Обновить

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

Настройка LinuxРазработка на Raspberry PiСмартфоныУмный дом


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

Теги:raspberry pi;youtube cast;viamybox
Хабы: Настройка Linux Разработка на Raspberry Pi Смартфоны Умный дом
Рейтинг +9
Количество просмотров 1,8k Добавить в закладки 25
Комментарии
Комментарии 6

Похожие публикации

Frontend разработчик решений Умный дом (React)
от 100 000 до 150 000 ₽UnicornМожно удаленно
Backend разработчик решений Умный дом (PHP)
от 100 000 до 150 000 ₽UnicornМожно удаленно
Middle C/C++ Developer
от 80 000 ₽EltexНовосибирск
QA Linux Engineer
от 100 000 ₽MotionRayМожно удаленно
DevOps
до 200 000 ₽СКИФ ЭППМосква

Лучшие публикации за сутки