Raspberry pi настройка vlc

Обновлено: 03.07.2024

Семейство недорогих компактных одноплатных компьютеров Raspberry Pi появилось на рынке в несколько лет назад и с тех пор завоевало признание энтузиастов DIY по всему миру. В начале этого года было объявлено, что суммарные продажи превысили восемь миллионов устройств, а число публикаций о них в сети Интернет не поддается подсчету. Так что данная статья в определенном смысле представляет собой еще одну «каплю в море».

Тем не менее, рассказать о собственном опыте работы с новой версией микроПК все-таки хочется. Надеемся, что этот материал будет полезен тем читателям, которые пока незнакомы с этой платформой. Дополнительную информацию можно найти на официальном сайте, различных ресурсах для разработчиков и сайтах, посвященных проектам DIY (например, этом).

Версия Raspberry Pi 3, последняя из «полноразмерных», была анонсирована в начале этого года. Она сохранила основные черты своей предшественницы, включая размеры платы, интерфейсы, число и расположение портов ввода-вывода. Так что с ней будут совместимы разработанные ранее для Raspberry Pi 2 корпуса, дисплеи, камеры, платы расширения и другие компоненты.


Комплект поставки традиционно минимальный – в картонной коробке идет только плата в антистатическом пакете и пара бумажек. Так что для запуска устройства вам потребуются некоторые дополнительные элементы, в частности блок питания с выходом microUSB и параметрами 5 В 2 А, карта памяти формата microSD, монитор и клавиатура.


Внешний вид платы не изменился. Без внимательного рассмотрения отличить ее от предшественницы непросто, если не знать, в какой угол смотреть. Размеры платы составляют 5,6x8,5 см (формат «кретитка»), а максимальная высота определяется двойными портами USB (немногим менее 2 см). На лицевой стороне мы видим главный процессор, чип контроллера Ethernet и USB-хаба, основные слоты и порты. С обратной стороны платы находится чип оперативной памяти и слот для карт памяти.
Ключевым отличием от предшественника является использованная SoC – теперь это 64-х битный четырехядерный чип BCM2837, ядра которого имеют архитектуру ARM Cortex-A53 и работают на штатной частоте 1,2 ГГц (в стандартном дистрибутиве ОС частота снижается до 600 МГц при отсутствии нагрузки). В случае работы с высокой нагрузкой, рекомендуется установить на него радиатор, который часто продается в комплекте с корпусом и блоком питания. В процессоре находится и графический контроллер, который поддерживает API OpenGL ES 2.0 и может декодировать популярные форматы видео (в частности H.264, но не H.265). Второе, тоже достаточно актуальное на наш взгляд, обновление – интеграция на плату контроллеров Wi-Fi (одна антенна, 2,4 ГГц, 802.11b/g/n, до 150 Мбит/с) и Bluetooth 4.1. Наличие встроенного контроллера беспроводной сети позволяет более удобно реализовать сценарии с сетевым подключением, например минисервера автоматизации. С другой стороны, использование компактной антенны (без возможности штатно установить другую, внешнюю) явно не способствует высокой скорости и дальности работы.
Объем оперативной памяти не изменился и все также составляет 1 ГБ. Программное обеспечение нужно записывать на карту памяти, собственного флэша здесь нет. Компьютер имеет выход HDMI (поддерживает разрешения до FullHD и даже немного выше), композитный видеовыход и стереоаудиовыход (аудиовхода нет, для его реализации потребуется дополнительное оборудование), четыре порта USB 2.0, 10/100 Мбит/с проводной сетевой контроллер, порт GPIO на 40 контактов (если будете что-то подключать к нему, обратите внимание, что используются уровни 3,3 В), фирменные разъемы для камеры и дисплея и порт microUSB для подачи питания. Выключателя питания в системе нет, как и встроенных часов с собственной резервной батареей.
О сравнительной производительности третьей и второй версий компьютера в Интернете представлено очень много информации и, учитывая описанные выше отличия в SoC, вполне ожидаемо, что новое поколение быстрее в связанных с вычислениями на процессоре задачах. С другой стороны, оно более горячее и потребляет больше электроэнергии под нагрузкой, а кардинально нового уровня производительности не обеспечивает. Можно говорить о том, что оба устройства способны решать одни и те же задачи.



Основной ОС для этой платформы является дистрибутив Raspbian, основанный на Debian. Установить его можно с использованием специальной программы NOOBS или просто записав образ операционной системы на карту памяти.

Но конечно продукт совместим с большим числом операционных систем, включая различные варианты Linux (в том числе Gentoo и Ubuntu) и Windows 10 IoT Core. Для решения определенных задач в сети можно найти готовые специализированные проекты дистрибутивов, но никто не мешает вам использовать устройство просто как универсальный многофункциональный компьютер с Linux. Так что найти подходящий для вашего уровня подготовки вариант, скорее всего, не составит труда.

В целом, подобные решения, рассчитаны в основном на сегмент DIY и применение в различных проектах «самоделкиных». Описывать все тысячи, если не сотни тысяч вариантов, нет никакого смысла. Надо отметить, что диапазон здесь очень широкий. Одним пользователям будет комфортно в командной строке Linux, других будет пугать процесс записи готового образа на карту памяти. Поэтому как конкретно будет использоваться микрокомпьютер, будет зависеть в основном от вашего личного опыта, желания «глубоко копать» и, конечно, фантазии.

Начать можно с достаточно простых сценариев, не требующих глубокого знания программирования и большого опыта работы с паяльником. Пожалуй, наиболее популярный вариант использования миникомпьютера, на который стоит обратить внимание, – реализация медиаплеера. Прежде всего, отметим, что такое решение вполне конкурирует с готовыми продуктами по стоимости, удобству и возможностям. Однако есть несколько особенностей, которые стоит учитывать в данном случае. Во-первых, речь идет только о видео с разрешением до FullHD включительно, а кодеки могут быть представлены наиболее распространенным сегодня H.264 (AVC), а также MPEG2 и VC1.

Отметим, что последние два варианта в базовой поставке декодируются только программным образом, а для включения аппаратного декодирования потребуется приобрести специальную лицензию. При этом для MPEG2 мощности процессора вполне достаточно, а вот VC1 в FullHD уже не посмотреть без аппаратного декодера. Ну а с музыкой и фотографиями с точки зрения производительности конечно проблем нет.

Для хранения медиабиблиотеки можно подключить к компьютеру USB-накопители, но сценарий работы с сетевым накопителем представляется более интересным. Скорости (проводной) сети будет достаточно в том числе и на BD-ремуксы.

Из готовых комплектов для медиацентра наиболее известны четыре: OpenELEC, OSMC, Xbian и Rasplex. Первые три ориентированы на работу с популярной HTPC-оболочкой Kodi и в целом с пользовательской точки зрения выглядят одинаково, а третий является расширенной клиентом для сервера Plex версией OpenELEC. Если тема для вас новая – можно познакомиться с возможностями Kodi, установив его как приложение на ваш настольный компьютер или ноутбук.

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

Процесс запуска решений для медиацентров максимально упрощен – для OpenELEC и OSMC вы скачиваете готовый образ ОС с сайта и записываете его специальной утилитой на карту памяти (большой объем здесь не нужен, я бы рекомендовал 2 или 4 ГБ Class10), Xbian и Rasplex в дополнение к этому, предлагает и собственную программу для инициализации карты памяти и записи на нее образа ОС.


После этого, вы устанавливаете карту в Raspberry Pi, подключаете HDMI, сеть, клавиатуру и мышку (могут потребоваться на начальном этапе конфигурации) и включаете питание. Далее в зависимости от дистрибутива вам может быть предложен мастер для установки некоторых основных параметров (например, имени компьютера, сетевого подключения и т.п.).

Немаловажным вопросом является способ управления плеером. Здесь есть несколько вариантов, если не считать клавиатуры+мышки, что не очень удобно в данном случае. Во-первых, специальные приложения для смартфонов и планшетов. Во-вторых, для некоторых моделей телевизоров можно попробовать HDMI CEC – управление со штатного пульта ТВ по HDMI. В-третьих, можно собраться с духом и добавить к Raspberry Pi одну деталь – приемник ИК-сигналов на трех проводках – и взять любой стандартный пульт ДУ от бытовой техники. Лично для меня последний способ наиболее удобен.

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

Что касается выбора из указанных выше вариантов дистрибутивов, то наиболее удобным показался проект OSMC. В нем «из коробки» есть русский язык, можно изменить дизайн интерфейса, предусмотрена опция включения доступа по ssh, а также удалось легко запустить ИК-пульт от Xbox 360, просто выбрав его профиль в меню.

OpenELEC интересен тем, что работа Kodi в нем реализована поверх специализированной ОС, а не полноценной Linux, что потенциально должно хорошо сказаться на стабильности и скорости.

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

Rasplex интересен именно в связке с сервером Plex. Это позволяет повысить удобство работы с медиабиблиотекой большого объема благодаря индексации и поддержке метаинформации, загружаемой из сети Интернет.

Безусловно, большинство описанных проблем решаемо, но в случае близких итоговых результатов обычно нет смысла тратить на них время и проще сразу взять устраивающую рабочую версию.

Так что в целом, если вам хочется что-то сделать своими руками и/или не устраивают по гибкости или стоимости готовые решения медиаплееров, Raspberry Pi 3 вполне может удовлетворить желание узнать что-то новое, а также выступить в роли практичного и недорогого решения для этого сценария.

Стоит отметить, что часть упомянутых выше проектов работоспособны не только на Raspberry Pi, но и множестве других аналогичных миникомпьютеров.

На так давно я стал счастливым обладателем Raspberry Pi. С тех пор эксперименты не прекращаются. Сейчас балуюсь с камерой. В связи с этим захотелось реализовать трансляцию. Надеюсь, данная статья будет полезной таким же новичкам, как я.

image

Есть несколько способов разной степени сложности организовать трансляцию видео с камеры Raspberry Pi. Всё зависит от того, где именно вам необходимо принимать транслируемое. Рассмотрим некоторые из вариантов, двигаясь от простого к более сложному.

VLC media player

Самый простой способ организовать трансляцию видео с камеры Raspberry Pi — установка проигрывателя VLC media player как на компьютере, так и на «малинке». Последнее делается следующей командой:


После этого запускаем запись видео и его трансляцию. На примере ниже видео размером 800 на 400 пикселей и частотой 24fps будет транслироваться в формате h264 через порт номер 8160:


Запускаем на компьютере VLC, выбираем в меню «Открыть URL» и вписываем 192.168.0.9:8160 (замените 192.168.0.9 на реальный IP-адрес своего Raspberry Pi). Если установить VLC на Android-устройство, то этот способ тоже работает. Впрочем, для смартфонов есть и более удобный способ.

RaspiCam Remote


Это более удобный способ — приложение RaspiCam Remote. Во-первых, оно не требует установки ничего дополнительного на Raspberry Pi (при использовании основных функций). Во-вторых, никаких манипуляций с запуском съёмки, как в предыдущем примере, тоже не требуется. Также приложение позволяет применять фильтры к картинке (если я правильно понял, на стороне Raspberry Pi) и сохранять снимки в галерею телефона. Для некоторых дополнительных функций нужно установить пару сторонних приложений на «малинку». В частности, для видео-трансляции с частотой 30fps потребуетcя VLC, а для использования UBS-камеры — fswebcam. В любом случае, приложение простое и полезное, чем и понравилось. Вдобавок это один из самых простых способов протестировать, работает ли камера.

Трансляция через веб-браузер

Собственно, подошли к самому главному. Какой-никакой браузер есть сейчас почти на любом устройстве, подключенном к интернету. Трансляция в браузер — наиболее востребованный способ. Учитывая, что разные веб-браузеры до сих пор определяются с тем, какие видео-форматы они проигрывают, а какие нет, нам нет смысла вообще связываться с видео в прямом смысле. Дополнительным аргументом является отсутствие микрофона на камере «малинки» и, как следствие, звуковой дорожки как таковой. Поэтому наиболее разумным будет снимать фото, а не видео. Механизм простой: стандартной командой raspistill делаем с интервалом снимки и сохраняем в один файл, постоянно перезаписывая его. Также устанавливаем на Raspberry Pi веб-сервер, на котором запускаем веб-страницу с нашей фотографией. Понятное дело, что фото надо обновлять с таким же интервалом, с каким ведётся съёмка (в идеале). Делать это можно, например, Javascript`ом:


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

ПРОЕКТЫ:

Raspberry Pi
Unix, Linux. Ubuntu, Fedora. - это не так уж и страшно

Найти драйвер в Интернете
Поиск технической документации

Сценарии для Интернета
Поиск патентов в Интернете

Невидимый Интернет
Видимые и невидимые пиринговые сети

Ссылки:

Сайт обо всем: isearch.in.ua



Как передать видеопоток с камеры Raspberry Pi на планшет или смартфон с помощью VLC

VLC Raspberry Pi

Если Вы установите VLC на Pi, то сможете передавать видео c Pi, а затем просматривать этот поток с помощью другого удаленного устройства. Автор считает, что все программы, которые могут просматривать поток .H264, будут работать.

Низкие частота кадров и разрешение видео - основные ключи

Вам нужно установить VLC на обоих устройствах. Чтобы установить VLC на Pi:

VLC-Android

На Nexus, или другом android-устройстве, перейдите на Google Play и установите VLC for Android Beta. Не волнуйтесь о бета предупреждении - версия прекрасно работает.

Наиболее надежным методом потокового видео является, кажется, RTSP и, чтобы запустить, введите в командной строке:

В этом случае видео с камеры передается как поток из порта 8554 Вашего Raspberry Pi.

99999 - продолжительность времени в миллисекундах, т.е. поток будет работать в течение 99,9 секунды. Вы можете изменить это значение на то, которое Вам нравится. Если измените его на 0 (ноль), то поток продолжится на неопределенный срок - надо нажать CTRL+C, чтобы убить его в любой момент.

Для выбора поддерживаемых параметров для данного мобильного устройства можно воспользоваться таблицей:

Кроме того, обратите внимание, что потоковое заканчивается в конце 99999 мс периода времени и Вам придется прервать процесс по CTRL+C, чтобы вернуться под контроль Вашей консоли.

Видео можно увидеть на удаленном устройстве, запустив VLC и открыв Network Stream по адресу rtsp://<IPofRaspberryPi>:8554/

Find-Networt-Tools

Если Вы не знаете IP-адрес Pi, введите в консоли ifconfig и должны быть в состоянии увидеть свой IP-адрес. Как альтернативу, можно использовать замечательный бесплатный инструмент Fing-Network Tools, который сканирует Вашу сеть и показывает IP-адреса всех подключенных устройств.

После того, как Вы это сделали, должны увидеть выходной поток камеры на экране Вашего Nexus (при условии, что Вы не потратили уже более 99,9 секунд на ввод URL - используйте «копировать и вставить», чтобы сделать это быстро и легко).

Файлы, которые потом будут нужны, хранятся в /var/www . Для настройки VLC для генерации HLS-потока можете запустить:

Напоминаем, что надо установить правильный IP-адрес Raspberry Pi.

Опять же, видео может быть воспроизведено с помощью VLC, открыв Network Stream:

Обращаем Ваше внимание, что HLS может забрать всю мощность CPU на Raspberry Pi.

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

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

Веб-камера C920 может напрямую передавать поток H264, поэтому теоретически мне не нужно будет просить RaspberyPi + VLC перекодировать видеопоток.

Поток встроенного микрофона C920 не включен в поток веб-камеры. Камера и микрофон - это 2 отдельных устройства.

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

Как я могу этого добиться?

2 ответа

Это решение протестировано и работает с версиями, указанными ниже. Используя этот метод, RaspberryPi3 всегда занимает около 5% ЦП.

0. Предварительные проверки

1. Конфигурация видео с веб-камеры

2. Идентификация микрофона

3. Потоковая передача с использованием VLC

4. Сделайте Raspberry Pi 3 точкой доступа Wi-Fi (Если у вас нет существующей сети для подключения вашего Pi)

5. Скрипт при запуске или как услуга

6. [EDIT] Дополнительные команды: запись в бесконечном цикле и разделение видео

7. [EDIT] Выполнение программы в определенный момент

8. [EDIT] УСТРАНЕНИЕ НЕПОЛАДОК

Ответ - работа с Raspbian 9.4 Stretch. Проверьте свою версию с помощью следующей команды:

Тебе следует увидеть:

Мы можем полагаться на следующие инструменты:

  • v4l позволяет управлять веб-камерой. Он предлагает команду v4l2-ctl , которая позволяет нам управлять и настраивать веб-камеру.
  • VLC, который является не только видеоплеером, но также имеет мощные потоковые возможности

Вы можете установить их с помощью следующих команд:

Как только все будет установлено, вы можете настроить веб-камеру C920.

v4l2-ctl --all перечисляет все доступные устройства и их конфигурацию

Последние 2 строки дают нам подсказки для управления встроенным светодиодным индикатором, например, чтобы отключить светодиодный индикатор. Параметр -d0 указывает, на каком устройстве должна быть применена модификация (если у вас изменилось несколько камер или имя устройства)

Команда arecord -l предоставит нам список устройств ALSA. (ALSA - это аудио менеджер в RaspberryPi)

Это означает, что встроенный микрофон находится на hardware 1, periph 0 . Вы можете проверить это в командной строке с помощью alsamixer -c 1 -V capture

VLC можно запустить из командной строки. Поскольку у нас нет видео и аудио, уже смешанных вместе в одном потоке доступа, нам нужно попросить VLC сделать это. Это роль функции transcoding VLC.

Работает с любым клиентом VLC:

  • окна
  • unix
  • Mac
  • подтверждено с iPhone 7 (v11.2.1 (15C153)) с приложением VLC (3.0.3 (305))

NB: наличие видео в формате H264 1920x1080 30 кадров в секунду на выходе веб-камеры значительно экономит процессор RaspberryPi3 +.

Вы также можете записывать в различные контейнеры или даже контейнеры + поток, вот несколько примеров:

Вы также можете использовать форматированную строку для имен файлов. Команда префикса такая:

Будет создан файл с именем YYYY-MM-DD_HH:MM:SS_MyVid.mp4 ( : авторизованы в именах файлов unix, но не в именах файлов Windows)

В противном случае, если у вас уже есть сеть, вы можете подключиться к своему пи, используя его IP. См. Часть 3

Вы можете поместить множество команд в файл bash my_bash_file.sh . Например :

Мы создадим сервис "поток веб-камеры", предполагая, что все необходимые команды bash находятся /home/pi/Webcam_Record/vlc_webcam_stream_service.sh

И напишите в нем:

Сделайте служебный файл и скрипт исполняемым:

Разрешить запуск VLC от имени root:

Перезагрузите демонов и включите наш сервис:

Убедитесь, что он распознан и работает:

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

Когда вы закончите, вы можете подключиться к точке доступа RaspberryPi3 + Wi-Fi и получить доступ к своему видеопотоку.

Следующие сценарии bash позволяют записывать без ограничений 15-секундные видео с именами файлов с метками времени и потоковой передачей.

7. [EDIT] Выполнение программы в данный момент.

РЕДАКТИРОВАТЬ 04 августа 2018 г.

Чтобы запустить выполнение сегодня в 14:00, вы можете использовать следующую команду:

Подробнее см. Руководство по командам at .

8. УСТРАНЕНИЕ НЕПОЛАДОК

РЕДАКТИРОВАТЬ 07 июл 2018

Недавно я столкнулся с ошибкой VLC после dist-upgrade:

Решение, которое я нашел, - запустить VLC в режиме графического интерфейса пользователя и изменить звуковое устройство по умолчанию на ALSA (вместо автоматического). Я также могу это сделать в командной строке. См. Найденное здесь решение. Проблемы VLC с PulseAudio

Вам понадобится vcodec= , чтобы видео работало, и deinterlace , если вы этого хотите.

Моя проблема довольно проста, но я не смог найти удовлетворительное решение.

По сути, я хочу, чтобы мой Raspberry Pi был подключен к моей стереосистеме, а затем воспроизводил любой аудиовыход с моего компьютера через Wi-Fi на PI.

Есть ли способ сделать это легко, без использования специальных игроков? Т.е. есть ли у ПК возможность просто распознать Pi как «динамики»?

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

Если вы используете Linux на своем ПК, это вполне выполнимо, если вы устанавливаете и правильно настраиваете PulseAudio как на Raspberry Pi, так и на вашем ПК с Linux.

Если ваш компьютер работает под управлением Windows . Пропустите до конца поста (который я только что обновил).

Другой вариант - использовать PulseAudio в качестве приемника / клиента AirPlay, но, насколько я знаю, это невозможно.

Но, если вы используете Linux, то читайте дальше:

Примечание № 1: PulseAudio через WiFi будет работать без ошибок на некоторых маршрутизаторах, но не будет работать на других.

Примечание № 2: Следующие инструкции взяты из разговора, который несколько пользователей Raspberry Pi (включая меня) провели на эту тему .

1) Установите PulseAudio на свой Raspberry Pi

2) Убедитесь, что PulseAudio запускается автоматически:

Найдите запись PULSEAUDIO_SYSTEM_START и измените ее на 1, чтобы она выглядела как PULSEAUDIO_SYSTEM_START = 1

3) Настройте PulseAudio для работы по сети:

Добавьте следующие строки:

load-module module-native-protocol-tcp auth-ip-acl = 127.0.0.1; 192.168.1.0/24

модуль загрузки zeroconf-publish

4) Перезагрузите Raspberry Pi:

5) Теперь на вашем компьютере с Linux установите paprefs . Если ваш дистрибутив Linux основан на Debian (например, Ubuntu, Mint и т. Д.), Вы можете использовать эту команду:

6) Запуск paprefs и под Network Access позволяет сделать звуковые устройства обнаруживаемого PulseAudio сетей доступны локально

7) В разделе « Сетевой сервер» включите « Включить сетевой доступ к локальным звуковым устройствам» и отметьте обе опции (возможно, в этом нет необходимости, если вы также не хотите использовать свой Linux-сервер в качестве сервера / приемника).

8) Под Multicas / RTP включите обе опции

9) Проверьте доступные устройства вывода (используйте ваше приложение Linux distro Audio / Mixer). Ваш Raspberry Pi появится (должен) в списке; выберите его, и все, что воспроизводится на вашем компьютере с Linux, будет перенаправлено на Raspberry Pi.

Если ваш Raspberry Pi по-прежнему недоступен, попробуйте перезагрузить компьютер с Linux.

ОБНОВЛЕНИЕ: Отправка всего аудио из Windows на Raspberry Pi

Вам все равно нужно будет следовать предыдущим инструкциям для установки и настройки PulseAudio на вашем Raspberry Pi.

Теперь это то, что вам нужно сделать для Windows:

1) Загрузите последнюю версию LineInCode

2) Распакуйте загруженный файл

2) Загрузите PuTTY's Plink и поместите файл plink.exe в ту же папку, где вы извлекли LineInCode

3) Откройте Блокнот и вставьте следующий код:

Конечно, измените IP-адрес ( 192.168.1.104 ), имя пользователя ( pi ) и пароль ( raspberry ) в соответствии с вашими настройками.

Читайте также: