ChanServ changed the topic of #crystal-lang to: The Crystal programming language | https://crystal-lang.org | Fund Crystal's development: https://crystal-lang.org/sponsors | GH: https://github.com/crystal-lang/crystal | Docs: https://crystal-lang.org/docs | Gitter: https://gitter.im/crystal-lang/crystal
fawn has quit [Remote host closed the connection]
fawn has joined #crystal-lang
ttyyls has quit [Remote host closed the connection]
ttyyls has joined #crystal-lang
_ht has joined #crystal-lang
<dostoyevsky2> https://github.com/iv-org/invidious/blob/master/src/invidious/routes/video_playback.cr#L255 <- any idea how one could just return a local mp4 file here? I guess one would need to use some kind of api that does stream a response
dostoyevsky2 has quit [Quit: leaving]
dostoyevsky2 has joined #crystal-lang
vikn has joined #crystal-lang
<SamantazFox> dostoyevsky2 Youtube doesn't provide mp4 files directly. Normally, it provides the audio and video as two separate DASH streams, that need to be recomposed on the client side.
<SamantazFox> due to a recent change, they now don't return anything because invidious is not providing the appropriate request data
<SamantazFox> I'm already working on a fix, please be patient :)
<vikn> Cool to see invidious mentioned here, I was already wondering why they all errored out. Small word lmao
alexherbo2 has joined #crystal-lang
<dostoyevsky2> SamantazFox: Cool, that you are working on something! I did a small hack were I replace my own invidious instance with a small html that only has a video tag and download the mp4 via yt-dlp... which I am using atm instead of invidious
<dostoyevsky2> I remember the yt-dlp peeps implemented a javascript interpreter to be able to do the challenge-response stuff that youtube does in the browser....
<SamantazFox> I'm glad you found an alternative that suits you ^^
<SamantazFox> And yes, you're right. Yt-dlp has a custom JS interpreter
<SamantazFox> quite a beast, tbh
<dostoyevsky2> yeah, I guess invidious would also need a js interpreter in the long run... but we will see.. maybe yt-dlp could return a stream also
<dostoyevsky2> https://stackoverflow.com/questions/37040798/how-do-you-use-youtube-dl-to-download-live-streams-that-are-live <- seems like one can use yt-dlp to find the stream urls for live streams... I guess once one has the stream urls, invidious could use them in the frontend
<dostoyevsky2> SamantazFox: e.g. `yt-dlp --list-formats "https://www.youtube.c
<dostoyevsky2> > yt-dlp --list-formats "https://www.youtube.com/watch?v=6s0a7Z70WxM" && yt-dlp -f 299 "https://www.youtube.com/watch?v=6s0a7Z70WxM"
<dostoyevsky2> SamantazFox: Once you have the videoplayback urls invidious should be able to play the video, no?
<dostoyevsky2> And then one could piggy-back on yt-dlp
<dostoyevsky2> I guess it might be too slow if you are running one of the public invidious instances, as they'd need to call python for each request and even as a background service it's probably still too slow
vikn has quit [Remote host closed the connection]
vikn has joined #crystal-lang
vikn has quit [Remote host closed the connection]
vikn has joined #crystal-lang
vikn has quit [Remote host closed the connection]
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #crystal-lang
_ht has quit [Quit: _ht]
DeBot has quit [Quit: Crystal IRC]
DeBot has joined #crystal-lang
DeBot has quit [Client Quit]
DeBot has joined #crystal-lang
alexherbo2 has quit [Remote host closed the connection]