> Only the current audio/video frame is being sent to the viewers, there is no way they can download/cache the videos either for future usage.
This seems misleading, though. I think I get what was meant: clients can't send a request to download from the start or a specific offset and thus "download" the original file, the server is in charge of what's being sent. However, clients can still capture the frames, save them, and replay them, obviously. And I see a button to "Seek", so...
The 'Seek' is done server side. So if you go to `n` seconds it is done server side and done for everyone.
I should reword the README though. If someone is savy enough they could totally grab the video. For most users it is like a Google Meet though. If you click `Show Controls` you can pause the video that is it.
With things like Insertable Streams[0] you can totally grab the video.
Cool. What are the hardware requirements? I use https://github.com/calzoneman/sync with mp4 files served by nginx and it works great for 15-20 people watching on a cheap 0.5GB ram 1 vcpu vps.
You run one encoder for all the viewers. CPU usage won't scale up from 1 -> 15 viewers.
I could get it lower by encoding once and then syncing to keyframes. It would make the code more complicated though. If someone asks for it/gets excited would love to do it though :)
> Only the current audio/video frame is being sent to the viewers, there is no way they can download/cache the videos either for future usage.
This seems misleading, though. I think I get what was meant: clients can't send a request to download from the start or a specific offset and thus "download" the original file, the server is in charge of what's being sent. However, clients can still capture the frames, save them, and replay them, obviously. And I see a button to "Seek", so...
I should reword the README though. If someone is savy enough they could totally grab the video. For most users it is like a Google Meet though. If you click `Show Controls` you can pause the video that is it.
With things like Insertable Streams[0] you can totally grab the video.
[0] https://developer.mozilla.org/en-US/docs/Web/API/Insertable_...
And generally, you don't need any buffering mechanisms for the clients?
Nice project!
In this project I don't set anything though.
[0] https://webrtc.googlesource.com/src/+/refs/heads/main/docs/n...
I could get it lower by encoding once and then syncing to keyframes. It would make the code more complicated though. If someone asks for it/gets excited would love to do it though :)