SkyTubeTeam / SkyTube

Copylefted libre / open source YouTube player for Android
GNU General Public License v3.0
2.36k stars 329 forks source link

[Feature request] Add open in Invidious/copy invidious link #887

Open machiav3lli opened 3 years ago

machiav3lli commented 3 years ago

Youtube face you with a captcha when you use services like TOR. A solution for users, which use such services is to have an access to the video link from an invidious instance. I think invidious.snopyta.org is a good one.

Technically: Invidious uses the same video id of youtube, which makes it theoraticaly an easy task to implement a list entry with the url.

Thanks upfront.

gzsombor commented 3 years ago

Out of curiosity, why do you want to open the video in invidious? Sometimes, I want to check the comments - or comment the videos - but for that, I need youtube, as the comments are not visible on invidious, AFAIK.

machiav3lli commented 3 years ago

@gzsombor for once, as opening some videos on youtube is binded to registeration. Secondly and more importantly, the privacy argument, youtube is per design a tracker, the possibility to share/open the video freed from such is surely an improvement. FreeTube is a good vlient that combines both options (youtube & invidious) and can be refered to for possible future implementation of the invidious API

drogga commented 3 years ago

I'm sorry but I don't see a point in this either, at all ! I'm more interested in the other way around actually..., but since I was basically told that there's no point in requesting any features, I didn't mentioned it.

BTW - Some invidious instances are showing the comments.

gzsombor commented 3 years ago

@drogga : I don't know where do you read that. And you can open invidious links in the app - at least for a couple of sites - the site list is not updated frequently.

@machiav3lli : but my question is, why do you want to see the video in the browser? From the privacy argument, I think, that you would like to use an invidious as a proxy to download the videos, aren't you? But it's a bit different than opening in the browser

machiav3lli commented 3 years ago

@gzsombor it's not really about downloading the video. Here's two scenarios where SkyTube fails to play a video, while invidious can:

Being able to open a video in invidious as an alternative is good solution for such issues.

drogga commented 3 years ago

@gzsombor - those are outdated AF, most of them are dead since a long time ago... invidio.us dev.invidio.us www.invidio.us invidious.snopyta.org de.invidious.snopyta.org fi.invidious.snopyta.org vid.wxzm.sx invidious.kabi.tk invidiou.sh www.invidiou.sh no.invidiou.sh invidious.enkirton.net tube.poal.co invidious.13ad.de yt.elukerio.org

The problem is that they need to manually be added, every single one of them in order to be recognized as a YT vid, which is stupid, but instead, the app needs to only read "/watch?v="(video code) , "/embed/"(video code) and "/v/"(video code), like BSPlayer could when it still worked couple of months ago.

@machiav3lli - I think you want to have a button that when you click it to redirect you to a browser and the main "invidio.us", which will then allow you to pick an instance (mirror) in order to do whatever you want, every other solution would be hard and even more pointless to implement, not that I see a point in this, cuz why do you even use this app then ?, I mean I don't have much choice, but you seem resourceful..., also keep fooling yourself about "privacy" - this is considered as a dirty word nowadays.

I think you are talking about the age restricted videos, which Can be played with this and the instances (for some you need to enable the instance's proxy), those that's cannot be played are the ones that are not only age restricted, but can only be played on YT itself (site or the app), and there's nothing you can do about those, just forget about playing or downloading them with whatever.

Anyway, you can always copy (share) the YT link, change "youtube.com" to whichever invidious instance you want and open or paste that wherever you want...

drogga commented 3 years ago

...then again...:

UnTrackMe https://f-droid.org/en/packages/app.fedilab.nitterizeme/

UnTrackMe Lite: https://f-droid.org/en/packages/app.fedilab.nitterizemelite/

gzsombor commented 3 years ago

They are looking to be a useful app, thanks! And yes, you are right, without maintaining the list of individous servers, or trying matching on path of the urls, the current solution is far from good.

drogga commented 3 years ago

If removing this\the filter from the manifest will solve this, by just not looking for those, then please remove it... Thanks.

BTW, the 2-3 instances I use are not among those, plus they are changing and dying too often (like aquarium fish) to maintain \ include them in a list like that and to rely on them.

machiav3lli commented 3 years ago

I think this solves the problem as a complimentary solution, as maintaining such list is understandebly not an option. I thought first about snopyta as a default (being the most stable among the instances).

On the same topic, it would nice to set a default source to play videos in SkyTube. As playing a video which can't be played without sign-in looks like this:

SkyTube:search for the video > try to play the video > share > untrack me > copy link > SkyTube:open from url.

But maybe this should be in another issue or this restructured.

drogga commented 3 years ago

It seems like you are going in circles\loop, or you can't explain it better, cuz why the heck you start with ST and end up in ST again...? Yes, SkyTube can't play age restricted videos unfortunately, but if it's not a music VLC can play it. It seems to me that you could benefit from this: https://play.google.com/store/apps/details?id=de.audioattack.openlink ...as it gives you the option to open in ST using the share menu, instead of bookmarking it...

Man, not being able to run YT Vanced or the original client app and keeping them up-to-date is a living hell.

machiav3lli commented 3 years ago

@drogga I think you misunderstood it, you need to go in this loop(and that's the real problem) as ST can find those videos but can't play them from the official youtube, but when you feed it a link from an invidious instance it plays it. Try it...

gzsombor commented 3 years ago

@machiav3lli : That's really interesting! Could you share an invidious link, which can be played by SkyTube, but not from directly?

drogga commented 3 years ago

So I tried with YT link and a https://invidious.snopyta.org one (since it's in the list with the supported ones) > "Enter a Video URL", and on\with both I got the same 2 toast messages «[Invalid Video URL:]» and «[Got error: "Sign in to confirm your age"]», but the thing\problem is that there's no way to sign-in \ log-in in ST... !

The video is the only one i could think of at the moment, and yes, it's a music video: https://m.youtube.com/watch?v=B3eAMGXFw1o

So please give an example of one that works...

machiav3lli commented 3 years ago

@drogga Funny enough, I could play all the videos that didn't play before and the one mentioned with no problems now.

This makes it far more unpredictable than I thought, it's not just one TOR-Node thing. I'll see more into it and back to you.

gzsombor commented 3 years ago

Yes, I've tried to replicate it, but for me, every link which worked from youtube, worked from invidious too. I even tried to open age-restricted video ( actually this: https://www.youtube.com/watch?v=49vO9YI43jQ - I don't know, why it's age restricted, I would say, it's SFW video), and it played correctly in SkyTube.

drogga commented 3 years ago

@gzsombor I couldn't play that, the same as any other age restricted video ! BTW - 'invidious' says "This video may be inappropriate for some users." and "Family friendly? No" and plays it, but none of those can actually be played in SkyTube (both apps), even tho it's not country restricted.

If you search for "Red Band Trailer" you can find that most of them are restricted and test with any of those...

gzsombor commented 3 years ago

Sorry, but for me, none of the search result for "Red Band Trailer" is age restricted. The search result for me: https://youtu.be/yoXFhob6AmI https://youtu.be/n8j6P8QtAYw https://youtu.be/eZ72ztZ0B8I https://youtu.be/jaC2qqSl__A ... And all of them can be played in SkyTube. And I can open them in browser, in incognito mode, without actually confirming my age. I guess, this must be continent/country specific - as I'm sitting in the middle of EU, and probably you are not.

So far, I only saw the age restriction warning for two videos, and both can be played in SkyTube without any issue.

I saw, that in NewPipeExtractor, there is branch, where full individious API support is developed, so in the future, SkyTube probably could use that API too, so videos will be proxied through Invidious. Until then, if someone wants develop a new preference to set the Invidious instance for which all the URL's are generated, I won't oppose it :wink:

drogga commented 3 years ago

Well then I guess that this is not true anymore and things changed for good (for once\exchange...), in the past most of them were restricted, but I admit that I didn't searched for any of those in the past 2 years... sorry for misleading you.

The last one (ZeroVille) is actually age restricted and Yes, ST plays those now, idk what happened before so it refused.

My problem now with 2.977 is that only 720p MP4's with muxed (build-in) audio are fine, 1080p's are without sound and any of the WEBM's are without video (picture) - blank\black screen and in order for music videos to have A+V now I have to go every time in the setting and set the max to 360p as only that one is ok for those, but before in 2.975 when there aren't so much basically pointless resolution settings, the appropriate stream (360p for those) was picked automatically and everything else played in 720p according to my rez by choice, because 1080p didn't worked anyway (it actually still played in 720p, despite the option).

My devices with old OS vers. don't have WebM (VP9) and h|x265 (HEVC) hardware support (acceleration), so they don't show the video image\picture of those in NewPipe & SkyTube, but they seem to be able to kind of handle them in 720p software rendering mode in video players and browsers (the mobile YT site plays WebM's only, in any of the rezs. you pick and doesn't provide MP4's anymore).

Yeah.., unfortunately there are no other volunteers to contribute with some code...