Commit Graph

421 Commits

Author SHA1 Message Date
aler9
4bcaa950b8 add coturn link 2023-02-04 16:10:53 +01:00
aler9
336c4046ac update readme 2023-02-04 14:39:55 +01:00
aler9
d5baa241f3 fix TOC 2023-02-04 14:38:03 +01:00
aler9
79a0effd50 add WebRTC embedding instructions 2023-02-04 14:37:23 +01:00
aler9
c9cdae4738 add OBS -> WebRTC instructions 2023-02-03 18:04:07 +01:00
aler9
2d2608c783 update readme 2023-02-03 17:44:57 +01:00
Alessandro Ros
b02d3b83c7
Send additional fields to the external authentication URL (#1408)
* send 'protocol' to the external authentication URL

* send session ID to the external authentication URL
2023-01-22 19:48:33 +01:00
aler9
d407e0117d update readme 2023-01-19 16:21:06 +01:00
fX4N1DmH311X39SpxXLWxMWy49n6o8zb
174751d0c1
Update README.md (#1377) 2023-01-15 10:23:14 +01:00
aler9
f837ba6a83 hls source: support proxying H265 and Opus tracks 2023-01-06 15:39:20 +01:00
aler9
034e42f463 hls muxer: support reading Opus tracks (#1338) 2023-01-03 18:36:13 +01:00
aler9
cabfd1f171 update readme 2022-12-30 17:48:32 +01:00
aler9
bb2fcdfdd9 update readme 2022-12-30 17:46:59 +01:00
aler9
939ee1757c update README 2022-12-29 20:48:14 +01:00
Alessandro Ros
5de600ffaa
support reading H265 tracks with HLS (#1342)
* support reading H265 tracks with HLS

* update README
2022-12-29 20:46:31 +01:00
Alessandro Ros
ad52b3fab7
Support publishing with RTMP and H265 (for OBS Studio) (#1333)
* support publishing with RTMP and H265 (for OBS Studio)

* rtmp source: block H265 tracks
2022-12-27 13:55:30 +01:00
aler9
3016245267 update readme 2022-12-27 12:00:00 +00:00
aler9
0c1fa7f6d4 update readme 2022-12-21 14:43:49 +01:00
aler9
ec86401037 webrtc: make HTTPS optional (#1312) 2022-12-19 23:26:07 +01:00
aler9
f9bf62ef0a update readme 2022-12-16 01:03:04 +01:00
aler9
4bad36345a update readme 2022-12-16 00:54:26 +01:00
Alessandro Ros
5efe97abf1
Support reading with WebRTC (#1242) 2022-12-16 00:50:47 +01:00
aler9
feae9222c6 add latest-rpi docker image 2022-12-12 14:37:22 +01:00
aler9
3b5efb25a3 add docker images with libcamera included (#1110) 2022-12-12 13:52:09 +01:00
aler9
062fb600e8 return an error when rpiCamera in used in two paths (#1257) 2022-12-12 11:49:11 +01:00
aler9
5319f9ed47 update readme
add instructions on how to compile with Raspberry Pi camera support
2022-12-09 00:46:33 +01:00
aler9
3f5c550baf rpicamera: support libcamera 0.0.2 2022-12-08 23:50:18 +01:00
Alessandro Ros
8bee4af86a
api, metrics: add number of bytes received and sent from/to all entities (#1235)
* API: number of bytes received/sent from/to RTSP connections
* API: number of bytes received/sent from/to RTSP sessions
* API: number of bytes received/sent from/to RTMP connections
* API: number of bytes sent to HLS connections
* API: number of bytes received from paths
* metrics of all the above
2022-11-11 11:59:52 +01:00
Alessandro Ros
4ac175d3cc
api, metrics: add endpoints and metrics for RTSP connections (#1233)
new API endpoints:

* /v1/rtspconns/list
* /v1/rtspsconns/list

new metrics:

* rtsp_conns
* rtsps_conns
2022-11-09 18:31:31 +01:00
Alessandro Ros
4c96a6873e
rpicamera: allow to use the Raspberry Pi Camera with Docker (#1212) 2022-11-03 21:44:53 +01:00
aler9
e379bc5213 fix readme 2022-10-29 12:52:15 +02:00
Alessandro Ros
8825fddd89
Add additional Raspberry Pi Camera parameters (#1198)
* rpicamera: add rpiCameraHFlip and rpiCameraVFlip parameters

* rpicamera: add rpiCameraBrightness, rpiCameraContrast,
rpiCameraSaturation, rpiCameraSharpness, rpiCameraExposure,
rpiCameraAWB, rpiCameraDenoise, rpiCameraShutter, rpiCameraMetering,
rpiCameraGain, rpiCameraEV, rpiCameraROI, rpiCameraTuningFile

* support float values in config file
2022-10-24 15:08:30 +02:00
aler9
7f7a6e2200 switch to go 1.18 in linter and go.mod 2022-09-17 20:18:07 +02:00
aler9
3790af946f update readme 2022-08-27 18:36:16 +02:00
Alessandro Ros
820ba067f2 support RTMPS (#1089) 2022-08-16 18:44:31 +02:00
Alessandro Ros
8c2b12a314 Add native support for the raspberry pi camera (#1057) 2022-08-16 18:44:31 +02:00
aler9
2b5661c74e update readme 2022-08-05 18:16:07 +02:00
aler9
384078c352 update readme 2022-08-05 18:13:43 +02:00
aler9
ac0a5e9fc7 update readme 2022-08-03 09:58:26 +02:00
Farshid Tavakolizadeh
505939b835
Add example for overriding array parameter with env var (#1039) 2022-07-14 16:11:37 +02:00
James Atkins
6bf42d857a
Fix typo (#1003) 2022-06-25 20:02:34 +02:00
aler9
40aa24a6d8 update readme 2022-06-23 23:04:01 +02:00
aler9
cca377d1cc update readme 2022-06-21 10:11:41 +02:00
aler9
9f51e281e3 merge standards 2022-06-01 12:43:24 +02:00
aler9
c0a11bd783 update IETF standards 2022-06-01 12:40:12 +02:00
aler9
ac513655f5 update links 2022-06-01 12:34:24 +02:00
aler9
22d9bdabf8 update readme 2022-05-31 19:25:00 +02:00
Alessandro Ros
e115983296
Implement Low-Latency HLS (#938)
* add hlsVariant parameter

* hls: split muxer into variants

* hls: implement fmp4 segments

* hls muxer: implement low latency mode

* hls muxer: support audio with fmp4 mode

* hls muxer: rewrite file router

* hls muxer: implement preload hint

* hls muxer: add various error codes

* hls muxer: use explicit flags

* hls muxer: fix error in aac pts

* hls muxer: fix sudden freezes with video+audio

* hls muxer: skip empty parts

* hls muxer: fix video FPS

* hls muxer: add parameter hlsPartDuration

* hls muxer: refactor fmp4 muxer

* hls muxer: fix CAN-SKIP-UNTIL

* hls muxer: refactor code

* hls muxer: show only parts of last 2 segments

* hls muxer: implementa playlist delta updates

* hls muxer: change playlist content type

* hls muxer: improve video dts precision

* hls muxer: fix video sample flags

* hls muxer: improve iphone audio support

* hls muxer: improve mp4 timestamp precision

* hls muxer: add offset between pts and dts

* hls muxer: close muxer in case of error

* hls muxer: stop logging requests with the info level

* hls muxer: rename entry into sample

* hls muxer: compensate video dts error over time

* hls muxer: change default segment count

* hls muxer: add starting gap

* hls muxer: set default part duration to 200ms

* hls muxer: fix audio-only streams on ios

* hls muxer: add playsinline attribute to video tag of default web page

* hls muxer: keep mpegts as the default hls variant

* hls muxer: implement encryption

* hls muxer: rewrite dts estimation

* hls muxer: improve DTS precision

* hls muxer: use right SPS/PPS for each sample

* hls muxer: adjust part duration dynamically

* add comments

* update readme

* hls muxer: fix memory leak

* hls muxer: decrease ram consumption
2022-05-31 19:17:26 +02:00
aler9
3fbd842ca8 update readme 2022-05-16 14:32:52 +02:00
aler9
3128ff91de update readme 2022-05-04 09:50:05 +02:00
aler9
3e4bae5cab add vlc/ubuntu notice 2022-05-04 09:43:19 +02:00
aler9
9c20eedaad update opencv instructions 2022-04-21 18:25:11 +02:00
aler9
1e07636f86 change default RTSPS port (#867) 2022-04-16 16:24:40 +02:00
aler9
98c6cd4650 RTSP: automatically remux oversized RTP/H264 packets; drop parameter ReadBufferSize 2022-04-09 20:20:14 +02:00
aler9
569ea39c1f README: add multicast warning 2022-04-09 11:41:00 +02:00
aler9
90d17d6a1b remove -re flag from ffmpeg recommended command line 2022-04-08 16:15:19 +02:00
Łukasz Kępka
3cad819194 Fixed example with GStreamer usage in README
Added 'location' parameter to rtspsrc element in example in 'TCP transport' section
2022-03-15 12:54:58 +01:00
aler9
e1a128041e fix GStreamer capitalization 2022-03-15 11:44:28 +01:00
aler9
4b0b78096a update recommended systemd service (#843) 2022-03-08 19:17:33 +01:00
aler9
4b0d33e309 update recommended ffmpeg command line 2022-02-19 11:59:39 +01:00
aler9
1c6e20b274 add windows service howto (#817) 2022-02-16 18:50:04 +01:00
aler9
49449eb5ad Add new parameter 'runOnReady' (#752)
This is called when a stream is ready, whether it is published or proxied.
It replaces 'runOnPublsh'.
2022-01-19 22:50:32 +01:00
aler9
d7bb27657c update readme 2021-12-22 19:15:33 +01:00
aler9
11760fd79f support external authentication (#504) (#517) 2021-12-22 19:13:56 +01:00
aler9
1617d07ba3 do not wait for external commands to exit during runtime
wait for them during shutdown.
2021-12-21 12:43:45 +01:00
aler9
a67e8b13b1 remove tune=zerolatency from gstreamer recommended settings 2021-12-15 11:14:34 +01:00
aler9
398c5af969 change recommended gstreamer pipeline 2021-12-14 22:31:36 +01:00
aler9
bf8e835cab update readme 2021-12-08 18:18:38 +01:00
aler9
c036990d3c update readme 2021-12-06 16:27:20 +01:00
aler9
42939b9c18 update readme 2021-12-05 11:05:50 +01:00
aler9
5bdfac141d add opencv tutorial 2021-11-26 15:44:54 +01:00
aler9
ec7f9a0d84 create 'publish to the server' section in readme 2021-11-26 14:58:51 +01:00
aler9
68a5b3ed2d add new HLS faq 2021-11-26 14:51:54 +01:00
aler9
8bbae9e50d fix readme 2021-11-24 23:38:18 +01:00
aler9
ade5d2d35b update readme 2021-11-16 21:30:56 +01:00
aler9
b4155a4fdf rtsp: support reading with VLC and multicast 2021-11-15 17:58:14 +01:00
aler9
17c393bcbb switch to go 1.17 2021-11-12 22:40:23 +01:00
aler9
afabd331d9 metrics: add hls_muxers metric 2021-11-05 17:29:13 +01:00
aler9
798d30d592 update readme 2021-11-02 14:01:13 +01:00
aler9
5464f259a1 update readme 2021-11-01 11:04:53 +01:00
aler9
5f5781f386 update readme 2021-10-31 14:30:33 +01:00
Konstantin Salnikov
a83f57bc3e implement per-path metrics 2021-10-28 19:38:54 +02:00
aler9
7d2434e6e6 split readme into sections 2021-10-22 19:45:06 +02:00
aler9
509bed355a update gortsplib 2021-10-22 18:41:10 +02:00
aler9
cf36693ce6 update readme 2021-10-06 15:22:32 +02:00
aler9
722f380d83 update readme 2021-09-30 13:18:53 +02:00
aler9
44c3d7c5d5 update readme 2021-09-07 12:57:53 +02:00
aler9
8cac462522 add API documentation badge 2021-09-06 17:50:01 +02:00
aler9
83b3ec0c71 update readme 2021-09-05 18:11:24 +02:00
aler9
df4c268813 support proxying HLS 2021-09-05 18:00:29 +02:00
aler9
279459a472 update readme 2021-08-18 15:04:58 +02:00
Philippe Normand
df46dab2de README: Simplify GStreamer stream playback command
Nowadays `gst-play-1.0` hides away the complexity of the pipeline. We only need to pass a valid URI to it.
2021-08-18 14:33:22 +02:00
Matt Lamb
6e660c87b4 Update README.md - minor typo
resolves #514
2021-08-18 12:35:16 +02:00
aler9
96cb56621a hls: add primary playlist 2021-08-16 18:07:10 +02:00
aler9
3828b71206 fix docs 2021-08-14 13:52:57 +02:00
aler9
67e0db13ab update readme / config readme 2021-08-14 11:40:35 +02:00
aler9
ceed37838e update readme 2021-08-12 11:50:39 +02:00
aler9
f1a812ba5d rewrite metrics system to provide more data (#492) 2021-08-12 11:49:21 +02:00
aler9
1987572b67 update readme 2021-08-07 19:31:09 +02:00
aler9
dd33ef740e api: change default listen address to 127.0.0.1:9997 2021-08-07 19:20:39 +02:00
aler9
ed375583d0 Implement an HTTP API to query and control the server 2021-08-07 19:20:39 +02:00
aler9
f36951a5c1 switch to go 1.16 2021-06-19 21:29:51 +02:00
aler9
7299eb8d3c update readme 2021-06-19 16:16:50 +02:00
aler9
75e1e3e4dc RTSP server: support reading with multicast (#214) (#324) 2021-06-19 16:16:35 +02:00
aler9
d8112e75ea update readme 2021-05-17 11:19:26 +02:00
aler9
7490346a33 update readme 2021-05-09 18:20:33 +02:00
aler9
9bab230e0d tidy up logs 2021-05-09 17:22:24 +02:00
aler9
4d260412c4 remove number of clients from logs 2021-05-08 22:52:10 +02:00
aler9
a1a56ff203 allow to set a different listen IP for each listener (#343) 2021-04-24 18:52:13 +02:00
aler9
5eb6db107f update readme to speed up HLS 2021-04-17 20:11:20 +02:00
aler9
3d1b5296d7 RTSP source: add mandatory parameter sourceFingerprint to validate server certificates and prevent man-in-the-middle attacks (#350) 2021-04-16 22:46:22 +02:00
Florian Levis
a5a02ffe82 doc: update prometheus metrics endpoint 2021-04-07 14:10:34 +02:00
aler9
e8f25d8d00 fix raspberry camera pipeline 2021-04-03 22:24:56 +02:00
aler9
5fa2402a61 update readme 2021-03-26 19:04:41 +01:00
aler9
e5f9e80259 update readme 2021-03-19 23:10:02 +01:00
aler9
524e1a2bdc set exact Go version in readme 2021-03-13 18:00:09 +01:00
aler9
4668d0d919 update readme 2021-03-10 23:13:53 +01:00
aler9
d796948379 update readme 2021-03-10 20:53:50 +01:00
aler9
f19e23eaa5 enable rtmp by default; add parameters to disable rtsp and rtmp 2021-03-10 20:43:27 +01:00
aler9
186a91800a Support reading with RTMP (#218) 2021-03-10 18:04:27 +01:00
aler9
25bf7759ef add logo 2021-02-15 12:39:21 +01:00
aler9
fa381c73ac add codecov 2021-02-13 20:45:23 +01:00
aler9
b4f7f6f4fa update action badges to point to the right page 2021-02-13 19:23:58 +01:00
aler9
22ab4d489e support relative fallback paths (#201) 2021-02-09 22:33:50 +01:00
aler9
f9125fe986 update readme 2021-02-03 21:38:27 +01:00
aler9
f8967d05bc update readme 2021-02-01 09:34:58 +01:00
aler9
750d4f7072 update readme 2021-01-31 22:01:23 +01:00
aler9
3bcead121d add a RTMP server that allows to publish legacy streams (#132) 2021-01-31 21:42:27 +01:00
aler9
f9a7ad7eca add serverrtmp 2021-01-31 16:58:57 +01:00
aler9
cc703fe5c5 support clients that don't specify track ID, like tvheadend (#155) 2021-01-20 22:25:47 +01:00
aler9
6b1643940e support encrypting the configuration file 2021-01-16 15:43:56 +01:00
aler9
903842484e apply listenIP to metrics and pprof too 2021-01-15 18:58:45 +01:00
aler9
e40235966e add instructions on how to edit the configuration file with docker 2021-01-15 11:50:33 +01:00
aler9
818307ff54 forbid usage of publishUser, publishPass, publishIps when source is not 'record' 2020-12-31 21:50:18 +01:00
aler9
3050893d32 support hashed credentials 2020-12-31 19:47:25 +01:00
aler9
95559faeb9 update readme 2020-12-17 14:37:39 +01:00
aler9
5e32a526e5 support proxying rtsps streams 2020-12-14 23:32:24 +01:00
aler9
ccb8b92bfb implement RTSPS (#77) 2020-12-13 23:51:44 +01:00
aler9
cd958588ac rewrite readme 2020-12-12 23:56:05 +01:00
aler9
cce08c12b6 fix crash when using publishIp or readIp (#142) 2020-12-06 21:16:04 +01:00
aler9
60d1407a01 add multiple sources example (#141) 2020-12-06 19:45:16 +01:00
aler9
27b046c217 update gstreamer pipelines to publish and read audio too 2020-12-06 19:41:14 +01:00
aler9
19440f2486 switch to golangci-lint 2020-12-05 20:42:59 +01:00
aler9
b40b2f2463 switch to github actions 2020-12-04 23:22:39 +01:00
aler9
c2a1f55abc update readme 2020-12-03 16:17:18 +01:00
aler9
26c5c3eb7a update readme 2020-11-25 10:04:32 +01:00
aler9
7e8f4d4631 add hls example 2020-11-19 21:57:15 +01:00
aler9
a3856222c7 fix pkg.go.dev readme 2020-11-15 10:29:04 +01:00
Alessandro Ros
4a87f4752a
update readme 2020-11-11 11:47:42 +01:00
aler9
2c9e07376c fix execution of external commands with quotes on Windows (#113) 2020-11-08 23:12:43 +01:00
Alessandro Ros
46d289ffa3
update readme 2020-11-05 13:38:46 +01:00
aler9
58fe1cfe77 add docs 2020-11-05 12:37:16 +01:00
aler9
0519abc106 update readme 2020-11-05 11:39:35 +01:00
Alessandro Ros
8415cfc30e update readme 2020-11-03 15:41:12 +01:00
aler9
0f9eb4370e update readme 2020-11-01 23:19:58 +01:00
aler9
14990f8a9e add configuration file to docker images 2020-11-01 20:36:50 +01:00
aler9
bbc2401ac2 new environment variable RTSP_PORT 2020-11-01 17:33:06 +01:00
aler9
93f6687ad9 rename RTSP_SERVER_PATH environment variable into RTSP_PATH 2020-11-01 16:58:25 +01:00
aler9
20e478b8bd new parameters: sourceOnDemandStartTimeout, sourceOnDemandCloseAfter, runOnDemandStartTimeout, runOnDemandCloseAfter (#62) 2020-11-01 16:51:21 +01:00
aler9
38b07ab68a add 'restart' option to all external commands 2020-10-31 16:36:14 +01:00
aler9
f5ec679187 switch to go 1.15 2020-10-28 23:03:44 +01:00
aler9
29fadc808b update readme 2020-10-28 22:58:04 +01:00
aler9
53ba724f96 implement redirect sources (#92) 2020-10-28 00:29:53 +01:00
aler9
980cd96cf0 switch to travis-ci.com 2020-10-25 12:24:51 +01:00
aler9
42a3193d4d update readme 2020-10-25 11:48:32 +01:00
aler9
3d98bede4a implement configuration dynamic update / hot reloading (#64) 2020-10-24 19:56:27 +02:00
aler9
d9df32ec85 update docs 2020-10-19 13:11:51 +02:00
Alessandro Ros
96dcd9df29 update readme 2020-10-16 10:57:30 +02:00
Alessandro Ros
f13e198f23 update readme 2020-10-14 11:43:40 +02:00
aler9
e724c3ba1e remove stdin 2020-10-14 01:19:14 +02:00
aler9
618f8915d5 fix readme 2020-10-14 00:54:16 +02:00
aler9
dbe7c01925 update readme 2020-10-14 00:08:25 +02:00
aler9
5ca5005040 allow overriding configuration with environment variables (#98) (#101) 2020-10-13 23:36:27 +02:00
Alessandro Ros
eee0d8835d
update readme 2020-10-07 21:06:27 +02:00
aler9
7dba166c61 update links 2020-10-06 18:55:58 +02:00
aler9
a9a5bc1cd7 upgrade go version 2020-10-06 09:23:20 +02:00
aler9
7d802066bf update readme 2020-10-05 22:06:32 +02:00
aler9
a374ba748d support RTMP sources (#88) 2020-10-03 21:10:41 +02:00
aler9
0dc27545de update readme 2020-09-28 20:02:14 +02:00
aler9
bd4fc1ae8c update gortsplib 2020-09-27 15:52:48 +02:00
aler9
a3a52101c0 add rtsp_proxies metrics (#61) 2020-09-19 23:52:06 +02:00
aler9
8180214098 add metrics documentation (#61) 2020-09-19 23:40:15 +02:00
aler9
2085944586 rename metrics (#61) 2020-09-19 23:37:54 +02:00
aler9
b7bc28464b update readme 2020-09-19 17:54:55 +02:00
aler9
33f703a1a3 temp 2020-09-19 17:13:45 +02:00
Alessandro Ros
249607ee33
fix readme 2020-09-15 11:09:43 +02:00
Alessandro Ros
6c1c478017 update readme 2020-09-09 15:16:48 +02:00
aler9
86d329e90f update readme 2020-09-05 10:03:28 +02:00
Alessandro Ros
d4d8fd691b
update readme 2020-08-17 19:12:07 +02:00
aler9
f302536a28 update readme 2020-08-05 12:40:56 +02:00
Alessandro Ros
26a6f5b501
update readme 2020-08-04 18:37:44 +02:00
aler9
8ffa1d53e9 add runOnInit 2020-07-31 18:12:42 +02:00
aler9
8305967c07 update docs 2020-07-31 17:49:48 +02:00
aler9
194a4eb03c update readme 2020-07-30 17:34:03 +02:00
aler9
90aa47d2a3 add metrics exporter (#37) 2020-07-30 17:31:38 +02:00
aler9
bd012fbf1a update readme 2020-07-30 15:36:41 +02:00
aler9
d9d5f24b3a update readme 2020-07-30 14:07:20 +02:00
aler9
cad4160384 add systemd example in README; update README 2020-07-30 13:54:17 +02:00
aler9
d7d2ba38f1 add option sourceOnDemand to pull sources only when there are connected clients (#36) 2020-07-29 23:30:42 +02:00
aler9
3a3a8594a8 move source configuration parsing into conf.go 2020-07-20 11:46:17 +02:00