Оглавление:

Сделайте Chromecast как устройство Raspberry Pi: 7 шагов
Сделайте Chromecast как устройство Raspberry Pi: 7 шагов

Видео: Сделайте Chromecast как устройство Raspberry Pi: 7 шагов

Видео: Сделайте Chromecast как устройство Raspberry Pi: 7 шагов
Видео: ПК НА ЛАДОНИ | RASPBERRY PI 4B С ALIEXPRESS | ПЕРВЫЙ ЗАПУСК И НАСТРОЙКА 🍓🍓🍓 2024, Июль
Anonim
Сделайте Chromecast как устройство Raspberry Pi
Сделайте Chromecast как устройство Raspberry Pi
Сделайте Chromecast как устройство Raspberry Pi
Сделайте Chromecast как устройство Raspberry Pi
Сделайте Chromecast как устройство Raspberry Pi
Сделайте Chromecast как устройство Raspberry Pi
Сделайте Chromecast как устройство Raspberry Pi
Сделайте Chromecast как устройство Raspberry Pi

У меня уже есть Chromecast v2 (круглый, USB-накопитель похож на v1, а v3 выглядит как v2, но с G на i и имеет блок питания с портом Ethernet на нем), и мне он нравится, его очень весело использовать и проста в настройке, НО…

Да, есть НО, когда я нахожусь в месте, где у меня нет доступа к Интернету и я не могу использовать свой тарифный план, Я НЕ МОГУ ИСПОЛЬЗОВАТЬ его для потоковой передачи локального мультимедиа с моего телефона или планшета, даже когда я не Мне вообще не нужен интернет, Google по их «великой мудрости» решил не позволять ему даже загружаться без интернета, это плохо, если в конечном итоге он понадобится для потоковой передачи

У меня есть мини-роутер GL-MT300A, он очень маленький и может питаться от телефона, внешнего аккумулятора или зарядного устройства для телефона, я использую его для сопряжения с ним Chromecast, а когда мне нужен Интернет, я просто подключаю роутер к проводному сеть или, если у них есть только Wi-Fi, он поддерживает подключение к нему в качестве клиента и одновременное действие в качестве маршрутизатора, теперь проблема все еще сохраняется, нет интернета = нет хромирования локальных носителей для вас. Здесь вступает в игру Raspberry Pi Zero W (W приходит от Wireless, у него есть карта сборки, * yaay *, Bluetooth тоже, но мне это не нужно: P)

Шаг 1. Что вам нужно и что вы получите

Что вам нужно и что вы получите
Что вам нужно и что вы получите
Что вам нужно и что вы получите
Что вам нужно и что вы получите
Что вам нужно и что вы получите
Что вам нужно и что вы получите

Тебе нужно:

  • Raspberry Pi Zero W (мой в акриловом футляре)
  • Кабель HDMI (неплохо иметь пластиковый колпачок)
  • Источник питания (в моем случае зарядное устройство для телефона)
  • Адаптер Mini HDMI (вилка) на полный HDMI (мама) (поставляется с PI)
  • SD-карта 8 ГБ или более (я использую 16 ГБ от Medion)
  • Кардридер SD (получил в подарок с павербанком от Hama)
  • Подключение к Интернету и ПК для загрузки "Raspbian Stretch Lite"
  • Etcher Portable (средство записи изображений на SD-карту) -> получить Etcher для Windows x86 (32-разрядная версия) (Portable) также будет работать на x64
  • Загрузите Putty по предоставленной ссылке или Google для этого

Ты получишь:

Цель трансляции видеофайлов из онлайн-сервисов, таких как YouTube, и локальных медиа (видео, аудио и изображения) для Android (Raspicast), Windows и любой операционной системы, поддерживающей клиентское приложение SSH

Интернет не требуется, если медиафайлы, которые вы отправляете, хранятся на вашем устройстве или где-то в локальной сети

Вы можете получить удаленное управление целью, например, воспроизведение, выбор источника, воспроизведение / пауза, громкость, выход. (Raspberry SSH или кнопка SSH, замазка)

Вы получаете очень быстрое время загрузки устройства, для Raspberry Pi Zero, около 10 секунд

Вы получаете обои по умолчанию и способ отображения случайных обоев нажатием кнопки, которые не занимают места на вашем устройстве и остаются там до перезагрузки. (его можно изменить на постоянное, я покажу позже, как)

Он принимает различные типы потоков (например, HTTP, HTTPS, RTSP) и с помощью компьютера, ноутбука в моем случае, Sopcast, Acestream, а также локальных носителей с внешними субтитрами (например, srt, sub)

Вы даже можете передавать файлы через HTTP, хранящиеся на вашем компьютере, с помощью портативного однофайлового веб-сервера для проигрывателя

Есть еще кое-что, что можно открыть, добавить или удалить, в зависимости от ваших потребностей

Шаг 2. Получение программного обеспечения и инструментов для установки на SD-карту

Получение программного обеспечения и инструментов для установки на SD-карту
Получение программного обеспечения и инструментов для установки на SD-карту
Получение программного обеспечения и инструментов для установки на SD-карту
Получение программного обеспечения и инструментов для установки на SD-карту
Получение программного обеспечения и инструментов для установки на SD-карту
Получение программного обеспечения и инструментов для установки на SD-карту

Загрузки:

Теперь вы переходите на https://www.raspberrypi.org/downloads/raspbian/ и загружаете "Raspbian Stretch Lite"

Перейдите на https://www.balena.io/etcher/ и получите Etcher для Windows x86 (32-бит) (Portable) (есть версии для Linux и Mac)

Загрузите шпатлевку с

Теперь, когда у вас есть все это, мы запустим Etcher и вставим карту в кардридер и ридер в компьютер: P

В Etcher нажмите «Выбрать изображение» и выберите загруженный zip-файл (в то время, когда я пишу, это «2018-11-13-raspbian-stretch-lite.zip», затем выберите устройство для чтения карт из отображаемого списка и, по крайней мере, нажмите flash, он запросит разрешение у управления учетными записями пользователей (UAC), разрешить его, ему необходимо физически получить доступ к SD-карте в монопольном режиме для записи образа. Когда это будет сделано, отключите его, он уже извлечен Etcher и поместил его обратно в, будет загрузочный раздел размером ~ 50 МБ, и вам будет предложено отформатировать «неформатированный раздел» НЕ ФОРМАТИРУЙТЕ ЭТО, окна не могут читать разделы Linux и есть раздел ext4.

Вам нужно сделать 2 файла в загрузочном разделе.

новый файл без расширения с именем ssh

еще один называется wpa_supplicant.conf

Содержание "wpa_supplicant.conf" выглядит следующим образом

страна = ГБ

ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "YOUR_WIFI_SSID" psk = "YOUR_SUPER_SECRET_PASSWORD"}

Теперь подключите его к Raspberry Pi, подключите выходное устройство HDMI (например, телевизор, проектор и т. Д.) И к источнику питания.

В последней строке перед входом в систему будет отображаться IP. (Как показывает практика, лучше сделать это распределение адресов статическим для вашего маршрутизатора, см. Изображение маршрутизатора Linksys.

Шаг 3. Обновление и настройка всего

Обновление и настройка всего
Обновление и настройка всего

Обновите вашу систему:

sudo apt-get update

sudo apt-get upgrade sudo apt-get update sudo rpi-update

После того, как все будет сделано, он перезагрузится, и у вас появится неактивное окно шпатлевки, закройте его и начните снова с теми же данными, что и на предыдущем шаге.

Теперь мы собираемся установить omxplayer, нет необходимости компилировать его из исходников, это часть репозиториев Raspbian.

sudo apt-get установить omxplayer fonts-freefont-ttf

Я хочу иметь способ изменить порт HDMI на моем телевизоре с помощью моего Raspberry, как будто я хочу что-то передать на него и не хочу использовать пульт для изменения источника на тот, к которому он подключен. Есть способ сделать это с Pi и с помощью команды из моего выбранного приложения. Короче сделайте следующее:

sudo apt-get install cec-utils

Теперь он следует за программой просмотра изображений кадрового буфера под названием fbi (есть и более продвинутая версия под названием fim)

sudo apt-get install fbi

Поддержка Samba, общий ресурс Windows для доступа к общей папке.

sudo apt-get install samba samba-common-bin

cd / home / pi

sudo mkdir -m 1777 / главная / пи / доля

Редактировать файл конфигурации samba

судо нано /etc/samba/smb.conf

вставьте следующие строки в конце (те, которые начинаются с #, являются комментариями, их можно игнорировать)

[Поделиться]

Комментарий = общая папка Pi Путь = / home / pi / share Возможность просмотра = да Запись = Да только гость = нет маска создания = 0777 маска каталога = 0777 Общедоступная = да Гость нормально = да

Наконец, сохраните его; используя nano в терминале:

нажмите «Ctrl + X», чтобы закрыть файл, затем «Y», чтобы подтвердить сохранение, затем «Enter», чтобы сохранить файл под правильным именем.

Теперь установите пароль для самбы такой же, как и для пользователя pi (по умолчанию: raspberry)

sudo smbpasswd -a pi

перезапустить службу самбы

sudo /etc/init.d/samba перезапуск

Теперь у вас есть основы, далее следует настройка.

Шаг 4: настройка

Настройка
Настройка

сделать так, чтобы при запуске отображался экран-заставка вместо черного экрана с белым текстом.

Загрузите WinSCP и войдите в систему, используя тот же IP-адрес, пользователя и пароль из входа SSH / Putty.

Перейдите в / home / pi / и загрузите изображение, представленное в zip-файле на этом этапе, после распаковки. Тогда выйдите. Изображение имеет разрешение 1080p.

введите следующую команду в замазке:

нано ~ /.bashrc

прокрутите до последней строки с помощью клавиш со стрелками, вставьте туда следующие строки (те, которые начинаются с #, являются комментариями, их можно игнорировать)

# fifo для команд через ssh в omxplayer

mkfifo / tmp / cmd # заставка для замены черного экрана и текста sudo / usr / bin / fbi -noverbose -a -T 1 /home/pi/splashscreen.jpg

Наконец, сохраните его; используя nano в терминале: нажмите «Ctrl + X», чтобы закрыть файл, затем «Y», чтобы подтвердить сохранение, затем «Enter», чтобы сохранить файл под правильным именем.

Теперь мы делаем автоматический вход пользователя pi при загрузке, нам это нужно для отображения изображения, это можно сделать без автоматического входа, но это сложнее и может быстро выйти из строя из-за одной ошибки ввода.

sudo raspi-config

  1. Выберите вариант загрузки
  2. Выберите рабочий стол / интерфейс командной строки
  3. Выберите автоматический вход в консоль для CLI.

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

перезагрузка sudo

Идея моего проекта заключается в том, что большая часть работы выполняется в клиенте SSH, поскольку его можно настроить и изменить так, как это необходимо.

Шаг 5: Как его использовать:

Как это использовать
Как это использовать
Как это использовать
Как это использовать
Как это использовать
Как это использовать
Как это использовать
Как это использовать

Я покажу команды и то, что они делают, и как настроить дополнительное программное обеспечение с потокового устройства.

Я использую 3 приложения для Android и 4 приложения для ПК, но вы реализуете то, что вам нужно, из того, что я вам покажу, или вы можете получить все это и даже добавить к нему больше.

• YouTube: под Android используйте Raspcast, под ПК используйте сайт вроде https://www.onlinevideoconverter.com/ или

www.youtubnow.com/ или https://youtubemp4.to или даже лучше https://mpgun.com/youtube-to-mp4.html?yid=hTJAnWWK7YQ (hTJAnWWK7YQ - это идентификатор YouTube) вы получите прямая ссылка на медиа, которую можно воспроизвести с помощью следующей команды:

omxplayer -o hdmi "https://sv89.onlinevideoconverter.com/download?file=f5a0d3c2e4d3g6h7" / tmp / cmd

Добавление </ tmp / cmd включит удаленное управление и; эхо. > / tmp / cmd начнет воспроизведение потока, иначе он будет ждать команды от FIFO. Параметр -o hdmi в omxplayer будет выводить видео на HDMI, и туда идет звук, это важно для людей, которые используют более крупные варианты Raspberry Pi Zero W.

Теперь я покажу вам, как настроить Raspicast для Android, это бесплатно и без рекламы.

Установите Raspicast из магазина Google Play и настройте его, как показано на изображениях.

play.google.com/store/apps/details?id=at.huber.raspicast

• Sopcast: запустите Sopcast на ПК, выберите канал и, когда увидите изображение, дайте следующую команду

IP 192.168.1.6 - это IP-адрес ВАШЕГО ПК. НОУТБУК НЕ ТОЛЬКО ОТ PI, в моем примере Pi - 192.168.1.9, а ноутбук - 192.168.1.6.

omxplayer -o hdmi "192.168.1.6:8902" / tmp / cmd

• AcePlayer: запустите его, выберите канал и… есть одноразовые настройки, которые нужно изменить, чтобы он заработал, перейдите в Инструменты -> Настройки -> Толстые все, Вывод потока -> Цепочка вывода потока по умолчанию, где вы вводите следующее

#duplicate {dst = "http {mux = ts, dst =: 8902 / tv.asf}", dst = display}

Щелкните Сохранить. Теперь команда, которая покажет вам поток после того, как вы запустили его в AcePlayer ofc:

omxplayer -o hdmi "https://192.168.1.6:8902/tv.asf" / tmp / cmd

• Кастинг с ПК файла Вам необходимо установить Putty, Zervit, VLC (не переносится)

Zervit вы получаете с

Сначала вам нужно поместить zervit.exe в папку с медиафайлами, которые вы хотите отправить на свой Raspberry PI, затем запустите его, он задаст несколько вопросов. «Номер порта для прослушивания (80):» введите 80 и введите «Принять список каталогов [Y / N]:» введите y и введите теперь откройте браузер и введите свой IP-адрес в локальной сети https://192.168.1.6, который вы увидите все медиафайлы, скопируйте ссылку на один из них, щелкнув правой кнопкой мыши -> скопировать ссылку, затем ssh с замазкой и введите

omxplayer -o hdmi "https://192.168.1.6/Movie.mp4" / tmp / cmd <- или как там называется ваш медиафайл

для файлов с субтитрами поместите субтитры с таким же именем, как у видеофайла с расширением srt, в общую папку Windows на малине

МАЛИНА / акция

или

192.168.1.9 / поделиться

где 192.168.1.9 - это ip вашего raspberry.

в вашей домашней папке (/ home / pi)

winscp с pi: rasspberry и загрузите скрипт python под названием 'omxplayersub.py' со следующим содержимым:

подпроцесс импорта

import sys import urllib2 if (len (sys.argv)! = 2): print "Имя файла не указано" quit () file = sys.argv [1] subfile = "/ home / pi / share /" + file.split ("/") [- 1] subfile = subfile [: - 3] + "srt" subfile = urllib2.unquote (subfile) subprocess. Popen ('omxplayer -o hdmi -r --font "/ home / pi / Segoe UI, Medium.ttf "--italic-font" / home / pi / Segoe UI, Italic.ttf "--align center '+'" '+ file +' "'+' --subtitles '+'" '+ подфайл + '"', оболочка = True)

теперь загрузите это вместе со шрифтами Segoe UI и FreeSans в свою домашнюю папку (/ home / pi). Измените имена шрифтов для желаемого типа шрифта и, при необходимости, добавьте --font-size size 55 (по умолчанию: 55) после --align желаемого размера.

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

python omxplayersub.py "https://192.168.1.6/Defiance%20S01E02.mp4" </ tmp / cmd <- или как там называется ваш медиафайл

Если вы не видите его на экране воспроизведения, есть проблема совместимости, в некоторых файлах h264 профиль отображается h264-omx как -99, да, отрицательный 99, и он не будет воспроизводиться, в этом случае и в случае файл с внешними субтитрами, который вам понадобится для использования потока VLC, выберите файл / файлы, выберите HTTP, разрешите порт по умолчанию, h.264 / AAC (TS), сохраните масштаб до 1, Транскодирование - настройки толстых субтитров, нажмите кнопку потока и позвольте он работает несколько секунд.

omxplayer -o hdmi "https://192.168.1.6:8080/" / tmp / cmd <- он начнет играть

Мы выполняем транскодирование, это приведет к небольшой потере качества при отображении, и процессор будет больше работать на ПК, но он работает.

ЦИК - Органы управления

Включи телевизор

эхо на 0 | cec-client -s -d 1

Выключить телевизор

эхо в режиме ожидания 0 | cec-client -s -d 1

Изменить источник HDMI

HDMI1

echo "tx 4F: 82: 10: 00" | cec-client -s -d 1

HDMI2

echo "tx 4F: 82: 20: 00" | cec-client -s -d 1

HDMI3

echo "tx 4F: 82: 30: 00" | cec-client -s -d 1

HDMI4

echo "tx 4F: 82: 40: 00" | cec-client -s -d 1

Как вы видите, третий байт в шестнадцатеричной строке, которую мы повторяем, - это номер разъема HDMI, который нужно установить активным.

Шаг 6: Список команд для добавления в приложения

Список команд для ввода в приложения
Список команд для ввода в приложения

Вы уже установили Raspicast на предыдущем шаге, теперь вам нужно выбрать между Raspberry SSH (это платный) или SSH Button (он бесплатный, и мне он нравится больше, но я уже купил Raspberry SSH, прежде чем узнать об этом).

Малиновый SSH

play.google.com/store/apps/details?id=uk.co.knowles_online.raspberryssh

Это приложение или кнопка SSH требуется, если вам нужно транслировать контент с ПК и вам нужен пульт дистанционного управления с устройства Android, его можно использовать без него через замазку с ПК.

Конфигурация для обоих примерно одинакова.

Кнопка 1 Btn Text: перезагрузка

Btn Cmd:

перезагрузка sudo

Кнопка 2

Btn Текст: Poweroff

Btn Cmd:

sudo poweroff

Кнопка 3

Btn Text: HDMI1

Btn Cmd:

echo "tx 4F: 82: 10: 00" | cec-client -s -d 1

Кнопка 4

Btn Text: HDMI2

Btn Cmd:

echo "tx 4F: 82: 20: 00" | cec-client -s -d 1

Кнопка 5

Btn Text: HDMI3

Btn Cmd:

echo "tx 4F: 82: 30: 00" | cec-client -s -d 1

Кнопка 6

Btn Text: убить omxplayer

Btn Cmd:

sudo killall -s 9 omxplayer.bin

Кнопка 7

Btn Текст: Sopcast

Btn Cmd:

omxplayer -o hdmi "https://192.168.1.6:8902" / tmp / cmd

Кнопка 8

Btn Text: AcePlayer

Btn Cmd:

omxplayer -o hdmi "https://192.168.1.6:8902/tv.asf" / tmp / cmd

Кнопка 9

Btn Text: поток VLC

Btn Cmd:

omxplayer -o hdmi "https://192.168.1.6:8080/" / tmp / cmd

Кнопка 10

Btn Text: воспроизведение / пауза

Btn Cmd:

эхо -n p> / tmp / cmd

Кнопка 11

Btn Text: Volume +

Btn Cmd:

эхо -n +> / tmp / cmd

Кнопка 12

Btn Текст: Объем -

Btn Cmd:

эхо -n -> / tmp / cmd

Кнопка 13

Btn Text: выйти из Omxplayer

Btn Cmd:

эхо -n q> / tmp / cmd

Кнопка 14

Btn Text: Случайные обои

Btn Cmd:

wget -O DELME.jpg https://source.unsplash.com/random/1920x1080 &> / dev / null; sudo killall fbi &> / dev / null; sudo fbi -noverbose -a -T 1 DELME.jpg &> / dev / null; sleep 1; rm DELME.jpg

Кнопка 15

Btn Text: обои по умолчанию

Btn Cmd:

sudo killall fbi &> / dev / null; sudo fbi -noverbose -a -T 1 splashscreen-j.webp

Кнопка 16 Btn Text: обои для слайд-шоу

Btn Cmd:

компакт-диск / главная / пи / слайд-шоу /; sudo killall fbi &> / dev / null; sudo fbi -noverbose -a -T 1 -t 5 *-j.webp

-t 5 на 5 секунд

Кнопка 17 Btn Text: ВОСПРОИЗВЕДЕНИЕ СУБТИТРОВ HTTP (Редактировать)

Btn Cmd:

python omxplayersub.py "https://192.168.1.6/Some%20video%20with%20subtitle.mp4" </ tmp / cmd

При редактировании измените "https://192.168.1.6/Some%20video%20with%20subtitle.mp4" на URL-адрес файла из внешнего источника или измените его на что-то вроде / home / pi / share. Субтитры ВСЕГДА должны находиться в / home / pi / share.

Бесплатная альтернатива Raspberry SSH https://play.google.com/store/apps/details? Id = com.pd7l.sshbutton & hl = en_US

Работает точно так же, как Raspberry SSH, без рекламы, меньше цветов и все кнопки находятся в одной строке, а не 2, но бесплатно и отлично работает.

А теперь, в конце, некоторые экзотические вещи, транслируйте то, что вы записываете на свой телефон, в реальном времени с задержкой в несколько секунд на свой телевизор.

IP WEBCAMERA PRO (оплачивается)

play.google.com/store/apps/details?id=com.pas.webcam.pro

Начните потоковую передачу и используйте следующую команду, чтобы транслировать ее на телевизор

omxplayer -o hdmi rtsp: //192.168.1.8: 8080 / h264_ulaw.sdp

Сервер камеры RTSP (бесплатно)

play.google.com/store/apps/details?id=com.miv.rtspcamera&hl=en&rdid=com.miv.rtspcamera

Делает то же самое, что и платный, но бесплатно, без рекламы

omxplayer -o hdmi "rtsp: //192.168.1.8: 5554 / камера"

Активная камера - rtsp: // (IP-адрес устройства): 5554 / камера Задняя камера - rtsp: // (IP-адрес устройства): 5554 / задняя Фронтальная камера - rtsp: // (IP-адрес устройства): 5554 / передняя

Параметры URL камеры:

res Разрешение - ширина (число) x высота (число)

fps Кадр в секунду - fps (число) микрофон Включение / отключение микрофона - включено (строка) или выключено (строка)

Пример: rtsp: // (IP-адрес устройства): 5554 / back? Res = 640x480 & fps = 10 & mic = on

Шаг 7. Еще кое-что… ВЕБ-интерфейс

Еще кое-что… ВЕБ-интерфейс
Еще кое-что… ВЕБ-интерфейс

Установите его одной строкой из git

wget https://raw.githubusercontent.com/brainfoolong/omxwebgui-v2/master/install.sh && clear && sh install.sh

Пользовательский интерфейс по умолчанию на порту 4321, ему не нужен веб-сервер, он работает под php.

Требования:

sudo apt-get install php-cli

sudo apt-get install php-mbstring sudo apt-get install php5-cli sudo apt-get install php5-mbstring

Скачайте / Клонируйте / Распакуйте весь скрипт в понравившуюся папку. Установите правильный chmod для скриптов с помощью

chmod + x *.sh

Создайте веб-сервер php, прослушивающий порт 4321, вы можете изменить порт на все, что захотите. Начните с того же пользователя, который вам нужен для воспроизведения видео. Пожалуйста, не используйте apache или другой сервер для запуска php-скрипта, это, вероятно, не сработает.

php -S 0.0.0.0:4321 -t / home / pi / omxwebgui> / dev / null 2> & 1 &

Откройте веб-страницу с https://192.168.1.9:4321 (где 192.168.1.9 - IP-адрес raspberry pi)

Чтобы включить автозапуск при перезагрузке, просто добавьте следующую строку в ваш crontab. Сделайте это с тем же пользователем, который вам нужен для воспроизведения видео. Не требуется sudo. Добавьте следующую строку в crontab с помощью crontab -e, чтобы запустить простой веб-сервер php при перезагрузке.

crontab -e

теперь добавьте с

@reboot php -S 0.0.0.0:4321 -t omxwebgui> / dev / null 2> & 1 &

Добавьте файлы в настройки, могут быть добавлены только локальные размещенные или сопоставленные общие ресурсы и офс-потоки. Добавьте / home / pi / share в папку субтитров и при необходимости включите исправление для 2-кратной скорости воспроизведения и отсутствия звуковой ошибки.

Рекомендуемые: