Организуем потоковую трансляцию с камеры, подключенную к малинке. сравним задержки времени и качество передачи картинки
будем пользоваться встроенной утилитой raspivid
VLC media player
Самый простой способ организовать трансляцию видео с камеры Raspberry Pi — использование VLC media player на компьютере и на «малинке». Медиапроигрыватель по умолчанию уже установлен, если нет, то делается это командой:
sudo apt-get install vlc -y
После этого запускаем запись видео и его трансляцию. На примере ниже видео размером 800 на 400 пикселей и частотой 24fps будет транслироваться в формате h264 через порт номер 8160:
raspivid -o - -t 0 -hf -w 800 -h 400 -fps 24 |cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8060}' :demux=h264
Запускаем на компьютере VLC, выбираем в меню «Открыть URL» и вписываем http://192.168.1.139:8060 (замените 192.168.1.139 на ваш IP-адрес своего Raspberry Pi). Если установить VLC на Android-устройство, то этот способ тоже работает.
Как видим задержка около 5 секунд.
Отправка по tcp h264
Протокол TCP отправляет пакеты, с подтверждением приёма. H264 протокол сжатия видеопотока.
На Raspberry запускаем команду:
raspivid -l -t 0 -w 640 -h 480 -o tcp://0.0.0.0:8060
Заходим в проигрыватель VLC и запускаем воспроизведение по URL:
tcp/h264://192.168.1.139:8060
Задержка доходит до 1 минуты
Это пара простейших способов для контроля происходящего с камерой. Полученные мной задержки вещания связаны с большой нагрузкой на роутер, но тем не менее порядок значений просматривается.
Послесловие
в последствии будет рассказано, как передавать видео с очень маленькими задержками, и отображать его в собственной программе