-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
NewPipe ports on other platforms #1051
Comments
I have this idea my self, I guess it's on everyone's mind. @theScrabi IDK how you wrote the code for parsing and all, I believe it is not generic and can be applied to non-Android applications, why can't we go ahead and build one for the desktop using JavaFX or SwingX? |
I just thought it would not be possible but I miss an application like that, especially because the official website of YouTube is very slow for old computers (like the one I have). Now, the problem is if in case they manage to carry this application to the desktop, will require low resources? |
anyway I think we should first think about this when newpipe for android is already mature enough and with all the promising features that are yet to come (including subtitles, livestream, etc) to think of something even bigger, and enough bugs there is here to think about developing more bugs 😂 |
It is possible. In fact NewPipe is designed to work on multiple systems. What you would need to do is embedet the NewPipeExtractor in your code. |
If someone is willing to develop it than develop it :D. Just because some people fix the bugs it does not mean all have to do it. |
I saw that example before, but I was thinking about literally the same application of newpipe into a computer, that may cost a bit more? Or is it easier to think about developing a gui for np-cli from scratch with qt or something similar? |
It's true, I take it back 😂 |
@speednroll To answer your question "Now, the problem is if in case they manage to carry this application to the desktop, will require low resources?" |
Another option was of cource to write a NewPipe WebApplication. That works with a REST frontend for the NewPipeExtractor. |
@phly95 There's already an app for desktops. It's called Youtube-dl and it has a GUI frontend. I personally use it with a player called mpv to play videos directly on my screen but its mostly for downloading the video and/or audio. It's a lot more mature than Newpipe and thus works more reliably. |
I know about youtube-dl :D I took it code examples from it to write NewPipe. But as you said yt-dl is mostly for downloading. NewPipe is or should be a full blown client. |
There is an app called SMplayer that does youtube, though newpipe has far surpassed it in terms of features, as SMtube has little to no integration with playlists and audio streams etc. |
Meybe minitube can be tweaked by us |
Hi there everyone! If posts like this aren't allowed, please let me know and I'll gladly remove it. I've been keeping an eye on the topic of a desktop YouTube client from various places and I've noticed the demand for something like this (especially since I've been wanting something like this myself). I wanted to wait a little bit longer before I mentioned anything, but since the topic is fresh, I'd like to show a few things to everybody. I'm currently working on a privacy minded YouTube client for desktop that aims to accomplish a similar goal to NewPipe. I've decided to call it FreeTube and my plan is to Open Source it once the core functionality is finished. The app is built using Electron and uses the YouTube API to acquire data. It doesn't look like the NewPipe Extractor supports Electron but I would be interested in implementing it in the future if I'm wrong. Here are a few pictures with some information as a proof of concept: I hope that anyone interested in making a desktop client would like to help me out when I get this released. The plan is to have it ready for initial release in a few weeks. Thanks! |
in my opinion, Electron is slow, it is reserved only for computers with mid and high resources. in that case I prefer to use the official YouTube page instead, since both would require the same amount of resources. one of my first reasons why I search alternatives like newpipe is how lightweight it is. |
I can't argue with that too much. I understand that a few people have issues running Electron on their machines due to the resources that it uses. While I am trying to keep it as fast as possible, my main goal with this application is privacy. If my application runs at about the same speed as YouTube, but delivers a more private browsing experience, then I feel like I was successful. I hope to do better than that of course but I'll have to see what happens when I get there. Regardless, I respect your opinion and I understand why you think that. |
@PrestonN isn't electron just some reshaped chrome browser? So what you are working on is essentially a website that is running as a desktop app? Am I right? So point is @speednroll is right when he says that electorn is slow. However I thought about having some sort of NewPipe website. Maybe then what you are working on could be interesting. Honestly I like it already :D For the connection betwean FreeTube and the NewPipeExtractor we could use the REST Api for the NewPipeExtractor that I suggested erlyer, and which I'm willing to implement once multyservice turns out to work well :) |
@theScrabi you are right in that Electron is a desktop wrapper based on Chromium. I do believe that they remove a few things from base Chromium in order to help it run faster, but I'm not 100% certain. The main reason I'm using Electron versus a website is that the audience that I'm targeting will most likely remove cookies from their browsers fairly often, if they save them at all. This will make it difficult for them to save their subscriptions without creating some sort of account. I'd assume that this is a big reason as to why similar websites such as HookTube do not include such a feature. Electron allows me to save data such as subscriptions to the user's local storage without having to store cookies through the browser. This helps keep it separate from their browsing history and prevents any trackers that may occur. Using the REST API for the NewPipeExtractor sounds promising. I'll definitely want to take a look at it once it's ready on your end. My plan for an initial release is to keep going in my current direction but I'd love to take a look at it later in the future. |
Maybe the Linux version could be built as an Appimage. @probonopd might know |
Is there a Linux version @Serkan-devel? Where can we get it? |
@probonopd it should be packaged as one first |
But, if you think about it... what's the whole point of building a desktop version... we use NewPipe cause we can play it in background and pop-up player... No tracking. I don't think it'll pan out good, it's better if we keep making this app better just my thought guys. |
@Hashik-Donthineni you may use it this way. I'm not, so I was happy to see a desktop/web version however we need more developer. So that the once that develop the android app can continue to make it better. I agree to U on that point :) |
I am a little bit confused since I was under the impression that this was a native Android (Java) app. I don't know how to package Android apps for Linux desktops (besides shipping a full Android emulator/VM, which I'd consider overkill). |
@theScrabi would it be feasible to package the Newpipeextractor with a cross-platform qt-frontend for desktop use? |
yes, in fact I've been working on embedeting java into cpp applications. However I would recomend to use it as a seperate programm. Here this gist will create an executable with included openjdk and avian JVM, however I think atm its failing because I couldn't get proguard running. On an x86_64 linux machine with java8 installed you may want to run make |
Here's a link to FreeTube because it wasn't linked so far. Gonna give it a try :) |
@PrestonN FreeTube is ultra awesome 😍. I Would love to see a NewPipe version of it :D. |
@theScrabi thanks for the kind words, it means a lot coming from you. :) There's still a ton a work that needs to be done with it. It's missing a few key features that people would expect something like FreeTube to have if it was a stable release. Regardless, the features it does have seem to work well and I've been very pleased with the response it has had so far. I would love to get the NewPipe Extractor working on FreeTube as I'm currently stuck with the YouTube API for now. Let me know if there's anything I can do to help/test with it. |
Instead of a complete rewrite or building a desktop version, how about using a common filesystem format with FreeTube so that freetube can be the desktop counterpart? And data can be synced between the two apps using syncthing or any other filesystem based syncing software. Maybe both NewPipe and FreeTube can implement a DecSync backend so users can just sync between the two apps using syncthing |
@BeatLink this was discussed a few replies above. |
It might be possible to run android apps in Windows 11 |
Looks like Windows support's coming after all (albeit unofficially) |
For iOS users, check out Yattee, it looks to be a great alternative developing quickly! |
Why don't we just use Flutter for all platforms 🤔? |
Why is my Flutter hint minimized? I'm honest to that suggestion. We develop desktop apps for linux, mac and windows and have professionel solutions made with Flutter. |
Sorry, your comment is not minimized anymore. We do not want to use Flutter, as we do not have the bandwidth (too few developers very busy) to rewrite everything from scratch (the codebase has a strong integration with Android specific APIs), nor to support other platforms. It would also probably not bring anything better for the Android app: increase the Android app size a lot more, which is something we want to avoid (there is lightweight in the app description sentence 😅). See also discussions in #10118. An unofficial port for Linux of the app has been released with our consent on Flathub, using Android Translation Layer: see #11597. |
Awesome! Thanks for your links. I'll try to dig into this more :). Hava a wonderful weekend! |
If NewPipe is ported to another platforms, that would'nt go right at all. NewPipe in landscape mode is a very bad experience, as today's smartphones aspect ratio increased beyond 2:1. On a computer with 16:9 aspect ratio, it might work fine. But it's still a bad experience. |
This is nonsensical. Just because one implementation can't do HW accel since it's non-native, it does not follow that all possible implementations will have the same problem. Simply using an external player like mpv gives you free HW accel, and I distinctly recall at least one QT-based youtube client that does this and many, many TUI-based ones that do. |
@paulie-g You can simply use yt-dlp as a backend to play everything in your favorite player that supports HW acceleration. NewPipe can't be that another port because it is by ground designed as a smartphone YouTube alternative with vertical touch based UI. You can infact try to use NewPipe right now, with the help of emulators such as BlueStacks, waydroid or even bare metal ChromeOS / AOSP on the desktop. You would come to a conclusion that this project isn't that optimised for a desktop experience with a keyboard/mouse IO. Devs have to rewrite everything from scratch anyways. I would rather suggest Piped or Invidious devs to implement NewPipe extractor locally. Because YouTube is cracking down all the Piped/Invidious public servers as of now. |
I know what I can do, this is not a reddit how-to question. I don't care about the frontend.
Porting the extractor is what I advocated for. Sharing it across all projects would mean paying the cost to maintain it with YT changes once. A lot of projects can benefit, but very few are prepared to lumber themselves with the JVM and the extractor isn't even a standalone lib. Hence the 'please port the extractor'. |
This app is great, and I would love to have it on my Windows PC, especially with some features that do not officially exist on the browser version, such as shuffling all videos on a single channel and playback without loading the video (as to not waste data).
The text was updated successfully, but these errors were encountered: