3 ms·
Just created something similar 2 weeks ago but for Twitch and way more jank, the only reason being Twitch deletes broadcasts 60(?) days after they have been cre
by PedroBatista 2y ago
Just created something similar 2 weeks ago but for Twitch and way more jank, the only reason being Twitch deletes broadcasts 60(?) days after they have been created. Turns out creating a server that streams video MP4 files ( not HLS ) in a way the user ( me ) doesn't have to wait until all the 35GB and 8 hours of video are downloaded into the client to start watching was more complex than expected. And making the HTTP server lib to turn a blind eye on when the browser requests video files with [white spaçes/ and other character$-in the name] too..
( no post download processing, no streaming, just access the "raw file" and make it work no matter what )
Does anyone who used Yark knows if the subtitles are also downloaded?
- password4321 2y agoRelated for Twitch (including chat): https://github.com/lay295/TwitchDownloader https://github.com/lay295/TwitchDownloader
- n_plus_1_acc 2y agoVLC should be able to stream it if the server supports range requests
- PedroBatista 2y agoYes, browsers too with HTML5 video tag. The "difficulty" was implementing the server/webapp supporting range-requests in a performant ( whatever that means ) and robust way. For example, most browsers request the first bytes with the range: 0- but then when they think they have enough information about the video because they expect the metadata to be in the beginning of the file ( which normally is but not every time ), they cancel the request and do another one. So the server must be minimally robust, also be 100% correct with the byte alignment it sends, a difference of 1 isn't a big deal and the video plays until the very end where the browser request the last bytes, the server tells it is has but the video players still waits for the last byte so it shows it's buffering. Of course this was a "weekend project", for practical purposes just use VLC and/or a "real" battle tested webserver like Nginx or even Caddy