All Projects → kclyu → Rpi Webrtc Streamer

kclyu / Rpi Webrtc Streamer

Licence: other
This repo's objective is providing something like Web Cam server on the most popular Raspberry PI hardware. By integrating [WebRTC](https://webrtc.org/native-code/) and Raspberry PI, we can stream the Raspberry camera feed to browser or native client which talks WebRTC.

Projects that are alternatives of or similar to Rpi Webrtc Streamer

Raztot
A simple DIY, browser controlled, RPi + WebRTC video streaming rover
Stars: ✭ 67 (-84.35%)
Mutual labels:  raspberry-pi, raspberry-pi-camera, webrtc
Balena Cam
Network Camera with Raspberry Pi and WebRTC. Tutorial:
Stars: ✭ 120 (-71.96%)
Mutual labels:  raspberry-pi, raspberry-pi-camera, webrtc
Picamera
A pure Python interface to the Raspberry Pi camera module
Stars: ✭ 1,339 (+212.85%)
Mutual labels:  raspberry-pi, raspberry-pi-camera
Raspilive
📷 Stream video from the Raspberry Pi Camera Module to the web
Stars: ✭ 120 (-71.96%)
Mutual labels:  raspberry-pi, raspberry-pi-camera
Picameraapp
A graphical interface for programming the Raspberry Pi PiCamera. Written in Python using Tkinter.
Stars: ✭ 188 (-56.07%)
Mutual labels:  raspberry-pi, raspberry-pi-camera
React Native Twilio Video Webrtc
Twilio Video (WebRTC) for React Native
Stars: ✭ 403 (-5.84%)
Mutual labels:  video-streaming, webrtc
Auto car
基于深度学习的自动避障智能小车
Stars: ✭ 74 (-82.71%)
Mutual labels:  raspberry-pi, raspberry-pi-camera
Mmalsharp
C# wrapper to Broadcom's MMAL with an API to the Raspberry Pi camera.
Stars: ✭ 152 (-64.49%)
Mutual labels:  raspberry-pi, raspberry-pi-camera
laav
Asynchronous Audio / Video Library for H264 / MJPEG / OPUS / AAC / MP2 encoding, transcoding, recording and streaming from live sources
Stars: ✭ 50 (-88.32%)
Mutual labels:  h264, video-streaming
yangwebrtc
Webrtc SDK for C++
Stars: ✭ 257 (-39.95%)
Mutual labels:  h264, webrtc
foxrtc
media sdk based on webrtc
Stars: ✭ 36 (-91.59%)
Mutual labels:  webrtc, video-streaming
Pibooth
The pibooth project provides a Photo Booth application out-of-the-box for Raspberry Pi and opencv compatible devices
Stars: ✭ 398 (-7.01%)
Mutual labels:  raspberry-pi, raspberry-pi-camera
Raspberry Pi Diy Projects
Collection of Do-It-Yourself Projects on Raspberry Pi 2 / 3 & Zero W with diverse HATs and pHATs.
Stars: ✭ 70 (-83.64%)
Mutual labels:  raspberry-pi, raspberry-pi-camera
Homekitcam
A project to make a Raspberry Pi driven, HomeKit Enabled camera.
Stars: ✭ 69 (-83.88%)
Mutual labels:  raspberry-pi, raspberry-pi-camera
Starrtc Android Demo
🚀starRTC,即时通讯(IM)系统,免费IM系统(含单聊,群聊,聊天室,文件传输),免费一对一视频聊天,VOIP,语音对讲(回音消除),直播连麦,视频直播,RTSP拉流,RTMP推流,webRTC服务端,在线教育,白板,小班课,在线会议,视频会议,视频监控,局域网直连(无需服务器),兼容webRTC, 支持webRTC加速,P2P高清传输,安卓、iOS、web互通,支持门禁对讲,可视对讲,电视盒子,树莓派,海思,全志,任天堂switch,云游戏,OTT设备,物联网平台,C语言自研方案,支持二次开发成类微信,类映客等APP,✨万水千山总是情,来个star行不行✨,更多示例请访问:
Stars: ✭ 3,038 (+609.81%)
Mutual labels:  raspberry-pi, webrtc
Vidgear
A High-performance cross-platform Video Processing Python framework powerpacked with unique trailblazing features 🔥
Stars: ✭ 2,048 (+378.5%)
Mutual labels:  raspberry-pi, video-streaming
Picroscopy
A Python web-application to turn a Raspberry Pi and PiCam into a microscopy solution
Stars: ✭ 54 (-87.38%)
Mutual labels:  raspberry-pi, raspberry-pi-camera
Rpizero smart camera3
Smart security camera with Raspberry Pi Zero and OpenFaaS
Stars: ✭ 58 (-86.45%)
Mutual labels:  raspberry-pi, video-streaming
Raspicam node
ROS node for camera module of Raspberry Pi
Stars: ✭ 218 (-49.07%)
Mutual labels:  raspberry-pi, raspberry-pi-camera
snowem
Snowem is a lightweight live streaming server, based on webrtc technology. Its design mainly focuses on simplicity, scalability and high performance.
Stars: ✭ 73 (-82.94%)
Mutual labels:  webrtc, video-streaming

WebRTC streamer for Raspberry PI

General

Notice: This is a work in progress,

This repo's objective is providing something like Web Cam server on the most popular Raspberry PI hardware. By integrating WebRTC and Raspberry PI, we can stream the Raspberry camera feed to browser or native client which talks WebRTC.

Generally, the components of WebRTC service are classified into Signaling Server and WebRTC client. However, RWS(Rpi-WebRTC-Streamer) is built to operate on one piece of Raspberry PI hardware and includes some of Signaling Server functionality. In other words, the Browser or Client supporting WebRTC directly connects to RWS and receives WebRTC streaming service.

Streaming camera feed

To get the camera feed from Raspberry PI, i.e. H.264 video stream, RWS use MMAL(Multi-Media Abstraction Layer) library can be found on ARM side libraries for interfacing to Raspberry Pi GPU. it provides lower level API to multi-media components running on Broadcom VideoCore. For convenience, this streamer directly integrated raspivid with encoding parameter changing in H.264 stream and passing video frame through WebRTC native code package.

Motion Detection

Motion Detection feature provided by Rpi-WebRTC-Streamer uses Inline Motion Vector which is generated during video encoding. And use this to get the approximate Motion Detection function while using minimal CPU resources.

Please refer to README_motion document.

Messenger Notification

The motion detection event message can be transmitted to the user through the telegram messenger. It can send motion detection message and detected video clip to Telegram Messenger client so that it can be used as a private security bot. For more information, Please refer to README_TelegramBot document.

Rpi WebRTC Streamer

Demo Video

Hardware Requirement

Raspberry PI

  • Raspberry PI 2/3
  • Raspberry Pi Zero/Zero W (ZeroW tested)

Video Camera

  • RPI Camera board V1/V2
  • Arducam 5 Megapixels 1080p Sensor OV5647 Mini Camera Video Module

Audio hardware

Please refer to the README_audio.md

Running RWS on Raspberry PI

Please refer to README_rws_setup.md document.

Download Docker image for Testing

In Raspberry PI, you can run the image directly after the pull from the docker hub as shown below.

docker pull kclyu/rpi-webrtc-streamer
docker container run --device=/dev/vcsm --device=/dev/vchiq --net=host --mount type=bind,source=/var/run/dbus,target=/var/run/dbus --rm -d kclyu/rpi-webrtc-streamer # note1

Note1: docker image is currently for armv7l (Raspberry PI2 and above).

Download Deb package for Testing

To download RWS deb package, please refer to the following URL. RWS is currently in development and testing, so please use it with consideration.

Please refer to Rpi-Webrtc-Streamer-deb Repo.

Cross Compile on Ubuntu Linux

Please refer to README_building.md document.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].