Commit Graph

69 Commits

Author SHA1 Message Date
Jan Koppe acdcad4256
add a bunch of shit that i changed a while back 2024-11-07 16:19:22 +01:00
Jan Koppe 6005ce6170
fix API paths 2024-05-04 14:06:46 +02:00
Jan Koppe 0a857a194c
wip 2024-04-22 14:25:15 +02:00
Jan Koppe d2f980c318
implement pulls 2024-04-01 16:27:31 +02:00
Jan Koppe 813780a18b
replace DRF with django-ninja 2024-03-17 21:05:25 +01:00
Jan Koppe 4299d46b7b
fix: srs sync should ignore streams with only listeners, but no publishers 2024-03-02 14:17:25 +01:00
Jan Koppe e2130621ad
update restream concierge configuration format, hand out actual node url 2024-03-02 14:17:04 +01:00
Jan Koppe 124e366268
implement active srs sync and celery
reworks the entire logic how active streams are being tracked.
instead of keeping a counter by listening only to srs callback
hooks, portier will now actively scrape the http api of known
srs nodes to retrieve information about all currently existing
streams on a srs node. this prevents portier from being wrong
about active stream counts due to drift, and allows us to show
more information about stream data to users in the future,
as the srs api will also expose information about used codecs,
stream resolution and data rates as seen by srs itself.

to implement this, the previous remains of celery have been
made active again, and it is now required to run exactly one
celery beat instance and one or more celery workers beside
portier itself. these will make sure that every 5 seconds all srs
nodes are actively being scraped, on top of the scrape that is
triggered by every srs callback hook.

this keeps the data always superfresh.

the celery beat function allows us to implement cron-based
automation for many other functions (restream, pull, etc) in
the future as well, so it's okay to pull in something more heavy
here rather than just using a system cron and executing a
custom management command all the time.
2024-02-29 18:33:52 +01:00
Jan Koppe ccfe3e14ad
update dev setup to use srs 6 2024-02-28 21:21:39 +01:00
Jan Koppe a1ab7704db
(Re-)license to MIT, add better README 2024-02-28 20:02:13 +01:00
Jan Koppe 6f817a9e33
templatestuff 2024-02-28 19:38:18 +01:00
Jan Koppe f3e314fbea
wip 2024-02-28 19:02:54 +01:00
Jan Koppe 2de6bd09d4
small display fixes regarding stream url 2024-02-28 19:00:54 +01:00
Jan Koppe 72824d32d4
refactor: move rtmp, restream into config, portal into core 2024-02-27 20:44:35 +01:00
Jan Koppe ba03d9be1a
cleanup 2024-02-25 21:23:21 +01:00
Jan Koppe 5ebe5c1310
fix: repair logout link (requires POST since 4.1) 2024-02-25 15:01:00 +01:00
Jan Koppe 2d01023a4b
maintenance: update to Django 5, Redis 7, Postgres 16, add dev SRS 2024-02-25 11:24:42 +01:00
Jan Koppe ab729dcb7c
select between flv/mpegts format in restream 2021-12-14 18:35:58 +01:00
Jan Koppe 0d9a60c6ff
fix: quirk with rtmp auth when pushed from ome 2021-10-31 20:16:30 +01:00
Jan Koppe cd2a2af948
remove nginx host config stuff 2021-10-31 13:33:18 +01:00
Jan Koppe ad0d545282
pin django 3.1.13 2021-10-31 13:20:59 +01:00
Jan Koppe 159439f0b1
fix host headers on internal nginx 2021-10-31 13:15:32 +01:00
Jan Koppe 9a294ff0d3
pin django version, gunicorn listen on all ips 2021-10-31 12:56:02 +01:00
Jan Koppe bee265c82a
add gh actions 2021-10-31 08:50:23 +01:00
Jan Koppe 9b231f6859
make stream and restreamconfig listviews reactive with vuejs against restapi 2020-05-31 20:25:39 +02:00
Jan Koppe 2f5c5b20c5
add django-rest-framework basic implementation 2020-05-31 18:35:30 +02:00
Jan Koppe cf6373c7cb
fix: remove task on post_delete instead of pre_delete to handle possible deletion errors. import signal. 2020-05-31 18:34:51 +02:00
Jan Koppe e1943b05f4
fix: filter removed tasks on restreamconfig update/delete by config-type! 2020-05-31 15:22:05 +02:00
Jan Koppe bb18610dd9
fix: remove associated tasks when restreamconfig is deleted 2020-05-31 15:20:22 +02:00
Jan Koppe 140186e608
add staticfiles/ to gitignore to prevent accidental staticfile commits 2020-05-31 12:20:03 +02:00
Jan Koppe 88620b99af
dynamically update tasks on saved changes to restream configs 2020-05-31 12:16:09 +02:00
Jan Koppe 64758083b3
stop being stupid, fix file perms by not using add with http 2020-05-02 00:37:43 +02:00
Jan Koppe 95982a7815
fix staticfiles permissions in docker; remove dead css include 2020-05-02 00:23:21 +02:00
Jan Koppe 9cc2e13b2c
little cosmetics and more translations 2020-05-02 00:12:53 +02:00
Jan Koppe 0400e85f89
fontawesome5;interfont;local frontend resources;languages 2020-05-01 23:06:55 +02:00
Jan Koppe 621771c391
run createn of default group and rtmp application on container start 2020-05-01 16:08:07 +02:00
Jan Koppe e92a131e4c
add default rtmp application, filter by rtmp application permissions 2020-05-01 16:06:32 +02:00
Jan Koppe 020393c48b
update migrations; management command that creates default group with default perms; add new users to default group 2020-05-01 15:05:26 +02:00
Jan Koppe 369bbf042c
fix linter errors 🙄 2020-05-01 14:20:02 +02:00
Jan Koppe 75c431bd39
add locale strings 2020-05-01 14:18:14 +02:00
Jan Koppe 16a872db15
add status symbols to stream and restreamconfig lists 2020-05-01 14:17:46 +02:00
Jan Koppe 8ec9c2807c
add stream & restreamconfig changeviews 2020-05-01 14:10:03 +02:00
Jan Koppe 730889b9a1
add object permissions with guardian; users only have access to their own streams/restreamconfigs 2020-05-01 12:38:57 +02:00
Jan Koppe b16e9c955c
tons of i18n; add some views for restream configs 2020-04-29 21:09:51 +02:00
Jan Koppe 76aac4d59f
add very basic login/logout forms, stream management forms 2020-04-29 18:51:01 +02:00
Jan Koppe 96f6ebebe1
don't add local .env to git 2020-04-29 18:46:43 +02:00
Jan Koppe a0a01a6149
fix linter errors 🙄 2020-04-26 22:30:59 +02:00
Jan Koppe 5feca3ff62
#4 change some model fields to proper uuid type; add api to claim and release tasks 2020-04-26 22:25:58 +02:00
Jan Koppe ca65c4eaa7
#4 add concierge app that implements the idea of tasks; rework rtmp to better handle multiple incoming streams; rework restream to create tasks 2020-04-26 19:46:58 +02:00
Jan Koppe 8e71bd515b
fix linter errors 2020-04-26 04:49:07 +02:00