Cтримим и кaстим youtube и не только… через raspberry pi c Gotubecast и KODI TubeCast

    image

    Насколько сложно передавать youtube музыку или видео через телефон или другие портативные, мобильные устройства на вашу Raspberry pi? А если не портативные? А просто управлять медиа контентом через Windows или Linux PC? Оказывается что нет. Я хочу рассмотреть установку, и настройку нескольких приложений на вашу малинку с помощью которых мы можем это сделать.
    Будем предполагать, что стриминг в данной ситуации это процесс передачи какого-либо медиа контента, который находится где-то на сайтах в интернете или допустим на локальном сервере с нашей медиа библиотекой для проигрывания оного на raspberry pi. А кастинг в свою очередь, от слова cast когда мы «перекидываем управление» медиа контентом какого-либо внешнего устройства на наш телевизор, а точнее на нашу raspberry pi, подключенную к телевизору или музыкальному центру. В данной ситуации через мобильный, запустив ваше youtube приложение мы перенаправляем вывод видео или музыки через нашу малинку на телевизор. Не забудьте подключить вашу raspberry pi к телевизору через HDMI.

    Есть два варианта рассмотреть эти приложения. Первый вариант, мы все настроили в нашем проекте ViaMyBox и вы можете не утруждать себя различными нюансами настройки linux, в данном варианте raspbian buster и скачать дистрибутив https://viamybox.com/downloadpage/ или напрямую с raspberry pi из репозитория:

    cd /home/pi
    git clone https://github.com/viatc/viamybox.git
    

    и запустить скрипт -> Home Theatre -> Cast youtube:

    sudo /home/pi/viamybox/scripts/via-setup.sh
    

    Ну или настройте все сами так, как нравится только вам, следуя примерам ниже. Я не буду сравнивать и описывать подробно функционал в данной статье данных приложений, а просто поделюсь опытом настройки и установки и нюансами с которыми я столкнулся.

    Встречаем! Gotubecast


    Страница проекта:

    https://github.com/CBiX/gotubecast

    Gotubecast представляет собой небольшую программу, чтобы сделать свой собственный ТВ-плеер на YouTube. Другими словами запустив на raspberry pi gotubecast, мы сможем через youtube приложение телефона или других устройств подключится к raspberry pi и запустить youtube ролик на телевизоре.



    Но для того чтобы это произошло потребуется сделать несколько действий для этого…

    Данная программа написана на Go. Поэтому надо его установить:

    cd /home/pi
    #скачаем версию
    wget https://dl.google.com/go/go1.13.7.linux-armv6l.tar.gz
    #разархивируем ее
    sudo tar -C /usr/local/ -xvzf go1.13.7.linux-armv6l.tar.gz
    #создадим папку для нашего проекта
    mkdir -p projects/{src,pkg,bin}
    #отредактируем наш
    nano /home/pi/.profile
    

    И запишем в него наши переменные окружения:

    export PATH=$PATH:/usr/local/go/bin
    export GOBIN="$HOME/projects/bin"
    export GOPATH="$HOME/projects/src"
    export GOROOT="/usr/local/go"
    

    Проверяем этот пакет:

    go version
    

    Затем установим наш gotubecast:

    cd /home/pi
    go get github.com/CBiX/gotubecast
    

    В проекте, который находится в нашей созданной папке /home/pi/projects/src/src/github.com/CBiX/gotubecast/examples автор предусмотрительно написал скипт raspi.sh для raspberry, упрощающий запуск gotubecast.

    Запускаем его и вот уже магия близко…

    cd /home/pi/projects/src/src/github.com/CBiX/gotubecast/examples
    ./raspi.sh
    

    После запуска скрипта мы увидим строку, что-то типа
    Your pairing code: 901-900-123-183
    Она позволит нам найти наш телевизор через телефон. Идем в приложение youtube application в телефоне и далее через иконку аккаунта в настройки -> просмотр телевизора и вбиваем наш код. После этого появляется иконка, через которую и будет доступен просмотр youtube через нашу raspberry pi.





    Но телевизор может теряться в случае отсутствия связки raspberry pi с google приложением длительное время и т п, И потому, помимо pairing code есть возможность привязать «навсегда» ваш телевизор к вашему goggle приложению с помощью Screen Id.

    Сгенерируем его на нашей raspberry pi:

    wget https://www.youtube.com/api/lounge/pairing/generate_screen_id
    cat generate_screen_id
    

    И добавим его в файлик:

    nano /home/pi/projects/src/src/github.com/CBiX/gotubecast/examples/raspi.sh
    

    в переменную на следующей строке:

    export SCREEN_ID=«aauaju8Example5539vbb»

    Чтобы запускать все это сразу при старте, сделайте себе маленький сервис-демон в папке:

    sudo nano /lib/systemd/system/gotubecast.service
    

    и в нем:

    [Unit]
    Description=Cast youtube
    Wants=network-online.target
    After=network.target network-online.target
    
    [Service]
    Type=simple
    ExecStart=/bin/bash /home/pi/projects/src/src/github.com/CBiX/gotubecast/examples/raspi.sh
    Restart=on-abort
    User=pi
    Group=pi
    
    [Install]
    WantedBy=multi-user.target
    

    Далее инициализируем его в системе:

    systemctl enable gotubecast.service
    

    И он будет запускаться при старте системы. Как выяснилось демон запускаясь, в случае отсутствия сети падает. Точнее raspi.sh не находит сеть. Можно через sudo raspi-config.sh сделать настройку ожидания сервисами сети, но вообще-то приятнее, когда загрузка raspbian происходит быстро) Поэтому пусть скрипт сам проверяет сеть. Добавьте проверочку-ожидание в файл raspi.sh:

    while ! ping -q -c 1 8.8.8.8 >/dev/null ; do sleep 1; done
    

    скопируем gotubecast в папочку для наших исполняемых файлов

    sudo cp /home/pi/projects/bin/gotubecast /usr/bin/
    

    И все готово :-)
    Да если вы не линуксоид и у вас рябит в глазах от команд, я автоматизировал весь вышеописанный процесс в скрипте и это выглядит так:



    Чтобы им воспользоваться скачайте проект через сайт или через github:

    git clone https://github.com/viatc/viamybox.git

    и запустите скрипт /home/pi/viamybox/scripts/via-setup.sh и перейдите в меню Home theatre:

    cd /home/pi
    git clone https://github.com/viatc/viamybox.git
    sudo /home/pi/viamybox/scripts/via-setup.sh
    

    Проверено на Raspbian Buster OS.

    Запускаем Youtube через KODI


    Если у вас стоит KODI, то запустить youtube ролик через него гораздо проще. Для этого потребуется просто установить плагин TubeCast. Из плюсов данный плагин kodi не требует первоначальной настройки и плагин прекрасно «видит» нашу raspberry pi и без забивания pairing code вручную.



    И после установки плагина вы сразу увидите cast иконку на вашем andriod youtube application или на youtube страничке в браузере.



    Из описания, следует что это реализация Сast V1 протокола для Youtube мобильных приложений, который в свою очередь основан на DIAL протоколе через SSDP. Данная технология позволяет подключиться к вашему youtube каналу как внешнему сервису через интернет. Это позволяет найти ваше устройство с KODI на борту даже не будучи в одной сети с ним. Просто обновите свой pairing code на транслирующем устройстве. Таким образом мы связываем два устройства и передаем управление через одно устройство к другому, но не сам медиа контент. Поэтому и передающее и принимающее устройство (в данном случае наша raspberry pi) должно быть в интернете.

    Надеюсь было интересно. Если так, пишите комменты!

    В следующей части я хотел бы рассказать о том как проигрывать youtube и другой медиа контент из консольного терминала медиакомбайнами mps-youtube и straw-viewer и raspicast.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 2

      0

      А с другими приложениями этот вариант работает? Plex на смартфоне, например, или миррор-каст экрана телефона.

        0
        Miracast наверно… я как посмотрю отпишусь. Raspicast на андроиде работает точно по передаче youtube через кнопку «поделиться».

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое