Я новичок в Raspberry Pi и даже новичок в камере Raspberry Pi. Я видел много онлайн-уроков для камеры Raspberry Pi, но пока не нашел, что позволит мне транслировать прямо с камеры Raspberry Pi, как вы можете с веб-камерой (используя SimpleCV или OpenCV). Я надеялся, что кто-то может указать мне правильное направление.
93
ssh raspberrypi raspivid -o - -t 0 -fps 25 -w 640 -h 360 | mpv - --speed 2 --fps 25
(«--speed 2» не дает ему слишком сильно отставать).Ответы:
Решение, предложенное Диего, является хорошим, за исключением того, что оно довольно медленное и имеет огромную задержку видео, поскольку vlc там перенаправляет поток raspvid. С 12/2013 доступен официальный драйвер v4l2: http://www.ics.com/blog/raspberry-pi-camera-module#.VJFhbyvF-b8 Это делает упомянутое повторное потоковое воспроизведение устаревшим. Просто загрузите модуль и используйте его:
Это создает поток http на порту 12345, вы также можете использовать другие форматы, например rtcp из ответа Диего. Подробнее об этом здесь: https://web.archive.org/web/20151012014829/http://www.videolan.org:80/doc/streaming-howto/en/ch03.html
источник
:demux=264
к CVLC , потому что поток RAW h264 , и вам необходимо установить демультиплексор:cvlc v4l2:///dev/video0 --v4l2-width 1920 --v4l2-height 1080 --v4l2-chroma h264 --sout '#standard{access=http,mux=ts,dst=0.0.0.0:12345}' :demux=264
. Это позволяет смотреть поток в VLC для Android, например.autoreconf -vfi
вас теперь следует использовать./bootstrap.sh
Есть несколько вариантов, которые вы можете выбрать между. На моей работе мы используем VLC для потоковой передачи видео, снятого Raspberry Pi Camera, из наших серверных комнат в офис. Одним из недостатков этого является то, что задержка составляет около 5 секунд, и я не нашел решения для этого. Следующее - наша установка:
Установите и обновите raspbian и убедитесь, что ваша камера включена (вы включаете это, запустив sudo raspi-config и выбрав Enable Camera)
Установить VLC
Создайте сценарий для запуска потока со следующим содержимым или выполните команду (если вы просто запустите команду, вы ничего не сможете сделать).
Сделайте скрипт работоспособным
Если вы хотите запустить поток автоматически, вы должны добавить скрипт в crontab. Чтобы сделать это, мне нужно было создать другой скрипт, запускаемый cron (OBS! VLC не может быть запущен как sudo, поэтому убедитесь, что вы находитесь в правильном cron).
sudo nano myscript2.sh
:Затем:
Для просмотра видеопотока откройте VLC на компьютере в той же сети, что и raspberry pi, который вы используете для потоковой передачи. Нажмите Media -> Open Networkstream и вставьте в поле следующее:
Если вы не заботитесь о FPS (кадрах в секунду) и не хотите задержек, вы можете использовать MJPEG. Вы можете прочитать больше об этом ЗДЕСЬ
Посмотрите ЭТУ вики о Raspberry Pi Camera Module. Надеюсь, вы найдете то, что ищете.
источник
Я попробовал несколько вариантов. Тем не менее, я нашел лучший результат при использовании этого проекта: RPi-Cam-Web-Interface от сообщества eLinux
поток имеет почти нулевую задержку.
удачи :)
источник
Самый простой способ, который я нашел, - это получить прямую видео-трансляцию с малинового пи без головы с камерой малинового пи.
Это решение работает прямо из коробки, без установки дополнительного программного обеспечения на PI.
На ИП:
На компьютере можно передавать с VLC:
(при условии, что 192.168.66.154 является IP-адресом PI)
источник
Я опубликовал возможное решение на малиновом форуме, используя облегченный RTSP-сервер на базе live555, который поставляется с драйвером V4L2, поддерживающим захват H264:
Далее вы сможете получить доступ к потоку RTSP, используя:
источник
--network-caching 300
UV4L (также) поддерживает стандартную потоковую передачу видео и аудио в формате HTML5 без настройки. Возможны и другие варианты, такие как MJPEG через http.
Обновить:
UV4L теперь также поддерживает трансляцию аудио & видео вещания на Jitsi Meet номер через Интернет. Никаких специальных настроек не требуется. Это так же просто, как заполнить свое имя, номер комнаты и нажать кнопку « Пуск» .
2-е обновление:
UV4L теперь также поддерживает видео с аппаратным кодированием H264, с частотой кадров в секунду, HD и, возможно, Full HD в будущем.
источник
Оба
mjpeg_streamer
и,motion
кажется, имеют лучшую задержку, чем cvlc.С помощью
mjpg_streamer
mjpeg_streamer
требует компиляции, но инструкции на github просты.После компиляции его можно запустить, запустив его
start.sh
из директории проекта или запустив напрямую (в директории проекта):где
8090
находится порт TCP. Если не указан, то порт8080
будет использоваться по умолчанию.start.sh
Сценарий содержит некоторые примеры использования с дополнительными опциями.С помощью
motion
Motion включает в себя службу systemd, которая упрощает автоматический запуск при загрузке, остановке или перезапуске.
Чтобы использовать его в режиме IP-камеры, необходимо настроить следующие параметры
/etc/motion/motion.conf
:Далее в
/etc/default/motion
комплекте:Чтобы сделать автозапуск службы при загрузке:
Используйте
systemctl start/stop/restart motion
для соответствующего действия.Потоковый порт по умолчанию
8081
. Порт установленstream_port
в/etc/motion/motion.conf
.источник
Я не знаю, ищете ли вы программное обеспечение для наблюдения, но мне удалось установить и запустить
motion
программный детектор движения. Вы должны посмотреть в официальном руководстве .источник
Мне удалось потоковое видео с помощью uv4l WebRTC на Raspberry Pi 2. Это очень просто. Просто следуйте этому уроку. Я надеюсь, что это поможет.
источник
У меня были проблемы с получением видеопотока на Windows 7. Было много Linux-решений, но я не мог воспроизвести их на Windows до сих пор. Я получил довольно быстрое решение в конце концов:
На малиновом пи:
На windows машине:
Таким образом, я полагаю, что ничто не перепаковывается и не переизбирается, не смешивается и тому подобное. Двоичный поток из raspvid подается в mpc и показывается. Моя малина работает по Wi-Fi, поэтому сначала я получаю справедливую задержку, которая за полминуты уменьшается до этой задержки 0,2-0,3 секунды.
К сожалению, я не мог использовать vlc таким же образом, так как
nc -l -p 5001 | vlc -
просто открывает окно vlc без видео.источник
Я использовал Nginx с поддержкой RTMP для потоковой передачи по всему миру, а также avconv для обработки ввода с камеры. Код доступен на Github .
источник
Хотя код Питера Хансена вполне может нормально работать в локальной сети, для полноты картины: TCP - это целостность данных в отличие от реального времени. В потоке в реальном времени некоторая потеря данных может быть приемлемой для своевременного отображения. В этом случае UDP может быть лучше. Я не проверял этот код.
Если это камера безопасности, может быть рассмотрено многоадресное вещание. Современные роутеры могут сделать это даже за 100 долларов.
источник
Я установил решение ONVIF с https://github.com/BreeeZe/rpos на свой pi, следуя инструкциям на README.md .
Разница лишь в том, что я установил
node v8.4.0
. Это позволяет мне видеть выход моей камеры в NVR, подключенном к той же сети. Кроме того, камера может напрямую воспроизводиться через сетевой поток плеера VLC, используя адресrtsp://192.168.1.3:8554/h264
источник
Некоторое время назад у go была похожая проблема:
https://www.npmjs.com/package/ws-avc-player
Это более скромное решение, чем у других предлагаемых решений, но я думаю, что оно будет работать хорошо, если приоритетом будет низкая задержка в сети.
Работает на большинстве браузеров (даже мобильных на 480p) без каких-либо плагинов, необходимых для браузера.
источник
raspivid
камеры. Сffmpeg
другой стороны, я просто получаю десятую часть кадров в секунду. Я использовал чистый Raspbian и Pi Zero. У вас есть намеки для меня?node example/index.js raspivid
Он должен работать «из коробки», если у вас есть проблемы, попробуйте запустить толькоnode example/index.js
и отдельно/opt/vc/bin/raspivid -pf baseline -ih -t 0 -w 640 -h 480 -hf -fps 15 -g 30 -o - | nc localhost 5000
и посмотреть, если вы получаете какие-либо ошибки от raspivid