ja2375 / FluTube

A Flutter plugin to facilitate embedding Youtube videos inside mobile apps.
MIT License
34 stars 17 forks source link

Can't play music videos #1

Closed davidgalarza closed 5 years ago

davidgalarza commented 5 years ago

Hello first of all thank you for your awesome work. I try your example and it works like a charm with a lot of videos but if I try to play music videos like: https://www.youtube.com/watch?v=Soa3gO7tL-c . I'm getting this error: com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 403

ja2375 commented 5 years ago

Thanks for reporting this. I will take a look on it ASAP.

ja2375 commented 5 years ago

After some debugging i found out that Youtube is using encryption on some videos (like the one you linked). That is why you get a 403 error. It seems that, in order to download those videos (and therefore play them outside of the usual youtube player) you first need to decode a signature that the YT server sends you in the request. I will do my best to try to implement that decode step needed for some videos :)

ja2375 commented 5 years ago

Hello,

This is taking me some time to figure out how to workaround this issue and since I have a lot of work to do and also getting this to work without using the Youtube official API goes against the YT Terms of Use, i decided that i won't be implementing that option. Please use the plugin that uses the YT API instead.

Apologies.

P.S.: If you (or anybody else) figure out how it could be done and you want to contribute to the project, PRs will be welcomed ;)