All Projects → aler9 → rtsp-simple-proxy

aler9 / rtsp-simple-proxy

Licence: MIT license
DEPRECATED - please use https://github.com/aler9/rtsp-simple-server

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to rtsp-simple-proxy

Gb28181.solution
Linux/Win/Docker/kubernetes/Chart/Kustomize/GB28181/SIP/RTP/SDP/WebRTC/作为上下级域/平台级联互联
Stars: ✭ 323 (+687.8%)
Mutual labels:  streaming, rtsp, rtp
Rtsp Simple Server
ready-to-use RTSP / RTMP server and proxy that allows to read, publish and proxy video and audio streams
Stars: ✭ 882 (+2051.22%)
Mutual labels:  streaming, rtsp, rtp
srtplight
set of classes implementing a simple (S)RTP stack
Stars: ✭ 34 (-17.07%)
Mutual labels:  rtp, rtcp
Rtp
A Go implementation of RTP
Stars: ✭ 120 (+192.68%)
Mutual labels:  streaming, rtp
Videostreamer
Stream video (e.g. RTSP) to an HTML5 video element (MP4)
Stars: ✭ 208 (+407.32%)
Mutual labels:  streaming, rtsp
Onvifcamera
Pod and example on how to connect to an ONVIF camera
Stars: ✭ 66 (+60.98%)
Mutual labels:  streaming, rtsp
Rtptools
RTP Tools
Stars: ✭ 74 (+80.49%)
Mutual labels:  streaming, rtp
Rtsp.player.android
RTSP player for Android / IP camera viewer
Stars: ✭ 199 (+385.37%)
Mutual labels:  streaming, rtsp
Ffmpeg
Mirror of https://git.ffmpeg.org/ffmpeg.git
Stars: ✭ 27,382 (+66685.37%)
Mutual labels:  streaming, rtsp
RTSPhuzz
RTSPhuzz - An RTSP Fuzzer written using the Boofuzz framework
Stars: ✭ 33 (-19.51%)
Mutual labels:  rtsp, rtsp-server
EasyRTMP RTSP
基于Android手机、设备拉取远程RTSP流到本地,再转成RTMP,推送到RTMP服务器。。此Demo涉及到需要商业授权SDK。
Stars: ✭ 32 (-21.95%)
Mutual labels:  rtsp, rtsp-server
ZLMediaKit
WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT server and client framework based on C++11
Stars: ✭ 7,790 (+18900%)
Mutual labels:  rtsp, rtp
Live Stream Face Detection
Live Streaming and Face Detection with Flask in Browser
Stars: ✭ 47 (+14.63%)
Mutual labels:  streaming, rtsp
Webrtc
Pure Go implementation of the WebRTC API
Stars: ✭ 8,399 (+20385.37%)
Mutual labels:  streaming, rtp
Rtmp Rtsp Stream Client Java
Library to stream in rtmp and rtsp for Android. All code in Java
Stars: ✭ 1,338 (+3163.41%)
Mutual labels:  streaming, rtsp
Mediadevices
Go implementation of the MediaDevices API.
Stars: ✭ 197 (+380.49%)
Mutual labels:  streaming, rtp
Rtspallthethings
Deprecated RTSP media server -- Use github.com/aler9/rtsp-simple-server instead.
Stars: ✭ 258 (+529.27%)
Mutual labels:  streaming, rtsp
v4l2web
V4L2 web interface
Stars: ✭ 20 (-51.22%)
Mutual labels:  rtsp, rtsp-server
krtp
node.js implementation of rtp, rtcp protocols. RFC 3550
Stars: ✭ 30 (-26.83%)
Mutual labels:  rtp, rtcp
janus-gateway-live
RTMP edge speed with janus-gateway
Stars: ✭ 38 (-7.32%)
Mutual labels:  rtp, rtcp

DEPRECATED - Merged into rtsp-simple-server

This project has been merged into rtsp-simple-server; please look at this page for instructions on how to setup a RTSP proxy:

https://github.com/aler9/rtsp-simple-server#usage-as-rtsp-proxy


rtsp-simple-proxy

Go Report Card Build Status

rtsp-simple-proxy is a simple, ready-to-use and zero-dependency RTSP proxy, a software that receives one or more existing RTSP streams and makes them available to other users. A proxy is usually deployed in one of these scenarios:

  • when there are multiple users that are receiving a stream and the bandwidth is limited, so the proxy is used to receive the stream once. Users can then connect to the proxy instead of the original source.
  • when there's a NAT / firewall between a stream and the users, in this case the proxy is installed in the NAT and makes the stream available to the outside world.

Features:

  • Receive multiple streams in TCP or UDP
  • Distribute streams in TCP or UDP
  • Supports the RTP/RTCP streaming protocol
  • Supports authentication (i.e. username and password)
  • Compatible with Linux, Windows and Mac, does not require any dependency or interpreter, it's a single executable

Installation

Precompiled binaries are available in the release page. Just download and extract the executable.

Usage

Basic usage

  1. Create a configuration file named conf.yml, placed in the same folder of the executable, with the following content:

    streams:
      # name of the stream
      mypath:
        # url of the source stream, in the format rtsp://user:pass@host:port/path
        url: rtsp://myhost:8554/mystream
  2. Launch the proxy:

    ./rtsp-simple-proxy
    
  3. Open any stream you have defined in the configuration file, by using the stream name as path, for instance with VLC:

    vlc rtsp://localhost:8554/mypath
    

Full configuration file

# timeout of read operations
readTimeout: 5s
# timeout of write operations
writeTimeout: 5s

server:
  # supported protocols
  protocols: [ tcp, udp ]
  # port of the RTSP TCP listener
  rtspPort: 8554
  # port of the RTP UDP listener
  rtpPort: 8050
  # port of the RTCP UDP listener
  rtcpPort: 8051
  # optional username required to read
  readUser:
  # optional password required to read
  readPass:

streams:
  # name of the stream
  test1:
    # url of the source stream, in the format rtsp://user:pass@host:port/path
    url: rtsp://myhost:8554/mystream
    # whether to use tcp or udp
    protocol: udp

Full command-line usage

usage: rtsp-simple-proxy [<flags>] <confpath>

rtsp-simple-proxy v0.0.0

RTSP proxy.

Flags:
  --help     Show context-sensitive help (also try --help-long and --help-man).
  --version  print version

Args:
  [<confpath>]  path of a config file. The default is conf.yml. Use 'stdin' to
                read config from stdin

Links

Related projects

IETF Standards

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