All Projects → Ullaakut → WebRTCCTV

Ullaakut / WebRTCCTV

Licence: other
WebRTCCTV is a signaling server & webapp able to stream from RTSP cameras using WebRTC

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to WebRTCCTV

Rtspallthethings
Deprecated RTSP media server -- Use github.com/aler9/rtsp-simple-server instead.
Stars: ✭ 258 (+706.25%)
Mutual labels:  stream, camera, rtsp, cctv
Camerattack
An attack tool designed to remotely disable CCTV camera streams (like in spy movies)
Stars: ✭ 192 (+500%)
Mutual labels:  camera, rtsp, cctv
blog
Algorithm,WebRTC,Node,Microservices,Golang,ELK,Kubernetes,Istio,JAVA,PHP,MongoDB,Ningx,OpenResty,GraphQL...
Stars: ✭ 19 (-40.62%)
Mutual labels:  webrtc, kurento
Vxg.media.sdk.android
Market leading Android SDK with encoding, streaming & playback functionality
Stars: ✭ 119 (+271.88%)
Mutual labels:  stream, rtsp
rtsp-video-recorder
Provides an API to record RTSP video stream to filesystem.
Stars: ✭ 21 (-34.37%)
Mutual labels:  stream, rtsp
Shinobi
☮️ 🇵🇸 Shinobi CE - The Free Open Source CCTV platform written in Node.JS (Camera Recorder - Security Surveillance Software - Restreamer
Stars: ✭ 1,099 (+3334.38%)
Mutual labels:  stream, cctv
App Media
Elements for accessing data from media input devices and visualizing that data for users
Stars: ✭ 60 (+87.5%)
Mutual labels:  stream, camera
wyzecam-hls
Converts MP4 files from WyzeCam NFS to HLS stream. Much more stable alternative to RTSP firmware.
Stars: ✭ 58 (+81.25%)
Mutual labels:  rtsp, cctv
Foggycam
📹 A tool to locally capture your own Nest camera stream.
Stars: ✭ 391 (+1121.88%)
Mutual labels:  stream, camera
camera.ui
NVR like user Interface for RTSP capable cameras
Stars: ✭ 99 (+209.38%)
Mutual labels:  stream, camera
watsor
Object detection for video surveillance
Stars: ✭ 203 (+534.38%)
Mutual labels:  stream, camera
eufy security
Home Assistant integration to manage Eufy Security devices as cameras, home base stations, doorbells, motion and contact sensors.
Stars: ✭ 242 (+656.25%)
Mutual labels:  camera, rtsp
Homebridge Camera Ffmpeg
Homebridge Plugin Providing FFmpeg-based Camera Support
Stars: ✭ 726 (+2168.75%)
Mutual labels:  stream, camera
Endoscope
Endoscope lets you to stream live video between android devices over Wi-Fi! 📱📲
Stars: ✭ 587 (+1734.38%)
Mutual labels:  stream, rtsp
Rtmp Rtsp Stream Client Java
Library to stream in rtmp and rtsp for Android. All code in Java
Stars: ✭ 1,338 (+4081.25%)
Mutual labels:  stream, rtsp
Libjitsi
Advanced Java media library for secure real-time audio/video communication.
Stars: ✭ 536 (+1575%)
Mutual labels:  stream, webrtc
Video Stream Merger
Merge multiple video MediaStreams into one composite.
Stars: ✭ 214 (+568.75%)
Mutual labels:  stream, webrtc
WebRTC
Home Assistant custom component for viewing IP cameras RTSP stream in real time using WebRTC and MSE technology
Stars: ✭ 538 (+1581.25%)
Mutual labels:  rtsp, webrtc
Magnet Player
🎥 A place for streaming torrents directly from your browser
Stars: ✭ 346 (+981.25%)
Mutual labels:  stream, webrtc
Obs Studio Webrtc
This is a fork of OBS-studio with generic support for webrtc. It leverages the same webrtc implementation most browsers use.
Stars: ✭ 343 (+971.88%)
Mutual labels:  stream, webrtc

WebRTCCTV

Introduction

WebRTCCTV is a signaling server able to stream RTSP streams from cameras using WebRTC. It uses Kurento as a signaling server.

Explanations

This repository contains a signaling server as well as a simple webapp example that use WebRTC to read RTSP streams. To use it in a production environment, you will also need a TURN server and you will need to run the services manually instead of with the provided docker-compose.yml file. See the deployment script for an idea of how it can be deployed on a production environment.

By using the docker-compose.yml file like explained below, you will have a local test environment with four containers running:

  • kurento: The WebRTC media server
  • signaling: The WebRTC signaling server (communication between client and media server)
  • webapp: The example webapp to start, pause and stop streams
  • fake_camera: An RTSP stream using RTSPATT

The way all of this works is that the signaling server establishes a WebRTC connection between your web browser and the Kurento Media server, as well as creates the media pipeline that will be used for streaming video, and then your browser communicates directly via WebRTC with Kurento to get the stream. The signaling server is no longer needed once the connection is established.

The reason why a TURN server is needed in case you want to deploy this system on a cloud is that your users will need to communicate with a media server that is behind a NAT or a firewall. The TURN server will help initiating connections by acting as a relay. Since the Kurento media server should NOT be accessible from the outside (it would be a security issue), you need a TURN server to be accessible publicly and to relay data between the user and the media server.

How to build

Just run docker-compose build in the root of this repository.

How to run

Just run docker-compose up in the root of this repository.

How to test

If you ran the previous command, you should now be able to access the webapp at localhost:4242. Just click the start button to launch the streaming.

How to make it use your own camera

For that, you'll have to change the RTSP_URL environment variable that is set in the docker-compose.yml file to put your RTSP URL instead. I might add features to the webapp later, but keep in mind that this web application is just a demonstration of the capabilities of the signaling server with Kurento.

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].