Как выполнить потоковое видео с помощью Raspberry Pi?
Raspberry Pi – это недорогой карманный компьютер, который требует некоторого базового оборудования для создания увлекательных проектов, которые можно использовать в нашей повседневной жизни, чтобы сделать нашу жизнь проще. SD-карта, встроенная в слот для карт на плате, служит жестким диском для Raspberry Pi. Последние модели Raspberry Pi обычно имеют от трех до четырех портов универсальной последовательной шины (USB), один порт Ethernet и один мультимедийный интерфейс высокой четкости (HDMI). Он может делать все, что вы ожидаете от рабочей станции, например, воспроизводить видео превосходного качества, создавать электронные таблицы, FM-радиостанции, играть в игры и т. Д. Прямые потоковые видеокамеры могут использоваться в целях безопасности или в личных целях. Веб-камеры, видеокамеры, зеркальные камеры и беззеркальные камеры для потоковой передачи видео в реальном времени легко доступны на рынке, но они дорогостоящи. В этом проекте мы создадим потоковую камеру в режиме реального времени с использованием Raspberry Pi, которая является экономичным устройством, доступным также через Wi-Fi. Мы сможем просматривать потоковое видео на наших мобильных телефонах, планшетах и настольных ПК.
Прямая трансляция видео
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Как настроить камеру Pi для прямой трансляции?
Лучший подход для запуска любого проекта – составить список компонентов, потому что никто не захочет застрять в середине проекта только из-за отсутствующего компонента.
Шаг 1: Необходимые компоненты
Шаг 2: Выбор модели Raspberry Pi
Выбор Raspberry Pi – это очень техническая задача, и ее следует делать осторожно, чтобы не страдать в будущем. Raspberry Pi Zero не является предпочтительным, потому что это самая старая модель, доступная на рынке, с ограниченным количеством спецификаций, и настройка сети в ней – очень утомительная работа. Последние модели, такие как 3A +, 3B + можно приобрести. Raspberry Pi 3 – самый быстрый и доминирующий гаджет, выпущенный Фондом Raspberry Pi. Итак, в этом проекте мы будем использовать Raspberry Pi 3B +.
Raspberry Pi 3B +
Шаг 3: Настройка Raspberry Pi
Существует два варианта настройки Raspberry Pi. Во-первых, нужно подключить Pi к ЖК-дисплею, подключить все необходимые периферийные устройства и начать работать. Второй способ – настроить Pi на ноутбук и получить к нему удаленный доступ. Это зависит от наличия ЖК-дисплея. Если у вас он есть дома, вы можете настроить свой Pi с помощью ЖК-дисплея. Подключите ЖК-дисплей к порту HDMI Raspberry с помощью адаптера HDMI-VGA. Если вы хотите получить удаленный доступ к вашему Pi, следуйте моей статье под названием «Как получить доступ к графическому интерфейсу пользователя (GUI) Raspberry Pi с помощью SSH и VNC Viewer?». В этой статье подробно описана настройка Pi с ноутбуком, и после входа в систему вы сможете получить удаленный доступ к Pi.
Шаг 4: убедитесь, что Raspberry Pi обновлен
После настройки Raspberry Pi мы убедились, что наш Pi работает нормально и на нем установлены все последние пакеты. Откройте окно командной строки и введите следующие две команды для обновления Pi.
sudo apt-get update
Потом,
sudo apt-get upgrade
Если какие-либо обновления установлены, нажмите Y, а затем нажмите Enter, чтобы продолжить загрузку обновлений.
Обновление пакетов
Шаг 5: Включение модуля камеры Raspberry Pi
Нам нужно включить модуль камеры Raspberry Pi перед его использованием. После обновления пакетов закройте окно командной строки и щелкните значок Raspberry в верхнем левом углу экрана рабочего стола. Прокрутите вниз до настроек Raspberry Pi, выберите опцию «Интерфейсы» и включите камеру оттуда.
Это также можно включить, введя следующую команду в окне терминала:
sudo raspi-config
После ввода этой команды мы увидим, что инструмент настройки программного обеспечения Raspberry Pi открыт, прокрутите вниз до Параметры интерфейса и нажмите Enter.
Raspberry Pi Средство настройки
Появится новый экран, и мы увидим упомянутую камеру сверху. Нажмите Ввод:
Интерфейс камеры включен
После включения камеры необходимо перезагрузить Pi, чтобы изменения вступили в силу. Мы перезагрузим наш Pi, прежде чем продолжить, и это можно сделать, введя следующую команду.
перезагрузка sudoПерезагрузка пи
Шаг 6: Записываем IP-адрес Pi
Позже нам потребуется доступ к веб-серверу потокового видео, поэтому нам нужно знать IP-адрес, назначенный Raspberry Pi. Поскольку мы уже выяснили IP-адрес при настройке нашего Pi, мы запишем его и продолжим. Существует также альтернативный способ определения IP-адреса, который заключается в наборе следующей команды в окне терминала после настройки Wi-Fi на нашем Pi.
Ifconfig
В моем случае IP-адрес, назначенный моему Pi, равен «192.168.1.14».
Нахождение нашего IP-адреса
Шаг 7: Подключение модуля камеры
Теперь мы готовы подключить наш модуль камеры к Pi, но прежде чем делать это, имейте в виду, что камера может быть повреждена электричеством, произведенным статическим зарядом. Прежде чем вынимать камеру из серого пакета, убедитесь, что вы разрядились, прикоснувшись к заземляющему материалу. При установке камеры выключите Pi и подключите камеру к CSI-порту Pi и убедитесь, что камера связана в правильном направлении с полосами синими буквами вверх, как показано на рисунке ниже.
Подключение модуля камеры
Шаг 8: Поиск подходящего формата для потоковой передачи через Интернет
Это немного сложная задача, потому что нет видеоформатов, которые бы универсально поддерживались всеми веб-браузерами. HTTP изначально предназначался для обслуживания веб-страниц, и с момента его запуска было сделано много дополнений для загрузки файлов, прямой трансляции и т. Д. Следовательно, учитывая эту проблему, мы будем транслировать наше видео в простом формате, называемом MJPEG. Код, который упоминается в следующем шаге, использует встроенный модуль http.server для упрощения потоковой передачи видео. Подходящий формат с кодом можно найти на официальном сайте Picamera.
Шаг 9: Написание сценария для потокового видео
Нам нужно написать скрипт для потокового видео, его можно узнать на официальном сайте PiCamera. Во-первых, создайте новый файл с именем rpi_video_streaming.py, введя следующую команду в окне терминала:
sudo nano rpi_video_streaming.py
После создания файла скопируйте указанный ниже код или скачайте его с Вот, Если вы загружаете код по ссылке, прокрутите страницу вниз и проверьте пункт 4.10. Часть веб-трансляции.
импорт io
импортировать Picamera
ведение журнала импорта
импорт сокет-сервера
от нарезания резьбы
с http сервера импорта
PAGE = “” ”
PiCamera MJPEG Streaming Demo
«»»
Класс StreamingOutput (объект):
def __init __ (self):
self.frame = нет
self.buffer = io.BytesIO ()
self.condition = Condition ()
def write (self, buf):
если buf.startswith (b ‘ xff xd8’):
# Новый кадр, скопировать содержимое существующего буфера и уведомить все
# клиенты это доступно
self.buffer.truncate ()
с самообусловлением:
self.frame = self.buffer.getvalue ()
self.condition.notify_all ()
self.buffer.seek (0)
вернуть self.buffer.write (buf)
Класс StreamingHandler (server.BaseHTTPRequestHandler):
def do_GET (self):
если self.path == “https://appuals.com/”:
self.send_response (301)
self.send_header (‘Location’, ‘/index.html’)
self.end_headers ()
elif self.path == ‘/index.html’:
content = PAGE.encode (‘utf-8’)
self.send_response (200)
self.send_header (‘Content-Type’, ‘text / html’)
self.send_header (‘Content-Length’, len (content))
self.end_headers ()
self.wfile.write (содержание)
elif self.path == ‘/stream.mjpg’:
self.send_response (200)
self.send_header (‘Age’, 0)
self.send_header (‘Cache-Control’, ‘no-cache, private’)
self.send_header (‘Pragma’, ‘no-cache’)
self.send_header (‘Content-Type’, ‘multipart / x-mixed-replace; border = FRAME’)
self.end_headers ()
пытаться:
пока верно:
с выходным условием:
output.condition.wait ()
frame = output.frame
self.wfile.write (б ‘- КАДР г п’)
self.send_header (‘Content-Type’, ‘image / jpeg’)
self.send_header (‘Content-Length’, len (frame))
self.end_headers ()
self.wfile.write (кадр)
self.wfile.write (б ‘ г п’)
кроме исключения как e:
logging.warning (
«Удаленный потоковый клиент% s:% s»,
self.client_address, str (e))
еще:
self.send_error (404)
self.end_headers ()
Класс StreamingServer (socketserver.ThreadingMixIn, server.HTTPServer):
allow_reuse_address = True
daemon_threads = True
с picamera.PiCamera (разрешение = ‘640×480’, частота кадров = 24) в качестве камеры:
output = StreamingOutput ()
camera.start_recording (output, format = ‘mjpeg’)
пытаться:
адрес = (”, 8000)
сервер = StreamingServer (адрес, StreamingHandler)
server.serve_forever ()
в конце концов:
camera.stop_recording ()
После вставки кода в новый созданный файл нажмите Ctrl + X, введите Y и нажмите Enter.
Шаг 10: Запуск потокового видео
После сохранения скрипта мы запустим его с помощью Python3, введя следующую команду:
python3 rpi_video_streaming.py
После написания этой команды наш скрипт начнет работать, и теперь мы можем получить доступ к нашему веб-серверу по адресу http: //
Шаг 11: Даем последние штрихи
Поскольку мы протестировали нашу камеру Pi и узнали, что она работает нормально, мы готовы установить ее в подходящем месте. Он может быть установлен возле ворот дома, чтобы мы могли следить за каждым человеком, который входит или выходит из дома. Все, что нам нужно, это включить нашу камеру с помощью адаптера, и было бы лучше поместить ее в корпус и просто оставить сторону камеры открытой для потокового видео.
Приложения
- Это может быть установлено в домах в целях безопасности.
- Он может быть использован в офисах для мониторинга движения сотрудников.
- Он может быть установлен в торговых центрах, на железнодорожных станциях и т. Д., И администрация может получить к нему доступ для проверки и баланса в определенной области.
Appuals.com является участником партнерской программы Amazon Services LLC, и мы получаем комиссию за покупки, сделанные по нашим ссылкам.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)