vuetubeapp / vuetube Goto Github PK
View Code? Open in Web Editor NEWA simple FOSS video streaming client aimed to recreate ALL features from their respective apps (and more)
License: GNU General Public License v3.0
A simple FOSS video streaming client aimed to recreate ALL features from their respective apps (and more)
License: GNU General Public License v3.0
### Aspect 1
Problem
User can create playlists, but they are maintained in a single level of hierarchy. So if the user has a large number of playlists, then it would be difficult to find one desired playlist among them. It is doable on the desktop because we can use Ctrl+F to find the desired playlist. However, on the mobile app, the user must scroll through a large number of playlists to find the desired one.
Solution 1.1: Folder structure
The user would have an option to create folders and subfolders among the playlists. All the existing playlists would be present in root folder by default. If the user creates folders and subfolders, then the playlists can be moved to any folder or subfolder. Songs can be added to a playlist, but songs cannot be added to a folder or subfolder. The playlists would be accessible on the desktop or any other device. However, the folder structure would not be accesible anywhere else outside of VueTube. An example of a folder hierarchy can be [Song Language] > [Song genre] > [Song artist] > [Song album].
Optionally, the user can export the current playlist database, including the playlist name and URL, the video name and URL, and the folder hierarchy. This can be used to recreate the folder structure on a desktop browser by using an extension or a userscript (if anyone wishes to pursue it). Otherwise the exported database can be useful as a simple reference.
Solution 1.2: Better search
Suggested search filters are listed below:
[1] Upload date: Specify exact date, or a range between start and end date
[2] Type: Video or playlist or others
[3] Duration: Specify exact duration, or a custom duration range
[4] Features
[5] Sort by
[6] Limit to my channel [Enter any other channel name or exact ID]
[7] Limit to playlists of my channel [Enter any other channel or exact ID]
When channel limiting is selected, the default input would be the personal channel name of the user. The user can remove it and add any other channel name. When the user starts typing a channel name, he would be dynamically shown partial matches from his subscribed/followed channels. Optionally the user can also type the groupname for a group of channels (as described in #28). If there is no match among his personal subscriptions/followed channels, then it would wait till the user completes typing, and then search for it on YouTube.
The option '6 - Limit to my channel' would allow the user to search for video name / playlist name among his uploaded videos/created playlists.
The option '7 - Limit to my playlists' would allow the user to search for video name / playlist name among his created playlists.
(Note: When user select search filter type = playlist, then option 7 can be hidden, because it becomes duplicate of option 6. However, this is not strictly necessary.)
### Aspect 2
Problem
When user wants to add a video to an existing playlist, it shows all playlists created by the user. It is fine when there are few playlists. But when there are a large number of playlists, it becomes very cumbersome to scroll down and find the correct playlist.
Solution 2.1: Folder structure
When user wants to add a video to a playlist, he is shown a tree view of all folders (all trees are initially collpased by default). So the user only sees the playlists located in the root folder, and the folders present in the root folder. The subfolders are hidden in the first view. Then the user can expand any one folder, and all the subfolders will be listed below the selected folder. Thus the user can sequentially expand folders and subfolders to locate a playlist more easily. This is the same as windows file explorer, where folder structure helps us to locate a file easily, and it would be much harder if we needed to locate a file among a large list of all files.
Solution 2.2: Better search
When user wants to add a video to a playlist, he clicks on the button 'add to playlist'. It shows a list of all playlists, and an empty search filter (text field) on top of the playlists. Then the user starts to type the desired playlist name in the search field. Accordingly, the playlists are dynamically filtered, and a small subset of playlists are shown. User chooses one or more playlists where the video would be added.
Is your feature request related to a problem? Please describe.
No, it is not related to a problem. Just a QOL setting.
Describe the solution you'd like
A toggle in settings that shows the time that the video is finished. (customizable options, ex. 24 hour time, pick timezones)
Describe alternatives you've considered
No alternatives, but remembered seeing an extension that does this (can't find it though)
Additional context
Nothing.
Describe the bug
I installed VueTube latest stable build on my phone. And every main screen says Incomplete
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I should see the videos I guess
Device Information
/youtubei/v1/browse
endpointNot using VueTube
This is just a template issue to track progress of a promised feature, Google account sign in. Current and future users of VueTube can to this issue to be notified to any comments and changes related to this feature.
This issue is a bit of a misnomer since Google sign-in does not mean one can access YouTube's private API, but it's what most people want from a Google sign-in feature, hence the issue's name.
It would be great if VueTube had a feature like changing the playback speed of a video to x3 or x4 etc.
Is your feature request related to a problem? Please describe.
The problem of not being able to filter the home feed by topic to make sifting thru it much easier, and watching videos on topics quicker and more convenient
Describe the solution you'd like
A bar similar to YouTube's filtering bar (see image).
Describe alternatives you've considered
There is no alternative
I noticed even if I turned on Remove Animations in Accessibility, pressing buttons are still the same speed as Remove Animations turned off.
Could you also make a sister app to this for YT music
Just kidding. I look forward to the future of this project. Thank you for the hard work thus far. With Sponsorblock, Google sign-in, and a clean interface, I'll be completely on board.
The Android back action is not working in the search page.
Exit the search page and return to the previous page (the one where the person was on before)
Does nothing.
Everything's in the title.
Is your feature request related to a problem? Please describe.
User is shown a lot of recommended videos as soon as he opens the app. This often distracts the user and causes him to waste a lot of time. So users often search for a way to reduce distractions. For example, see these concerns voiced by the user.
Describe the solution you'd like
Let user create groups of channels from his subscriptions. Each channel group can comprise multiple channels.
For example, the user can create a science group of channels, a music group of channels, a news group of channels, and so on.
Then the user can select a custom group for the homepage, such that homepage shows only those recommended videos which belong to the chosen group.
The user is also given an option to customize a starting screen. The user may choose not to have any starting screen, or else he may choose to have a starting screen with customized options. For example, the starting screen may show:
What do you want to see?
1) Focus Mode | 2) Search |
3) Science | 4) Music |
5) News | 6) All |
If the user selects (6 - All) then all the recommended videos of homepage are shown without filtering.
If the user selects (3 - Science), then the recommended videos of homepage are filtered to show the science videos only.
If the user selects (2 - Search), then he would be shown a blank page with search bar, so that he is not distracted by anything else.
If the user selects (1 - Focus Mode), then he sees some videos on ambient sound. If he clicks on one of the videos, then it would begin to play in a loop. This can be helpful for the user to focus on a work.
Optionally, there can be a pomodoro timer to help the user focus on his work in a timely manner. For example, see this pomodoro timer.
Optionally, there can be a task list that shows the current task which the user wishes to focus on.
Optionally, the user can play multiple ambient sounds together, similar to Ambie, which is shown below.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Is your feature request related to a problem? Please describe.
Sometimes a video has bad aspect ratio, and users want to manually change the aspect ratio.
Describe the solution you'd like
There should be a setting to change the aspect ratio of videos.
For example,
(1) default,
(2) increase height to 110%,
(3) increase height to 125%,
(4) increase height to 150%,
(5) increase width to 110%,
(6) increase width to 125%,
(7) increase width to 150%,
and so on.
The default ratio is chosen for every video, unless the user manually chooses a different aspect ratio for any particular video.
Describe alternatives you've considered
The aspect ratio of YouTube videos can be modified by using Chrome extensions such as this one.
Describe the bug
When scrolling and reaching the end, the entire interface stretches.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Only the scrollable part should have the stretch effect. Not the top and bottom bar.
Screenshots
Screen recording
Device Information
Maybe a support for SoundCloud?
Would be handy to use
Is your feature request related to a problem? Please describe.
Extra system integration is always nice, a setting to make the app follow material you colors instead of the default would be a nice feature to see later on.
Describe the solution you'd like
Add a setting in appearance to follow material you theming, and change colors accordingly.
Describe alternatives you've considered
Color picker
Additional context
N/A
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [i open the default YouTube app and it opens up to the "what to watch" page instead of my subscriptions page]
Describe the solution you'd like
A clear and concise description of what you want to happen.
I would love to be able to select which page do the app open upon startup, one user might like the default "what to watch", and another user might just be interested to open their Playlists page.
But i most often just want to know what new videos the channels that I'm subscribed to, have uploaded since the last time I looked at them.
Downloading videos is possible, but why not download audio only?
Describe the bug
The majority of the text present in the app can be selected.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
When long pressing any text, it should not be selected as it is not an input field.
Screenshots
Screenshot
Device Information
Additional context
Does not only apply on the home section.
Problem
YouTube allows current user to save/subscribe to an existing playlist by a different user (or the original user). However this playlist belongs to the original user and cannot be modified by the current user. So if the current user wishes to add some more videos to this playlist, he must manually duplicate the playlist. I think there should be an easy way to copy a playlist.
Solution
VueTube can give an easy option to duplicate/copy a playlist owned by a different user, such that the copied playlist belongs to the current user. The current user can edit the playlist and reorder the videos or remove any video if he wishes.
Optionally, the URL of the original playlist is noted down in the description of the copied playlist. For example, Description: "This playlist was copied from URL: https://www.youtube.com/playlist?list=PL3AgYAEOLiEAozhobOHd6oI2MD_AraU6B on Date: 14 March 2022".
Optionally, VueTube can show a sync button for these copied playlists. If user clicks on the sync button, then VueTube will check the original playlist URL and show a message to the user: "The original playlist has five extra videos, listed below. Do you want to add any of these to your playlist?"
Describe alternatives you've considered
Currently, we need to manually copy the playlist, one video at a time.
Additional context
This can be helpful when we see an existing playlist by a different user, and we wish to make some modifications on it.
Title.
Since you plan to add other platforms to support, why not Peertube? It's similar to YouTube.
Like how you change the video resolution (144p, 240p, 360p) you can change the audio bitrate (64kbps, 128kbps, 192kbps).
Add Newpipe feature that can be added like download video to gallery plus I also want to be contributer for project can you add me as a contributer
Hi guys,
Vuetube seems like a great project and imho is the future of youtube on android.
Please consider that data caps are a huge issue in many parts of the world. Youtube's stock app was absolutely awful when it came to selecting default resolutions for wifi and mobile (mostly using unnecessary amounts of data on mobile while offering unreasonably low resolutions on Wifi where data usage is less of an issue).
Vanced had this feature down: simply enable a set resolution for wifi vs. mobile.
Please implement this in exactly the same simple and transparent way Vanced did.
BTW: is there a way to support this project with donations?
Upon full restarting the app, your theme resets
Problem
Many YouTube videos have different levels of loudness. If a user is listening to several music videos in low volume, but a subsequent video has abruptly high volume, then it creates an unpleasant situation for the user. So it would be preferred to normalize the volume of all videos that are playing sequentially.
Solution
When user plays a video from a playlist, or if videos are auto-played, VueTube can compute the ReplayGain of the upcoming video, such that the next video has the same level of loudness.
Alternative
I use Foobar2000, and use the foo_youtube component to add multiple YouTube videos in the form of a playlist, and use the ReplayGain scanner to normalize the volume of all videos in the same playlist, as shown below.
Is your feature request related to a problem? Please describe.
No, this is a proposed feature to add functionality
Describe the solution you'd like
On media, there should be an option to download audio (and video if applicable)
Describe The Bug
The buttons aren't affected even when you turn on Remove Animations.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
UI supposed to be affected by Remove Animations.
Screenshots
Can't video capture
Device Information
Is your feature request related to a problem? Please describe.
Yes because most of people want to see what has changed in most of vuetube versions
Describe the solution you'd like
Add changelogs so people can see what you added/removed/changed in vuetube
Describe alternatives you've considered
No
Additional context
No
Like obviously this is the last thing ever to be even considered I'm sure but it would be amazing if you got a VR version of this app for the quest and cause the quest is like a android phone I can see this working almost right out of the box :)
The readme only specifies things that are planned to be added. Is there anything that you might find in Vanced/etc you won't add? If so, perhaps they should be added to the readme.
I envision something like a Subscribe button which would allow to activate ads for a specific channel so that good creators can still earn through ad revenues. This would probably work much like AdBlock's option to add channel specific ads but with a better UI. Here is the adblock version for reference:
What I envsion is something like this:
Could you add all of the features Vanced has as well as being able to log in with Google account?
Consider adding the app to fdroid.
A feature which is beneficial. Like the dislike counter, removed by YouTube.
I want video pip without stopping the video and when you are in the app and go to homescreen to open pip automatic
Is your feature request related to a problem? Please describe.
I am unable to figure out how to install this project.
Describe the solution you'd like
Adding a guide to the readme
Describe alternatives you've considered
I've tried the android artifact in actions, I'm unable to install
Is your feature request related to a problem? Please describe.
i (e.g. some average normie user) don't know where i should go download the thing
i heard that i need to go on the discord server to download the releases
i (e.g. some user) would need to sign up for discord to join the server to even download this thing.
too many unnecessary services to sign up to to even download this thing. tbh it can be better (it can be 0).
Describe the solution you'd like
create github releases
Describe alternatives you've considered
git tagging and taking output from the github action (possible it will require a github account)
Is your feature request related to a problem? Please describe.
No. It's just a suggestion.
Describe the solution you'd like
An option where you can turn youtube shorts off.
As the title says. I unable to find other links to Discord server in README.md other than the badger.
Describe the bug
The OLED dark mode is not staying when restarting the app.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
When launching the app, the theme should be in oled mode
Device Information
Problem
A dislike counter is very helpful to understand whether a video is good or bad. It would be even more helpful if we could see the like/dislike ratio before clicking on a video. I suggest adding a like/dislike ratio bar below the thumbnails of video recommendations.
Solution
There should be a like/dislike ratio bar, as shown in the images below:
Source: Firefox addon
Source: Chrome extension
Alternatives
This GitHub repository contains the source code for desktop browser extensions that can show a ratio bar below the video thumbnails. This extension uses the Return YouTube Dislike API for likes/dislikes data.
Problem
Sometimes the user plays from a music playlist when he sleeps at night. After he falls asleep, the music continues to play until the battery dies. This is problematic.
Solution
There should be a sleep timer, where user can customize the time after which music should stop playing.
For example, Poweramp music player has a sleep timer, where user can choose the time, as well as whether the last song should be played till end. Listen audiobook player has a more advanced sleep timer, where the sleep timer is only activated if it is played during the sleep hours (customizable), and the sleep timer can be reset by motion sensor.
Poweramp music player | Listen audiobook player |
---|---|
![]() |
![]() |
Describe alternatives you've considered
Currently I use MacroDroid to forcibly stop YouTube if the motion sensor is not tripped for 45 minutes during night.
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Sponsorblock integration so I can automate fast fowarding sponsored segments.
Describe alternatives you've considered
There's no alternatives to sponsorblock at the moment.
Additional context
None.
Is your feature request related to a problem? Please describe.
Users often create playlists of videos, but problem arises when any video in the playlist gets deleted or made private. It is very hard to find the title of the deleted video so that user can search an alternate video with a similar name.
Describe the solution you'd like
Suggestion 1:
VueTube can keep a local database where details of all videos in user playlists would remain stored. This database can store the title, the URL and the description of listed videos, as well as likes/dislikes/comments made by the user. The playlist database would be updated from time to time. When a playlist item is deleted or made private, then the local database is used to show the title and description of the deleted video.
Suggestion 2:
Suppose that some videos in user playlist had been previously deleted (say in 2021), and VueTube does not have a local database containing the video details. Then VueTube can use a service such as Filmot Title Restorer (UserScript, GitHub) to show the title of the deleted video.
Describe alternatives you've considered
I use Google Take Out on a periodic basis to keep a record of videos in my playlist. But this is cumbersome.
Additional context
This would help the user to know which video got removed from playlist, and would be helpful for finding alternate versions of the removed video.
Is your feature request related to a problem? Please describe.
I'm sure many people have encountered the problem with click bait videos and channels. These videos often game the youtube search and recommendation algorithm and gets pushed to users. Some channels are full of propaganda and fake news which users would like to block from recommendation and search.
Describe the solution you'd like
Ability for a user to add a certain video or channel to a local exportable block list that prevents videos / videos from a channel from being displayed in recommendations and search. There is actually a working version of a chrome addon that does exactly that and more here : https://chrome.google.com/webstore/detail/blocktube/bbeaicapbccfllodepmimpkgecanonai
Sadly, the above addon does not work on apps and it would be great if this function can be added to this new open sourced app.
Describe alternatives you've considered
Youtube does not offer this full functionality, and delegates this problem to a "Do Not Recommend" function which does not solve the issue. Youtube app itself does not have this functionality too.
Additional context
None.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.