SkyTubeTeam / SkyTube

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

Give an ability to add another video streaming service #946

Open Joe23232 opened 3 years ago

Joe23232 commented 3 years ago

It would be nice if we can add more video streaming services of our own choice.

YouTube has been banning/demonetizing people's videos, even over a Duck video that only literally shows a video of a duck and nothing more, and more and more content creators are forced to move over to alternatives. I was hoping if we can just some how add an alternative by copying and pasting the alternative video streaming platform into NewPipe.

gzsombor commented 3 years ago

If you want to add new streaming services, you can add them to the NewPipeExtractor library, what is used by SkyTube. After, you should implement a service selector in SkyTube, which maybe not that big, but there could be several approach. I mean, maybe having a separate 'subscription feed' tab for each service, or not, etc.

Joe23232 commented 3 years ago

If you want to add new streaming services, you can add them to the NewPipeExtractor library, what is used by SkyTube.

Since you said "NewPipeExtractor" is this also in the app "NewPipe"?

After, you should implement a service selector in SkyTube, which maybe not that big, but there could be several approach. I mean, maybe having a separate 'subscription feed' tab for each service, or not, etc.

How hard is it to do this?

gzsombor commented 3 years ago

Yes, NewPipeExtractor is used by both NewPipe and SkyTube.

Well, how hard? It's hard to guess. It depends on how customizable you want to go. I mean, if you want an app, which only supports SoundCloud, but not YouTube, it's a couple of days work. If you want a way to add custom PeerTube servers, and the UI for the different services, etc, then it could be a couple of weeks of work. And of course, some thinking ahead to design these feature is also needed. And maybe after a week of work, you notice, that it wont be too user friendly, or the implementation is too complicated, so you have to start it from scratch.

Joe23232 commented 3 years ago

WHat about adding Bitchute then?

gzsombor commented 3 years ago

I guess, technically the same problem. What about it?

Joe23232 commented 3 years ago

Like how difficult is it to add BitChute?

gzsombor commented 3 years ago

If you ask me, I don't know the answer. You can see, how big are similar service implementations in NewPipeExtractor - basically you need to parse the html of your service (or find working urls which could return the relevant information in JSON or XML). And do it for at least to cover: