aler9
b48e2f1f1b
add TODO comments
2022-01-20 10:46:05 +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
8337a90b29
fix freeze when server is shut down and runOnPublish is not empty
2022-01-19 22:19:38 +01:00
aler9
98dbf5d932
remove logLevel: debug from tests
2022-01-19 22:18:01 +01:00
aler9
8ac665be87
un-capitalize private fields
2022-01-14 23:42:41 +01:00
aler9
bb5129d219
hls: fix intermittent audio on iOS
2021-12-23 19:18:36 +01:00
aler9
18a6e04854
hls: fix Android compatibility by adding missing field into ADTS packets ( #749 )
2021-12-23 19:13:25 +01:00
aler9
92163a2b0e
hls: pring exact reason why a muxer is closed
2021-12-23 13:09:58 +01:00
aler9
ed635db87e
print debug log message in case of non-critical authentication errors
2021-12-22 20:13:00 +01:00
aler9
62d5a6d5c9
fix github actions
2021-12-22 20:12:14 +01:00
aler9
11760fd79f
support external authentication ( #504 ) ( #517 )
2021-12-22 19:13:56 +01:00
aler9
811540b34b
tidy up rtmp
2021-12-22 17:37:15 +01:00
aler9
1dff3239d2
remove rtmp.Conn.NetConn()
2021-12-22 17:33:37 +01:00
aler9
779d5b61cd
update docs
2021-12-22 00:27:58 +01:00
aler9
7352244fd9
print closing message before an object is closed
2021-12-22 00:15:15 +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
d9e8f3ff9f
change log message in case configuration file is missing
2021-12-21 12:29:50 +01:00
aler9
e3ecd4a11c
hls: upgrade hls.js and enable progressive mode
2021-12-15 12:42:00 +01:00
aler9
eda8eddf5a
hls: cleanup
2021-12-14 22:30:15 +01:00
aler9
84735426eb
print a message when a custom command exits suddently
2021-12-08 21:23:45 +01:00
aler9
a5723c4808
fix crash
2021-12-08 21:14:03 +01:00
aler9
ebc201bda2
make regexp groups available to custom commands ( #642 )
2021-12-08 20:50:09 +01:00
aler9
c65f4509bd
update gortsplib
2021-12-05 14:36:57 +01:00
aler9
a1fed6fb38
rtsp source: set ServerName when using TLS ( #708 )
2021-12-03 23:33:28 +01:00
Tristan Matthews
4fcfd95619
rtsp_session: log error if config parsing fails
2021-12-01 10:06:47 +01:00
aler9
7668c88d3e
hls: improve performance
2021-11-30 22:02:02 +01:00
aler9
82d8dfbc6d
hls: correctly compute segment duration
...
Segment duration is now (current PTS - first PTS in segment)
Previously it was (last PTS in segment - first PTS in segment)
2021-11-30 21:30:32 +01:00
aler9
05b1a7e720
update gortsplib
2021-11-28 13:04:00 +01:00
aler9
3496282ba7
fix crash that happens when using an invalid log file ( #706 )
2021-11-26 14:46:16 +01:00
aler9
c7b2ae83df
rtsp source: support cameras that don't provide SPS and PPS inside the SDP ( #411 ) ( #707 )
2021-11-22 22:55:12 +01:00
aler9
29ee78ce38
expand rtsp source tests
2021-11-22 22:29:41 +01:00
aler9
76eb2c2c2b
fix lint errors
2021-11-22 15:09:03 +01:00
aler9
f7ea9a6b2d
rtsp server: check validity of announced tracks
2021-11-22 15:06:18 +01:00
aler9
e4a5732978
hls: cleanup
2021-11-19 23:39:23 +01:00
aler9
02291f552a
align listener opened / closed messages
2021-11-15 20:13:54 +01:00
aler9
5ea4fdb764
run gofumpt
2021-11-15 20:09:07 +01:00
aler9
cbd341b864
change log level of path open / close message to Debug
2021-11-15 18:04:05 +01:00
aler9
b4155a4fdf
rtsp: support reading with VLC and multicast
2021-11-15 17:58:14 +01:00
aler9
99db6f245e
remove panic()
2021-11-13 10:26:14 +01:00
aler9
f7419586af
update gortsplib
2021-11-12 22:29:56 +01:00
aler9
21e0052bc4
close all connections gracefully when shutting down the server ( #682 )
2021-11-10 19:04:07 +01:00
aler9
d5c55a8ddc
move test into gortsplib
2021-11-06 13:38:51 +01:00
aler9
9645d18ae4
move httpLogWriter in a dedicated file
2021-11-06 12:53:49 +01:00
aler9
21a149c0de
rename struct
2021-11-06 12:52:12 +01:00
aler9
08fa61e56d
do not add an 'all' path automatically if not present in the configuration file
2021-11-06 12:51:38 +01:00
aler9
322ea55534
split API definitions between their corresponding structs
2021-11-05 17:53:24 +01:00
aler9
afabd331d9
metrics: add hls_muxers metric
2021-11-05 17:29:13 +01:00
aler9
0c79efdab7
api: cleanup
2021-11-05 17:18:21 +01:00
aler9
79e73c5cb4
api: add /v1/hlsmuxers/list endpoint
2021-11-05 17:15:46 +01:00
aler9
fb311e31ec
add missing check on strict encryption + UDP multicast
2021-11-05 17:11:40 +01:00
aler9
6564c3511b
hls: change Muxer letter
2021-11-05 16:55:00 +01:00
aler9
e4ba689bfd
rtsp: print opened listeners in a single line
2021-11-03 22:44:17 +01:00
aler9
f801a9fa39
log the exact reason why a path is closed
2021-11-03 22:41:23 +01:00
aler9
9ab95cc603
use opened / closed instead of created / destroyed in logs
2021-11-03 22:31:02 +01:00
aler9
a867c469fd
fix automatic deletion of regexp paths ( #664 ) ( #680 )
2021-11-03 22:28:50 +01:00
aler9
2e7c56a24f
remove useless test
2021-11-03 21:46:06 +01:00
aler9
9245a79cf1
remove ffmpeg from tests
2021-11-03 21:42:29 +01:00
aler9
2d12c37074
use require.EqualError() in tests
2021-11-03 17:52:47 +01:00
aler9
aa01eaf12b
cleanup
2021-11-03 16:37:08 +01:00
aler9
47a975de09
hls: fix race condition
2021-11-01 11:07:37 +01:00
aler9
eab2663420
move VLC authentication hack into gortsplib
2021-10-30 15:05:27 +02:00
aler9
09a7e11066
add more fatal errors
2021-10-30 13:56:59 +02:00
aler9
0c4cfd0e53
update gortsplib
2021-10-30 13:55:05 +02:00
aler9
c9c9c88ac8
update golangci-lint
2021-10-30 13:06:29 +02:00
Konstantin Salnikov
a83f57bc3e
implement per-path metrics
2021-10-28 19:38:54 +02:00
aler9
161fa58bd6
hls: cleanup
2021-10-28 18:57:04 +02:00
aler9
af63360079
remove count of readers and publishers from log lines
2021-10-28 17:33:43 +02:00
aler9
9af006b488
allow to set logLevel: error in config
2021-10-28 17:29:27 +02:00
aler9
ab70f946b0
unexport members of private structs
2021-10-27 21:01:00 +02:00
aler9
07db2ce0ef
print log levels with 3 characters
2021-10-27 20:00:05 +02:00
aler9
75d4f1437d
add "error" log level
2021-10-27 19:54:36 +02:00
aler9
8875c8eaa6
rtsp: print exact reason when a session is destroyed ( #649 )
2021-10-27 19:49:43 +02:00
aler9
226e26e05f
metrics: use gin router
2021-10-27 12:14:23 +02:00
aler9
2af39db5be
hls: add https tests
2021-10-26 14:54:28 +02:00
aler9
9155bffefb
allow disabling HTTPS validation by using sourceFingerprint ( #665 )
2021-10-25 21:14:13 +02:00
aler9
d30822cb1b
make sourceFingerprint optional and allow standard certificate validation
2021-10-25 21:01:29 +02:00
aler9
be54bed373
remove useless checks
2021-10-22 18:43:46 +02:00
aler9
509bed355a
update gortsplib
2021-10-22 18:41:10 +02:00
aler9
f32d69a93d
fix race condition
2021-10-17 17:16:57 +02:00
aler9
e6238694af
api: log requests even with logLevel: info
2021-10-17 17:05:22 +02:00
aler9
c51ba926e0
hls: dump requests and responses when logLevel is debug
2021-10-17 17:02:15 +02:00
aler9
b65d715f0b
hls: add Server header
2021-10-17 16:51:35 +02:00
aler9
ef3fab477e
hls: use gin as HTTP router
2021-10-17 16:49:49 +02:00
aler9
37f63434ac
sort arrays in configuration and API ( #644 )
2021-10-17 15:40:17 +02:00
aler9
94e519f08f
conf: use dedicated interface to unmarshal from environment
2021-10-11 12:13:57 +02:00
aler9
b21efeb28f
restore logLevel: debug
2021-10-05 20:36:15 +02:00
aler9
0d4d81c333
remove useless code
2021-10-05 09:41:37 +02:00
aler9
b70a4bfe5b
fix regression that prevented setting config slices with env variables ( #612 )
2021-10-04 08:58:23 +02:00
aler9
0d15e2772a
close custom commands with SIGINT again ( #495 )
2021-10-03 16:09:40 +02:00
aler9
131148ecb4
fix lint
2021-10-03 16:08:10 +02:00
aler9
2a1b3e194d
avoid deadlock when a runOnDemand command is used and a path is deleted
2021-10-03 16:05:37 +02:00
aler9
0a9e414625
avoid closing readers twice
2021-10-03 16:01:40 +02:00
aler9
d2c668ceea
avoid deadlock when a runOnPublish command is reading and the publisher times out ( #595 ) ( #495 )
2021-10-03 15:58:24 +02:00
aler9
160966e81b
print log messages when runOnConnect and runOnRead are started or stopped
2021-10-03 15:46:06 +02:00
aler9
3149203f36
print log messages about custom commands closing after they are closed
2021-10-03 15:22:42 +02:00
aler9
507d810bff
make log messages about custom commands more clear
2021-10-03 15:20:26 +02:00
aler9
091056dd8e
add log messages when runOnPublish is started or stopped
2021-10-03 15:19:06 +02:00
aler9
c46ae16dc7
run runOnRead command also with RTMP readers
2021-09-30 13:12:20 +02:00
aler9
e62ed283d1
rtmp: do not raise an error in case of metadata packets ( #577 )
2021-09-30 11:57:03 +02:00
aler9
e78544f23e
update gortsplib
2021-09-28 15:47:56 +02:00
aler9
ab71f22560
move decoding of more configuration into JSON decoding
2021-09-27 16:40:49 +02:00
aler9
f114e90c55
speed up tests
2021-09-27 16:40:49 +02:00
aler9
1f540a2aaf
return error in case of non-existent parameters in the configuration file
2021-09-27 16:40:49 +02:00
aler9
b748e6d0ff
update error messages
2021-09-27 16:40:49 +02:00
aler9
6921a402d1
decode the configuration when decoding JSON
2021-09-27 16:40:49 +02:00
aler9
54292d712e
convert the configuration into JSON before loading it
2021-09-27 16:40:49 +02:00
aler9
ca9645c2f9
api: decode durations from strings instead of numbers
...
This allows to use human-readable durations with the API,
for instance: "5s" instead of 5000000000
2021-09-26 23:21:37 +02:00
aler9
64808863ed
move confenv into conf
2021-09-26 22:25:39 +02:00
aler9
68ab5c05f6
move aac utilities into gortsplib
2021-09-23 20:24:10 +02:00
aler9
3b0327233e
move hls utils into gortsplib
2021-09-23 20:14:20 +02:00
aler9
06cffc44df
hls: move constants into right file
2021-09-23 11:14:57 +02:00
aler9
e2f33a7495
api: support working with path configs that contains slashes ( #581 )
2021-09-23 09:07:36 +02:00
aler9
9398cea0c2
update golangci-lint
2021-09-09 23:05:54 +02:00
aler9
ef4b925209
hls: fix discontinuity of TS counters between segments
2021-09-07 12:02:44 +02:00
aler9
98bf53a1e8
hls: simplify audio pts generation
2021-09-07 10:24:57 +02:00
aler9
74f3be1eed
hls: use audioAUCount only if audio is primary track
2021-09-07 10:23:32 +02:00
aler9
02afa8ff99
rtmp, hls: remove initial difference of 2secs between PTS and DTS of H264
2021-09-07 10:04:58 +02:00
aler9
2710189945
hls: fix error that caused primary playlist not to be served to more than 1 client
2021-09-06 20:02:23 +02:00
aler9
e189f4570c
hls, rtmp: set DTS = PTS when a IDR frame is received
2021-09-06 19:04:39 +02:00
aler9
ddcd0c34cf
api: fix concurrency issue when creating multiple path configs at once ( #542 )
2021-09-06 18:39:15 +02:00
aler9
df4c268813
support proxying HLS
2021-09-05 18:00:29 +02:00
aler9
5eb4741278
hls: speed up serving of files
2021-09-05 15:47:28 +02:00
aler9
7ba507f205
rtmp: print clearer error message in case no H264/AAC tracks are found
2021-08-31 10:42:08 +02:00
Lionel Nicolas
450acfaf4e
externalcmd: fix crash when manually pushing to an ondemand path
2021-08-27 08:37:24 +02:00
aler9
b65207012c
update gortsplib
2021-08-25 19:51:59 +02:00
aler9
6d69e4969e
hls: set html video height to 100%
2021-08-23 13:12:14 +02:00
aler9
92523c2a13
hls: insert segments into playlist only after they're complete
...
In this way, EXT-X-TARGETDURATION and EXTINF are always filled correctly.
If no segments have been generated yet, the playlist is not returned
until a segment is inserted or the muxer is closed. This causes timeout
issues on iOS Safari, that are solved by waiting for a fetch() before starting
the video.
2021-08-23 13:12:09 +02:00
aler9
6b6d314a07
hls: revert 93b1433
and send PCR once in a while
2021-08-21 21:13:23 +02:00
aler9
b3c13fcf9a
hls: do not send DTS if PTS = DTS
2021-08-20 13:07:35 +02:00
aler9
6e5564c0a2
api: return rtspsSessions in case of RTSPS sessions
2021-08-20 10:32:43 +02:00
aler9
da44bbd18a
api: normalize entity names
2021-08-20 10:13:41 +02:00
aler9
801ef44f54
rtsp, rtmp: fix ignored errors
2021-08-19 17:28:42 +02:00
aler9
4fdd42fa58
hls: rename remuxer into muxer
2021-08-18 15:49:12 +02:00
aler9
ca499a27c3
remove stats from rtmp and rtsp source
2021-08-18 15:43:56 +02:00
aler9
60823aa2b6
print 'ready' only when a source is really ready
2021-08-18 15:42:41 +02:00
aler9
a2ff0d455f
do not allow closed static sources to set a path as ready
2021-08-18 15:41:03 +02:00
aler9
96cb56621a
hls: add primary playlist
2021-08-16 18:07:10 +02:00
aler9
ba41af91b2
hls: remove useless check
2021-08-15 09:23:19 +02:00
aler9
bd5e6d1027
hls: send PCR with every IDR NALU
2021-08-15 09:06:55 +02:00
aler9
93b143395e
hls: send PCR once, at the beginning of every TS segment
2021-08-14 17:25:40 +02:00
aler9
2d71e69e43
hls: speed up loading by decreasing PTS
2021-08-14 17:08:35 +02:00
aler9
30910d52d2
hls: increase video size up to 100% of the page ( #480 )
2021-08-14 16:51:51 +02:00
aler9
ffe4a2d1e7
hls: support reading on iOS Safari
2021-08-14 16:35:25 +02:00
aler9
600f7bf48c
hls: move NALU filtering into hls muxer
2021-08-14 16:35:25 +02:00
aler9
d5b10fdd66
hls: improve tests
2021-08-14 16:35:25 +02:00
aler9
6ad638d0e8
hls: fix compatibility with video.js and iOS
...
add AUDs to all h264 packet groups
2021-08-14 16:35:09 +02:00
aler9
40a5c78c8d
fix comment
2021-08-14 16:21:05 +02:00
aler9
3828b71206
fix docs
2021-08-14 13:52:57 +02:00
aler9
5a814480b3
hls: write PMT/PAT tables once at the beginning of every TS segment
2021-08-14 13:05:42 +02:00
aler9
eb5bab7e58
hls: set default segment count to 3
2021-08-14 12:27:00 +02:00