thelevicole / youtube-to-html5-loader

Load YouTube videos with the HTLML5 <video> element without needing iframes or the YouTube JS API.
https://thelevicole.com/youtube-to-html5-loader/
134 stars 25 forks source link

Error loading on Apple Safari #11

Open drzewinski opened 3 years ago

drzewinski commented 3 years ago

Hi there!

I'm using your library to load YouTube videos on my app, however It's not working on iPhone Safari. I get the error Partial Content Code 206.

It seams that it's something specific to Safari. I searched the web and I found the following:

https://stackoverflow.com/questions/32996396/safari-9-0-can-not-play-mp4-video-on-the-storage-server#:~:text=The%20most%20common%20root%20cause,appears%20Safari%20cannot%20handle%20this.

https://blog.logrocket.com/streaming-video-in-safari/

Do you have any ideas on how to solve it?

Best regards, Marcus.

marcusx2 commented 3 years ago

@thelevicole Will this be fixed?

thelevicole commented 3 years ago

Yes, sorry, this will be fixed. I've been tied up with some other pressing projects but will find sometime this weekend to take a look. I'll try to get a fix pushed ASAP!

drzewinski commented 3 years ago

Thank you! That is awesome! I appreciate it!

Marcus Drzewinski Co-Founder & Chief Technology Officer

Telefone/WhatsApp: +55 (51) 9999 3 5564 https://api.whatsapp.com/send?phone=5551999935564&text=Marcus%20Drzewinski E-mail: @.*** diarioescola.com.br | facebook.com/diarioescola | Google Partner https://cloud.withgoogle.com/partners/detail/?id=di%C3%A1rio-escola&hl=pt-BR

Em sáb., 10 de abr. de 2021 às 10:32, Levi Cole @.***> escreveu:

Yes, sorry, this will be fixed. I've been tied up with some other pressing projects but will find sometime this weekend to take a look. I'll try to get a fix pushed ASAP!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/thelevicole/youtube-to-html5-loader/issues/11#issuecomment-817137496, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHEI3DSWHNXMY2QLE6EF3VDTIBHQRANCNFSM42JJQAQQ .

thelevicole commented 3 years ago

Ok so this is a bit of a bigger issue that I had thought. The problem is with how YouTube serve these files, I would assume the file streams this library is using are not intended for this purpose.

The solution could be related to my comment on annother issue...

Some YouTube videos require a signature to be sent with the stream request. The signature is provided as a scrambled cipher that needs to be decoded before it can be used. The cipher and decoding process is regularly changing so replicating and decoding within the package client side is not viable. Each time the process changes on YouTubes end, we'd need to reverse engineer the decode process and release an update to this package.

Essentially, I'm thinking we'd need to setup a man in the middle service. Unfortunatley, there is some extensive work to be done before this issue can be resolved.

marcusx2 commented 3 years ago

@thelevicole Is there any ETA for this?

thelevicole commented 3 years ago

@marcusx2 @drzewinski can you test the recent release 4.0.1, the examples here appear to be working in Safari

marcusx2 commented 3 years ago

It worked! Although it took ages to load on Safari for some reason.