{"id":13582524,"url":"https://github.com/aler9/rtsp-simple-proxy","last_synced_at":"2025-04-06T14:31:00.483Z","repository":{"id":107546095,"uuid":"235148156","full_name":"aler9/rtsp-simple-proxy","owner":"aler9","description":"DEPRECATED - please use https://github.com/aler9/rtsp-simple-server","archived":true,"fork":false,"pushed_at":"2020-07-02T08:18:50.000Z","size":111,"stargazers_count":54,"open_issues_count":0,"forks_count":19,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-05T22:41:38.883Z","etag":null,"topics":["audio","golang","rtcp","rtp","rtsp","rtsp-proxy","rtsp-server","streaming","video"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aler9.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-20T16:39:29.000Z","updated_at":"2024-07-06T08:54:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"907414cc-68c6-481d-ba34-e49915a93c05","html_url":"https://github.com/aler9/rtsp-simple-proxy","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aler9%2Frtsp-simple-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aler9%2Frtsp-simple-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aler9%2Frtsp-simple-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aler9%2Frtsp-simple-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aler9","download_url":"https://codeload.github.com/aler9/rtsp-simple-proxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247495772,"owners_count":20948106,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","golang","rtcp","rtp","rtsp","rtsp-proxy","rtsp-server","streaming","video"],"created_at":"2024-08-01T15:02:47.831Z","updated_at":"2025-04-06T14:31:00.145Z","avatar_url":"https://github.com/aler9.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"\n# DEPRECATED - Merged into rtsp-simple-server\n\nThis project has been merged into rtsp-simple-server; please look at this page for instructions on how to setup a RTSP proxy:\n\nhttps://github.com/aler9/rtsp-simple-server#usage-as-rtsp-proxy\n\n\u003cbr /\u003e\n\n# rtsp-simple-proxy\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/aler9/rtsp-simple-proxy)](https://goreportcard.com/report/github.com/aler9/rtsp-simple-proxy)\n[![Build Status](https://travis-ci.org/aler9/rtsp-simple-proxy.svg?branch=master)](https://travis-ci.org/aler9/rtsp-simple-proxy)\n\n_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:\n* 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.\n* 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.\n\nFeatures:\n* Receive multiple streams in TCP or UDP\n* Distribute streams in TCP or UDP\n* Supports the RTP/RTCP streaming protocol\n* Supports authentication (i.e. username and password)\n* Compatible with Linux, Windows and Mac, does not require any dependency or interpreter, it's a single executable\n\n## Installation\n\nPrecompiled binaries are available in the [release](https://github.com/aler9/rtsp-simple-proxy/releases) page. Just download and extract the executable.\n\n## Usage\n\n#### Basic usage\n\n1. Create a configuration file named `conf.yml`, placed in the same folder of the executable, with the following content:\n   ```yaml\n   streams:\n     # name of the stream\n     mypath:\n       # url of the source stream, in the format rtsp://user:pass@host:port/path\n       url: rtsp://myhost:8554/mystream\n   ```\n\n2. Launch the proxy:\n   ```\n   ./rtsp-simple-proxy\n   ```\n\n3. Open any stream you have defined in the configuration file, by using the stream name as path, for instance with VLC:\n   ```\n   vlc rtsp://localhost:8554/mypath\n   ```\n\n#### Full configuration file\n\n```yaml\n# timeout of read operations\nreadTimeout: 5s\n# timeout of write operations\nwriteTimeout: 5s\n\nserver:\n  # supported protocols\n  protocols: [ tcp, udp ]\n  # port of the RTSP TCP listener\n  rtspPort: 8554\n  # port of the RTP UDP listener\n  rtpPort: 8050\n  # port of the RTCP UDP listener\n  rtcpPort: 8051\n  # optional username required to read\n  readUser:\n  # optional password required to read\n  readPass:\n\nstreams:\n  # name of the stream\n  test1:\n    # url of the source stream, in the format rtsp://user:pass@host:port/path\n    url: rtsp://myhost:8554/mystream\n    # whether to use tcp or udp\n    protocol: udp\n```\n\n#### Full command-line usage\n\n```\nusage: rtsp-simple-proxy [\u003cflags\u003e] \u003cconfpath\u003e\n\nrtsp-simple-proxy v0.0.0\n\nRTSP proxy.\n\nFlags:\n  --help     Show context-sensitive help (also try --help-long and --help-man).\n  --version  print version\n\nArgs:\n  [\u003cconfpath\u003e]  path of a config file. The default is conf.yml. Use 'stdin' to\n                read config from stdin\n```\n\n## Links\n\nRelated projects\n* https://github.com/aler9/rtsp-simple-server\n* https://github.com/aler9/gortsplib\n\nIETF Standards\n* RTSP 1.0 https://tools.ietf.org/html/rfc2326\n* RTSP 2.0 https://tools.ietf.org/html/rfc7826\n* HTTP 1.1 https://tools.ietf.org/html/rfc2616\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faler9%2Frtsp-simple-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faler9%2Frtsp-simple-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faler9%2Frtsp-simple-proxy/lists"}