-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add playback server (#2452) #2906
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #2906 +/- ##
==========================================
+ Coverage 51.28% 51.40% +0.11%
==========================================
Files 128 130 +2
Lines 12103 12583 +480
==========================================
+ Hits 6207 6468 +261
- Misses 5445 5614 +169
- Partials 451 501 +50 ☔ View full report in Codecov by Sentry. |
2ce1bf9
to
807b3f4
Compare
71da0e2
to
d47c26f
Compare
I can close #2901 right? |
@eravellaSC your PR implements management of recording segments, while this PR implements downloading of recording segments - they're two distinct features, if you complete your PR it can be merged too. |
Hello. You are best, again. |
Hi All, this looks very promising. Is it possible to add some layer of authentication security to this? Such as the read user/pass we do on HLS, etc? Great works as always @aler9 , thank you. |
@aler9 testing, seems time format needs to be in RFC3339 format? |
Hello everyone,
Regarding MPEG-TS, this can be added either my me or by another contributor. Regarding serving recordings in HLS format, i developed that feature for a commercial project in the past, but i can't see any advantage with respect to returning files that can be natively inserted into <video> tags. Maybe the only advantage lies in the ability of providing both the recorded stream and the live one into the same page, this might be interesting, but i'm not sure on how to manage eventual gaps.
Yes, my idea is to add an authentication layer that is shared among all the services exposed by MediaMTX, including all protocols and the API, and to let the user decide the authentication mechanism to use, by chosing between credentials hardcoded in the configuration file, external endpoints and JWTs.
yes, it's the standard Golang way to parse dates from strings, it's documented in lots of places. |
@aler9 thanks for the update. Do you know what release this will be planned to be in? |
479bbd1
to
b8f2cf1
Compare
b8f2cf1
to
2c28a7f
Compare
cde8da8
to
a99c29f
Compare
a99c29f
to
1c31f18
Compare
This issue is mentioned in release v1.5.0 🚀 |
@aler9 thanks! Will test and advise. I would imagine adding the authentication support would be next? |
@aler9 how does the api request for playback start time work? is it looking for the file names? i didn't review the code yet, but just wanted to see how the request knows if there is video. |
This adds a playback server that allows to download existing recordings.
Sub-features:
Usage
Enable the playback server in the configuration file:
Open the URL in the browser:
Where:
[mypath]
is the path name[start_date]
is the start date in RFC3336 format[duration]
is the maximum duration of the recording in Golang format (i.e. 20s, 20h)[format]
must befmp4
All parameters must be url-encoded.
For instance:
Nightly binaries
https://github.com/bluenviron/mediamtx/actions/runs/7521944954
(click on "artifacts", "binaries")
Todo