Commit Graph
55 Commits
Author SHA1 Message Date
Alessandro RosandGitHub d423a71aaa update linter settings (#4790) 2025-07-26 16:44:32 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d0a97e47ff build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.2.1 to 2.2.2 (#4763)
Bumps [github.com/bluenviron/gohlslib/v2](https://github.com/bluenviron/gohlslib) from 2.2.1 to 2.2.2.
- [Commits](https://github.com/bluenviron/gohlslib/compare/v2.2.1...v2.2.2)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/gohlslib/v2
  dependency-version: 2.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 09:55:10 +02:00
Alessandro RosandGitHub 402b8ff9c9 recorder, playback: support changing codec parameters without switching segment (#4262) (#4582) 2025-05-29 20:37:12 +02:00
Tarık ErkanandGitHub e6a7a87c7f Fix: gracefully handle fMP4 segments with missing or partial moof/mdat (#4538) 2025-05-25 21:29:53 +02:00
Alessandro RosandGitHub fff3b9b315 record: fix loss of audio samples during segment switch (#4556) 2025-05-25 21:29:33 +02:00
Alessandro RosandGitHub 01e6fedc36 playback: fix jerky video (#4555)
this happened when recording has B-frames, playback format is fmp4 and starting position doesn't correspond to a IDR frame.
2025-05-25 21:09:23 +02:00
Alessandro RosandGitHub 9a3bbda8f8 playback: fix error 404 when seeking before start of segment (#4276) (#4533) (#4539)
Fixes #4276
Replaces #4533
2025-05-25 18:50:19 +02:00
Alessandro RosandGitHub e707a9237d improve tests, documentation (#4549) 2025-05-23 13:25:17 +02:00
Alessandro RosandGitHub f97213ae6e support passing JWTs through the password field (#4516)
This is safer than passing JWTs through query parameters, unfortunately support is limited.
2025-05-10 22:54:24 +02:00
Alessandro RosandGitHub 386be42784 rtsp: rewrite authentication around ServerConn.VerifyCredentials (#4267) 2025-02-18 17:54:13 +01:00
Alessandro RosandGitHub 244da930a1 switch to mediacommon/v2 (#4259) 2025-02-17 14:54:58 +01:00
35e858c6e7 playback: fix filtering when start date is earlier than first segment (#4173)
* bugfix in recordstore: no segments returned when given a start time earlier than all available segments

* add tests

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-01-19 10:23:03 +01:00
Alessandro RosandGitHub 8f04264fe5 webrtxc: fix MTX_QUERY not set when reading or publishing (#4138) (#3937) (#4141) 2025-01-11 17:29:48 +01:00
Alessandro RosandGitHub 38f3662f7a playback: in /list, always return 404 when there are no timespans (#4131) 2025-01-10 16:53:28 +01:00
c7595a5cd8 playback: fix extraneous list entry when start time is specified (#4129)
* fix extraneous playback list entry when start time is specified

* add comment and test

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-01-10 16:20:25 +01:00
Alessandro RosandGitHub 21b5031d6b playback: improve /list performance (#3663) (#4102)
Segments are now parsed in parallel.
2025-01-03 13:59:49 +01:00
Alessandro RosandGitHub ac0ddc9e8a playback: improve /list response time (#3637) (#4096)
Response times of the /list endpoint were slow because the duration of
each segment was computed from scratch by summing the duration of each
of its parts.

This is improved by storing the duration of the overall segment in the
header and using that, if available.
2025-01-03 13:08:46 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>aler9
0f74cee372 build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.1.0 to 2.1.1 (#4099)
* build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.1.0 to 2.1.1

Bumps [github.com/bluenviron/gohlslib/v2](https://github.com/bluenviron/gohlslib) from 2.1.0 to 2.1.1.
- [Commits](https://github.com/bluenviron/gohlslib/compare/v2.1.0...v2.1.1)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/gohlslib/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix tests

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-01-02 13:10:57 +01:00
Alessandro RosandGitHub b49acb1e00 accept durations expressed as days (i.e. '1d') (#4094) 2025-01-02 12:44:15 +01:00
Alessandro RosandGitHub d38b7e95fc playback: allow filtering timespans by start and end date (#3637) (#3489) (#4085) 2025-01-02 12:43:18 +01:00
Alessandro RosandGitHub d13dc1074a make better use of Gin middleware system (#3849) 2024-10-08 17:02:16 +02:00
Alessandro RosandGitHub 534b637bc7 support using JWT in Authorization header with API, Metrics, PProf (#3630) (#3795) 2024-10-05 21:15:21 +02:00
Alessandro RosandGitHub 73a300afd0 fix cleaning of recordings in case of multiple recordDeleteAfter values (#3557) (#3741) 2024-09-08 20:33:18 +02:00
Alessandro RosandGitHub 6da35c8041 playback: add "url" field to recording timespans in /list (#3619) 2024-08-25 23:04:36 +02:00
Alessandro RosandGitHub 3f1d182d2c fix support for HTTP preflight requests (#1792) (#3535) 2024-07-06 21:45:15 +02:00
Alessandro RosandGitHub f4b7f147a5 api, playback: add CORS headers on non-existing pages too (#1792) (#3410) 2024-05-30 14:29:05 +02:00
Alessandro RosandGitHub 425b7fa4fb move pmp4 package into mediacommon (#3367) 2024-05-18 11:27:39 +02:00
Alessandro RosandGitHub 0c86dca71a fix 'no segments found' error message (#3323) 2024-05-05 11:43:41 +02:00
Alessandro RosandGitHub 1204f76eb7 update golangci-lint (#3300) 2024-04-28 18:20:08 +02:00
Alessandro RosandGitHub 85dd81698b support HTTPS, Allow-Origin and trusted proxies in API, playback server, metrics server and pprof server (#2658) (#2491) (#3235) (#3280) 2024-04-21 17:10:35 +02:00
2bd8ac7e19 fix support for JWT authentication in API, metrics, playback, pprof (#3253)
Co-authored-by: Rafael Scheidt <rafaelscheidt@Rafaels-MacBook-Air.local>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-04-18 23:55:48 +02:00
Alessandro RosandGitHub 3a968118db playback: improve precision when splitting fMP4 parts (#3250) 2024-04-15 17:45:11 +02:00
Alessandro RosandGitHub 1c135fb62e test: add MP4 playback tests (#3245) 2024-04-15 11:39:49 +02:00
Alessandro RosandGitHub 4157f490fa playback: support serving streams in standard MP4 format (#3213)
* playback: support serving streams in standard MP4 format

* sort samples by DTS

* update readme
2024-04-14 19:29:29 +02:00
Alessandro RosandGitHub 0b5519d30c deprecate path.playback parameter (#3217)
this has become useless after the introduction of the new
authentication system, that already allows to select which paths are
available for playback
2024-04-09 10:04:12 +02:00
Alessandro RosandGitHub a50642c669 improve record tests (#3216) 2024-04-09 09:36:38 +02:00
Alessandro RosandGitHub 55355ad58a playback: support serving tracks with any time scale (#3211) 2024-04-08 23:56:27 +02:00
Alessandro RosandGitHub 14bf7f4cc5 playback: fix bug that messed up duration of last sample of each track (#3210) 2024-04-08 23:01:23 +02:00
Alessandro RosandGitHub b5b44f4534 playback: improve performance when reading big segments (#3209) 2024-04-08 21:35:23 +02:00
Alessandro RosandGitHub d5a18bf78f playaback: use a fixed fMP4 part duration (#3203) 2024-04-07 22:33:49 +02:00
Alessandro RosandGitHub 3144b31185 playback: adjust speed to compensate discrepancies between NTP and DTS (#3202) 2024-04-07 20:29:46 +02:00
Alessandro RosandGitHub 0a8e6263a8 playback: increase sequence number of fMP4 parts (#3200) 2024-04-07 14:23:02 +02:00
Alessandro RosandGitHub b64e082253 playback: decrease concatenation tolerance to 0.5 secs (#3199) 2024-04-07 13:51:23 +02:00
Alessandro RosandGitHub c263fc6f7b playback: fix concatenation of segments with multiple tracks (#3198)
the duration of segments was computed erroneously, since it was taking
into consideration the last track only. Now the duration of a segment
corresponds to the maximum duration among all tracks.
2024-04-07 12:48:47 +02:00
Alessandro RosandGitHub 50322fc14e playback: do not concatenate segments with different tracks (#3197) 2024-04-06 20:01:23 +02:00
Alessandro RosandGitHub 9c6ba7e2c7 New authentication system (#1341) (#1992) (#2205) (#3081)
This is a new authentication system that covers all the features exposed by the server, including playback, API, metrics and PPROF, improves internal authentication by adding permissions, improves HTTP-based authentication by adding the ability to exclude certain actions from being authenticated, adds an additional method (JWT-based authentication).
2024-03-04 14:20:34 +01:00
Alessandro RosandGitHub 1ae3240b91 hls: fix crash when muxer is being recreated, improve performance (#3017) 2024-02-13 23:32:15 +01:00
Alessandro RosandGitHub b6eaa6bc18 move test utilities into 'test' (#3016)
* move test utilities into 'test'

* rename newEmptyTimer into emptyTimer
2024-02-13 18:49:27 +01:00
Alessandro RosandGitHub 3161e73a58 rename httpserv into httpp (#3014) 2024-02-13 13:04:56 +01:00
Alessandro RosandGitHub fcf649cdaf tests: make sure that dates with decimal seconds can be parsed correctly (#3007) 2024-02-12 00:20:35 +01:00