Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

live videos #1098

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from
Draft

live videos #1098

wants to merge 4 commits into from

Conversation

andrisas
Copy link
Contributor

added live videos to subs_drawer

@drogga
Copy link
Contributor

drogga commented Aug 3, 2022

@andrisas This "Live videos" button has no place and shouldn't be there (in the "Subscriptions" side panel), please move it to a tab instead, it's also kind of useless currently, because live videos do stop playing after ~4 seconds...

Request:
There's a reason on why I'm keeping the "Try newer Video formats" option - off (mentioned exactly why many times in diff. issue tickets, the reasons are a couple), but I have to enable it often for videos that do not play otherwise (and live streams - which are being auto-stopped), so can you please add an easy accessible button somewhere in the main UI for that option ?, so I won't have to go to Preferences>Video Player and enable / disable that option constantly, the button can be placed somewhere in the upper right corner, like before or after the "Video Blocker" one (which is useless for/to me and only takes space there), or in the 3-dots drop-down, where the "Enter Video URL" and "Preferences" are placed/located.

Thanks in advance ;)

@gzsombor
Copy link
Member

Sorry @andrisas if you were waiting for response from me, I was a bit occupied, and as it was marked as draft, I thought, you might be not finished with your changes.
Nonetheless, generally I like the idea, and I'm not against having a special link in the subscription slider - some layout adjustment probably needed, and probably a separate tab would be even better - but I totally understand, why haven't you started with that.
The biggest question, why all the live videos are stopping after a couple of seconds? We must have configure something incorrectly for DASH streams. Or we can say, currently we are just picking up 1-2 URLs and giving it to ExoPlayer and hope the best. Which is clearly not enough. If you look into NewPipe, it's stream selection, downloading, caching mechanism is much-much-much more complex, which we need to copy/imitate somehow. Maybe, we can extract their solution into a library and use it. I mean, the whole network manager, parser and ExoPlayer configurer stuff. The most optimal would be to convince the NewPipe devs to refactor their code in this way 😉
But I can hardly find any convincing argument, how NewPipe would benefit from that 😿
I tried something similar a couple of years ago, but I haven't finished it - mostly, because refactoring a code, which I barely know is much harder, slower and more error prone - and I also feared, that maintaining it - constantly porting bug fixes, enhancements from NewPipe would be an even bigger challenge for.

@andrisas
Copy link
Contributor Author

The biggest question, why all the live videos are stopping after a couple of seconds? We must have configure something incorrectly for DASH streams.

This is the primary reason why this pr is draft but i am not that familiar with how DASH works

Maybe, we can extract their solution into a library and use it. I mean, the whole network manager, parser and ExoPlayer configurer stuff. The most optimal would be to convince the NewPipe devs to refactor their code in this way

I think we could use this library instead of using code from newpipe (i have not tried it) or we could use the official youtube android player api but it needs an api key

@gzsombor
Copy link
Member

The biggest question, why all the live videos are stopping after a couple of seconds? We must have configure something incorrectly for DASH streams.

This is the primary reason why this pr is draft but i am not that familiar with how DASH works

Neither me, and the ExoPlayer documentation about is not too verbose: https://exoplayer.dev/dash.html

Maybe, we can extract their solution into a library and use it. I mean, the whole network manager, parser and ExoPlayer configurer stuff. The most optimal would be to convince the NewPipe devs to refactor their code in this way

I think we could use this library instead of using code from newpipe (i have not tried it) or we could use the official youtube android player api but it needs an api key

I haven't seen this Android-YouTube-Player, interesting idea to embed a webview with the official player, I have to say!
My concerns/questions:

  • will it play the advertisements too, just like the official website plays? I would rather not see any Youtube Ads, and Sponsorblock would be also nice to keep.
  • how customizable can be? And what parts are driven by Youtube? - I mean, based on the github issues, users had problems that the player has changed from one day to another
  • Can it also play downloaded videos?

If not, we could keep it only for live videos...

Are you aware, that as of now, SkyTube Extra can embed the official Youtube Player too? I haven't checked that for years, but it's there.

@andrisas
Copy link
Contributor Author

will it play the advertisements too, just like the official website plays? I would rather not see any Youtube Ads, and Sponsorblock would be also nice to keep.

it will not play ads

how customizable can be? And what parts are driven by Youtube? - I mean, based on the github issues, users had problems that the player has changed from one day to another

according to the documentation it can be customized

Can it also play downloaded videos?

no

Are you aware, that as of now, SkyTube Extra can embed the official Youtube Player too? I haven't checked that for years, but it's there.

it works with live videos but it does not support sponsorblock, playback speed changes, like/dislike counter, comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants