Commit Graph

118 Commits

Author SHA1 Message Date
Yohann D'ANELLO 0371d3dc7c Authenticate streams 2020-10-01 23:31:14 +02:00
Yohann D'ANELLO b5338e06bc Fix forwarding test, overwrite /dev/null 2020-10-01 20:53:26 +02:00
Yohann D'ANELLO 1511884ee6 Test authentication 2020-10-01 20:11:43 +02:00
Yohann D'ANELLO 650040ef10 Forwarding test must serve then the forwarding package in a subroutine 2020-10-01 19:34:40 +02:00
Yohann D'ANELLO d7e104261f Unify the forwarding package start with the other, start it in a go routine 2020-10-01 19:26:12 +02:00
Yohann D'ANELLO 98d5c609a3 Comment Packet structure 2020-10-01 19:05:39 +02:00
Yohann D'ANELLO e74213fefa 🐛 Copy SRT data in another buffer before sending it in the forwarding package to avoid overwriting issues 2020-10-01 18:54:35 +02:00
Yohann D'ANELLO ee1f1e331b 💩 Change port of SRT server if the forwarding test. We should instead kill the server after the test. 2020-10-01 12:09:49 +02:00
Yohann D'ANELLO c0689ae063 💩 Change port of SRT server if the forwarding test. We should instead kill the server after the test. 2020-10-01 12:07:28 +02:00
Yohann D'ANELLO efa44488c0 Use channels to send SRT packets to forwarded streams 2020-10-01 12:00:59 +02:00
Yohann D'ANELLO dc7a3fef9f Test stream forwarding, but disable it while the project structure is not clean, ie. to avoid that forwarding is a dependency to srt 2020-10-01 11:20:34 +02:00
Yohann D'ANELLO cc4c556f2c Wait 1 second after the web server got served to avoid a request that came too early 2020-10-01 09:47:59 +02:00
Yohann D'ANELLO cb14434091 🐳 Use Alpine edge repo version in Dockerfile since libsrt is not packaged in v3.12 yet 2020-10-01 09:40:37 +02:00
Yohann D'ANELLO 0a95aae42b 🎉 libsrt got packaged in community's Alpine Linux repo, FFMPEG is compiled with libsrt, so we use Alpine Linux 2020-10-01 09:29:25 +02:00
Yohann D'ANELLO 3828168742 🐳 Use COPY . . in Dockerfile since there isn't any proper method to copy folders in Docker image 2020-09-30 23:01:45 +02:00
Yohann D'ANELLO e8b145550e Skip stream tests if ffmpeg is not installed 2020-09-30 19:28:30 +02:00
Yohann D'ANELLO 3c21f744e8 Build the docker image over Debian Bullseye since Alpine FFMPEG is not built with libsrt yet 2020-09-30 19:28:08 +02:00
Yohann D'ANELLO f455950865 FFMPEG is needed to use stream forward 2020-09-30 16:59:45 +02:00
Yohann D'ANELLO ddd8be155e Try to test serving SRT server 2020-09-30 16:53:15 +02:00
Michaël Paulon 2096643ab4 you need the -dev package to get srt/srt.h 2020-09-30 16:36:59 +02:00
Yohann D'ANELLO 56c89879c8 Try to test serving HTTP server 2020-09-30 16:11:51 +02:00
Yohann D'ANELLO ea860a0790 More coverage on web package 2020-09-30 16:09:25 +02:00
Alexandre Iooss ac40d81e98
Use fetch API to fetch viewers count 2020-09-30 15:56:24 +02:00
Alexandre Iooss 9fe544b7bc
Add a favicon 2020-09-30 15:52:26 +02:00
Alexandre Iooss 8883c878bf
Better error handling in stream forwarder 2020-09-30 15:28:19 +02:00
Alexandre Iooss 2550d75c57
Refractor streamKey to name 2020-09-30 15:10:13 +02:00
Alexandre Iooss 8f7384ba35
Rename multicast to stream forwarding 2020-09-30 15:07:36 +02:00
erdnaxe 6ba297bf96 Merge branch 'multicast' into 'golang'
Multicast

See merge request nounous/ghostream!1
2020-09-30 14:46:15 +02:00
Yohann D'ANELLO b647c761f3 Test loading the configuration 2020-09-30 13:08:44 +02:00
Yohann D'ANELLO 4024ed5b2a Add a comment, fix linting 2020-09-30 08:50:54 +02:00
Yohann D'ANELLO 5efbe309ac Optimize FFMPEG parameters to reduce CPU charge 2020-09-30 00:36:58 +02:00
Yohann D'ANELLO 9049935ee4 Use only one instance of FFPMEG per SRT stream instead of one per additional cast 2020-09-29 23:43:54 +02:00
Yohann D'ANELLO 351870e92a Merge remote-tracking branch 'origin/golang' into multicast
# Conflicts:
#	stream/srt/srt.go
2020-09-29 22:43:37 +02:00
Yohann D'ANELLO 5fa492547b Use external configuration to setup multicasts 2020-09-29 22:40:49 +02:00
Yohann D'ANELLO 2920b6883c Separate multicast feature 2020-09-29 21:31:53 +02:00
Alexandre Iooss ad26242d4a
Simplify SRT handling 2020-09-29 20:58:55 +02:00
Yohann D'ANELLO 969d36fab4 Use FFMPEG to broadcast the stream on Twitch 2020-09-29 20:56:31 +02:00
Yohann D'ANELLO 0adecb07cd Ghostream now uses SRT rather than RTMP (even if it is not implemented yet) 2020-09-29 19:12:29 +02:00
Alexandre Iooss 5b5bf2b518
Test splitHostPort 2020-09-29 18:52:27 +02:00
Alexandre Iooss 06542590e1
Make viewers counter period configurable 2020-09-29 18:44:32 +02:00
Alexandre Iooss 12009b5875
Smaller viewer count 2020-09-29 18:37:57 +02:00
Yohann D'ANELLO 881c78f576 Refresh viewer counter every 20 seconds 2020-09-29 18:25:38 +02:00
Alexandre Iooss f8aa587d0e
Handle error 2020-09-29 18:20:24 +02:00
Alexandre Iooss 078a74add1
Do not read prometheus metrics 2020-09-29 18:17:55 +02:00
Yohann D'ANELLO 2005f3ece1 Store connected viewers in Prometheus and serve this amount 2020-09-29 18:03:28 +02:00
Alexandre Iooss c49b5eeb2b
Put iframe in a sandbox 2020-09-29 17:47:36 +02:00
Alexandre Iooss 95f4b81f01
Make STUN server configurable 2020-09-29 17:27:19 +02:00
Alexandre Iooss 1c98754624
Restructure projet and add webrtc settings 2020-09-29 17:04:23 +02:00
Alexandre Iooss 29eeb2c0fd
Load SRT host and port from configuration 2020-09-29 16:49:30 +02:00
Yohann D'ANELLO c905eadc78 🐳 SRT packets should not pass though Traefik, don't expose metrics neither 2020-09-29 16:04:16 +02:00