4 ms·
Rtwatch: Watch videos with friends using WebRTC
- Squeeze2664 5mo agoCool project. > 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...
- Sean-Der 5mo agoThe '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. [0] https://developer.mozilla.org/en-US/docs/Web/API/Insertable_Streams_for_MediaStreamTrack_API https://developer.mozilla.org/en-US/docs/Web/API/Insertable_...
- arowthway 5mo agoCool. What are the hardware requirements? I use https://github.com/calzoneman/sync 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.
- Sean-Der 5mo agoYou 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 :)
- vhantz 5mo agoI read elsewhere that WebRTC will drop audio, have you had any issues with that? And generally, you don't need any buffering mechanisms for the clients? Nice project!
- Sean-Der 5mo agoThat is 100% controllable! By setting Playout Delay Header[0] you can pick between 'drop everything to stay live' or buffering up to ~40 seconds! In this project I don't set anything though. [0] https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/playout-delay/README.md https://webrtc.googlesource.com/src/+/refs/heads/main/docs/n...
- doctorpangloss 5mo agoshh don't tell them about playout delay header haha
- Aransentin 5mo agoReminds me how people on 4chan/g/ back in the day (mid to late 2000s I think?) would start threads where one user put up a livestream of a movie on some IP address, and the participants would connect and watch it together (using mplayer or VLC) while doing live commentary in the thread itself. Good times. I think I first watched Hackers like that.
- Sean-Der 5mo agoThe spirit is alive with https://github.com/m1k1o/neko https://github.com/m1k1o/neko The 'co-watching/co-streaming' is the best. I love watching a crappy horror movie with friends and bantering.
- s20n 5mo agoI used to stream movies from my desktop over the local network with VLC and the main issue I faced was that I could never get the subtitles to work. I took a quick look at this repository and it doesn't look like they support subtitles either.
- Sean-Der 5mo agoI can add it! What format would like to see?
- s20n 5mo agoThanks, that would be great! I am trying to think how this could work. Generally, subtitles are embedded as a separate track in the video container or as a sidecar .srt file [1]. Perhaps they can be converted and shown using the WebVTT API[2] or <track> tags [3]? Edit: Maybe that wouldn't work, here's a relevant stackoverflow post [4] [1] https://en.wikipedia.org/wiki/SubRip https://en.wikipedia.org/wiki/SubRip [2] https://developer.mozilla.org/en-US/docs/Web/API/WebVTT_API https://developer.mozilla.org/en-US/docs/Web/API/WebVTT_API [3] https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/track https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/... [4] https://stackoverflow.com/questions/61446205/webrtc-and-texttrack-caption-to-peer-is-possible https://stackoverflow.com/questions/61446205/webrtc-and-text...
- subscribed 5mo agoAwesome. I am using Teleparty Chrome plugin for that, but it'd be so nice to have something better.
- JoheyDev888 5mo ago[flagged]
- queenkjuul 5mo agoI'm working on a way to play DVDs in the browser, and I'm ultimately going to need a similar setup: server handles all seeking/pausing/state, browser just renders the video (and sends all the requisite commands) I wanted to try to do some kind of simple network block device to give access to the whole DVD to VLC WASM but the pre built VLC WASM binaries don't have dvdnav support and i can't get the builds to succeed on my own