Как передать видеопоток с камеры Raspberry Pi на планшет или смартфон с помощью VLC
Оценка пользователей: / 3
ПлохоОтлично 
VLC Raspberry PiЕсли Вы установите VLC на Pi, то сможете передавать видео c Pi, а затем просматривать этот поток с помощью другого удаленного устройства. Автор считает, что все программы, которые могут просматривать поток .H264, будут работать.
Низкие частота кадров и разрешение видео - основные ключи
Многие планшетников просто не могут справиться с потоком кадров 1080 пикселей (p) 30 кадров в секунду (fps), которые может обеспечить Pi. Автор пытался принимать 720p 30fps и 25fps, но не получилось. 720p (1280х720) почти работает, но картинка рассыпалась.
Nexus прекрасно справляется с 640х360@25fps. Также хорошо работает он и при 800х450@25fps, если не слишком далеко от маршрутизатора. 900х506, кажется, масимум, с которым он может справиться. Как ни странно, автор думает, что это ограничение Nexus, а не Pi. Pi может обеспечить беспроводную передачу видео на ноутбук при более высоком разрешении (720p@25fps) без распада картинки.
ОК, так как это реально сделать?
Вам нужно установить VLC на обоих устройствах. Чтобы установить VLC на Pi:
sudo apt-get update
sudo apt-get install vlc
y
Более подробно о VLC можно почитать на сайте VideoLan.
VLC-AndroidНа Nexus, или другом android-устройстве, перейдите на Google Play и установите VLC for Android Beta. Не волнуйтесь о бета предупреждении - версия прекрасно работает.
Запуск потокового видео
Использование RTSP
Наиболее надежным методом потокового видео является, кажется, RTSP и, чтобы запустить, введите в командной строке:
raspivid -o - -t 9999999 -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264
В этом случае видео с камеры передается как поток из порта 8554 Вашего Raspberry Pi.
99999 - продолжительность времени в миллисекундах, т.е. поток будет работать в течение 99,9 секунды. Вы можете изменить это значение на то, которое Вам нравится. Если измените его на 0 (ноль), то поток продолжится на неопределенный срок - надо нажать CTRL+C, чтобы убить его в любой момент.
Знайте, что Вы получите много отладочных сообщений на экране консоли (несколько экранов). Это то, что происходит, когда все работает. Игнорируйте их.
Для выбора поддерживаемых параметров для данного мобильного устройства можно воспользоваться таблицей:
VLC-Video
Кроме того, обратите внимание, что потоковое заканчивается в конце 99999 мс периода времени и Вам придется прервать процесс по CTRL+C, чтобы вернуться под контроль Вашей консоли.
Видео можно увидеть на удаленном устройстве, запустив VLC и открыв Network Stream по адресу rtsp://<IPofRaspberryPi>:8554/
Если Вы не знаете IP-адрес Pi, введите в консоли ifconfig и должны быть в состоянии увидеть свой IP-адрес. Как альтернативу, можно использовать замечательный бесплатный инструмент Fing-Network Tools, который сканирует Вашу сеть и показывает IP-адреса всех подключенных устройств.Find-Networt-Tools
После того, как Вы это сделали, должны увидеть выходной поток камеры на экране Вашего Nexus (при условии, что Вы не потратили уже более 99,9 секунд на ввод URL - используйте «копировать и вставить», чтобы сделать это быстро и легко).
После того, как все заработает, можете начать експериментировать, чтобы изменить ширину, высоту и частоту кадров через параметры (-w 640 -h 360 -fps 25), чтобы увидеть, насколько Ваш Nexus и сеть могут справиться. Здесь будет зависеть, насколько далеко Вы от маршрутизатора.
Поток через HTTP
RTSP хорошо работает в локальной сети, но может быть трудно выставить разрешение маршрутизатору для потокового вещания через Интернет. Для этого VLC можно настроить на поток через HTTP, что, кажется, использует немного больше ресурсов процессора на Raspberry Pi и могут быть пропущены кадры, однако используется только один порт и этот порт может быть легко перенаправлен через большинство стандартных маршрутизаторов.
Команда для данной конфигурации:
raspivid -o - -t 9999999 -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8554}' :demux=h264
Опять, видео можно посмотреть с помощью VLC и открытие Network Stream с адресом  http://<IPofRaspberryPi>:8554/
Использование HLS
Последним способом потокового видео является использование HLS (HTTP Live Streaming). Это, пожалуй, позволит видео, которое легко передается на устройства iOS. Для запуска этого способа надо установить на Raspberry Pi веб-сервер. Популярным выбором будет Apache, который можно установить с помощью:
sudo apt-get install apache
Файлы, которые потом будут нужны, хранятся в /var/www. Для настройки VLC для генерации HLS-потока можете запустить:
raspivid -o -  -w 920 -h 540 -t 9999999 |  vlc -v -I "dummy" stream:///dev/stdin  :sout="#std{access=livehttp{seglen=10,delsegs=true,numsegs=5, index=/var/www/streaming/stream.m3u8, index-url=http://<IPofRaspberryPi>/streaming/stream-########.ts}, mux=ts{use-key-frames}, dst=/var/www/streaming/stream-########.ts}" :demux=h264
Напоминаем, что надо установить правильный IP-адрес Raspberry Pi.
Опять же, видео может быть воспроизведено с помощью VLC, открыв Network Stream:
http://<IPofRaspberryPi>/streaming/stream.m3u8
Обращаем Ваше внимание, что HLS может забрать всю мощность CPU на Raspberry Pi.
Если направляете камеру через окно...
... то можете отключить красный светодиод, чтобы избавиться от его отображения в стекле. Просто добавьте строку:
disable_camera_led=1
в свой файл config.txt:
sudo nano /boot/config.txt
CTRL+o
ENTER
CTRL+X
Затем:
sudo reboot
и когда Pi снова загрузится, индикатор камеры будет отключен. Вы можете включить его обратно или путем комментирования добавленной строки или изменением параметра в нем на 0.
(По материалам EN: raspi.tv)
 
>
КнигаНовости Практика поискаПартнерыО нас
Підтримка та дизайн: Могильний С.С. Шаблон: Joomla Templates by BuyHTTP Joomla Hosting