Giter Site home page Giter Site logo

teamnewpipe / newpipe Goto Github PK

View Code? Open in Web Editor NEW
28.5K 594.0 2.9K 74.99 MB

A libre lightweight streaming front-end for Android.

Home Page: https://newpipe.net

License: GNU General Public License v3.0

Java 84.30% HTML 2.50% Kotlin 13.19%
youtube-video video newpipe watch translation download-videos android soundcloud peertube bandcamp

newpipe's Introduction

We are planning to rewrite large chunks of the codebase, to bring about a new, modern and stable NewPipe!

Please do not open pull requests for new features now, only bugfix PRs will be accepted.

NewPipe

A libre lightweight streaming front-end for Android.

Get it on F-Droid


ScreenshotsSupported ServicesDescriptionFeaturesInstallation and updatesContributionDonateLicense

WebsiteBlogFAQPress


Read this document in other languages: Deutsch, English, Español, Français, हिन्दी, Italiano, 한국어, Português Brasil, Polski, ਪੰਜਾਬੀ , 日本語, Română, Soomaali, Türkçe, 正體中文, অসমীয়া, Српски

Warning

THIS APP IS IN BETA, SO YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE IN OUR GITHUB REPOSITORY BY FILLING OUT THE ISSUE TEMPLATE.

PUTTING NEWPIPE, OR ANY FORK OF IT, INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.

Screenshots



Supported Services

NewPipe currently supports these services:

As you can see, NewPipe supports multiple video and audio services. Though it started off with YouTube, other people have added more services over the years, making NewPipe more and more versatile!

Partially due to circumstance, and partially due to its popularity, YouTube is the best supported out of these services. If you use or are familiar with any of these other services, please help us improve support for them! We're looking for maintainers for SoundCloud and PeerTube.

If you intend to add a new service, please get in touch with us first! Our docs provide more information on how a new service can be added to the app and to the NewPipe Extractor.

Description

NewPipe works by fetching the required data from the official API (e.g. PeerTube) of the service you're using. If the official API is restricted (e.g. YouTube) for our purposes, or is proprietary, the app parses the website or uses an internal API instead. This means that you don't need an account on any service to use NewPipe.

Also, since they are free and open source software, neither the app nor the Extractor use any proprietary libraries or frameworks, such as Google Play Services. This means you can use NewPipe on devices or custom ROMs that do not have Google apps installed.

Features

  • Watch videos at resolutions up to 4K
  • Listen to audio in the background, only loading the audio stream to save data
  • Popup mode (floating player, aka Picture-in-Picture)
  • Watch live streams
  • Show/hide subtitles/closed captions
  • Search videos and audios (on YouTube, you can specify the content language as well)
  • Enqueue videos (and optionally save them as local playlists)
  • Show/hide general information about videos (such as description and tags)
  • Show/hide next/related videos
  • Show/hide comments
  • Search videos, audios, channels, playlists and albums
  • Browse videos and audios within a channel
  • Subscribe to channels (yes, without logging into any account!)
  • Get notifications about new videos from channels you're subscribed to
  • Create and edit channel groups (for easier browsing and management)
  • Browse video feeds generated from your channel groups
  • View and search your watch history
  • Search and watch playlists (these are remote playlists, which means they're fetched from the service you're browsing)
  • Create and edit local playlists (these are created and saved within the app, and have nothing to do with any service)
  • Download videos/audios/subtitles (closed captions)
  • Open in Kodi
  • Watch/Block age-restricted material

Installation and updates

You can install NewPipe using one of the following methods:

  1. Add our custom repo to F-Droid and install it from there. The instructions are here: https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/
  2. Download the APK from GitHub Releases and install it.
  3. Update via F-Droid. This is the slowest method of getting updates, as F-Droid must recognize changes, build the APK itself, sign it, and then push the update to users.
  4. Build a debug APK yourself. This is the fastest way to get new features on your device, but is much more complicated, so we recommend using one of the other methods.
  5. If you're interested in a specific feature or bugfix provided in a Pull Request in this repo, you can also download its APK from within the PR. Read the PR description for instructions. The great thing about PR-specific APKs is that they're installed side-by-side the official app, so you don't have to worry about losing your data or messing anything up.

We recommend method 1 for most users. APKs installed using method 1 or 2 are compatible with each other (meaning that if you installed NewPipe using either method 1 or 2, you can also update NewPipe using the other), but not with those installed using method 3. This is due to the same signing key (ours) being used for 1 and 2, but a different signing key (F-Droid's) being used for 3. Building a debug APK using method 4 excludes a key entirely. Signing keys help ensure that a user isn't tricked into installing a malicious update to an app. When using method 5, each APK is signed with a different random key supplied by GitHub Actions, so you cannot even update it. You will have to backup and restore the app data each time you wish to use a new APK.

In the meanwhile, if you want to switch sources for some reason (e.g. NewPipe's core functionality breaks and F-Droid doesn't have the latest update yet), we recommend following this procedure:

  1. Back up your data via Settings > Content > Export Database so you keep your history, subscriptions, and playlists
  2. Uninstall NewPipe
  3. Download the APK from the new source and install it
  4. Import the data from step 1 via Settings > Content > Import Database

Note: when you're importing a database into the official app, always make sure that it is the one you exported from the official app. If you import a database exported from an APK other than the official app, it may break things. Such an action is unsupported, and you should only do so when you're absolutely certain you know what you're doing.

Contribution

Whether you have ideas, translations, design changes, code cleaning, or even major code changes, help is always welcome. The app gets better and better with each contribution, no matter how big or small! If you'd like to get involved, check our contribution notes.

Translation status

Donate

If you like NewPipe, you're welcome to send a donation. We prefer Liberapay, as it is both open-source and non-profit. For further info on donating to NewPipe, please visit our website.

Liberapay Visit NewPipe at liberapay.com Donate via Liberapay

Privacy Policy

The NewPipe project aims to provide a private, anonymous experience for using web-based media services. Therefore, the app does not collect any data without your consent. NewPipe's privacy policy explains in detail what data is sent and stored when you send a crash report, or leave a comment in our blog. You can find the document here.

License

GNU GPLv3 Image

NewPipe is Free Software: You can use, study, share, and improve it at will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

newpipe's People

Contributors

audricv avatar avently avatar b0pol avatar comradekingu avatar edcaron avatar fredman95 avatar gregarkhipov avatar isira-seneviratne avatar kapodamy avatar karyogamy avatar krlvm avatar litetex avatar mauriciocolli avatar medavox avatar naofum avatar nautilusx avatar redirion avatar s8321414 avatar santossi avatar stypox avatar tacothedank avatar thescrabi avatar theta-dev avatar tobigr avatar triallax avatar wb9688 avatar weblate avatar xiangronglin avatar yarons avatar yausername avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

newpipe's Issues

Cannot play audio m4a audio stream

I tested on Nexus S with CM 11. Cannot play audio streams; dialogue asks me to install org.videolan.vlc but I have it installed. If I set audio format to webm and restart the app the VLC for Android opens as expected.

I tested on Nexus 7 with CM12.1. Dialog appeared telling me to install VLC once but I tried again and all streams play. Left format at m4a this time.

New icon

While NewPipe app interface follows Material Design, its icon doesn't and seems NewPipe needs a new icon. I'm not a designer, just suggesting an idea so I quickly made a sample icon below. Also when you launch NewPipe app, big ugly playback symbol appears on the screen. Instead NewPipe needs a new modern logo or NewPipe can just simply display the list of recommended videos just like YouTube app. I highly recommend the second one.

icon

Download icon.svg.png and change '.png' extension into '.svg' to get an original SVG file.

Orbot support

Heya, Mr tinfoil hat wearing privacy guy here.
Could you (perhaps later down the road) add support for orbot? Even though the app is open-source, Google is still receiving querries from your IP and so it'd be nice if newpipe supports orbot.
After all, the main reason of not using Gapps is to avoid Google's data mining.

I'd recommend a dropdown menu "orbot support" "disabled,enabled,forced"
Where forced will not allow a connection to be made unless orbot is running.

Full landscape rotation

Currently rotation to landscape seams to only work one way, so when I'm at my desk with my charger plugged in the video is locked upside down.

It would be great if the rotation could be enabled for both ways of holding the phone.

Network Error

On Android 4.2.1, no Google account or tools. If I open NewPipe and try to search for anything, I get a toast message saying "Network Error", and nothing else happens, apart from the little spinning circle going on forever.

If I tap on a video on the YouTube website, mobile version, Firefox, screen goes blank and that's it. If I switch to desktop version it works (in the browser, not in NewPipe). Not sure if this is related, thought I would mention it anyway.

You broke it

Hi

I was using 0.3 for couple days. It looked like it was playing uvideos fine. I just upgraded to 0.3.5 and nothing plays anymore. I tried the exact same videos that I played with the previous version.

I am on CM Android 4.4.4 and I do not have any Google apps installed. I am using the F-Droid version.

thanks

External player

When using vlc media player it shows the url as the name. Is there any way you could make it show the name of the video instead? If so, you might also be able to change 'unknown artist' to the name of the channel.

Also, thanks for making this app! You're awesome

[Feature request] background pause and play

I like the app very much already. Thank you very much 👍

Though I still like to request a feature that allows pausing or playing videos in background. Currently videos stop playing completely if I switch to another app and videos start again from beginning after switching back to NewPipe. It would be nice if videos paused or played in background. Best would be if it was possible to select one out of both options - pause or play in background - in settings menu.

Audio only option

With DASH you have separate audio and videos streams. So if a user only wants to listen to something the app could save bandwidth by providing only the audio stream.

[FR] Favourites aka bookmarks

As long as the app doesn't support online accounts, I'd want to have local Favourites aka bookmarks.
Thanks for the great app!

Search Problem

Doing a search for the word "lunopolis" gives 'network error'. The actual first item on youtube that Fennec web browser shows looks to be behind a paywall. ??

[Feature request] suggestions on search bar

I'd like to request another feature: suggestions on the search bar. It would be great if the search bar provided suggestions while searching. Is that possible or would that mean using any form of Goolge API?

[Feature request] Auto-play on intent.

This app is already fantastic!

A nice option would be to auto-play videos when opened from an external app, i.e. when I click on a youtube link in reddit, directly start playing the video so that I don't have to hit the play button when NewPipe comes up.

[feat req] Cancel download

Hi, thanks for this app, I like it! Additionally it would be nice to be able to cancel a download once it is started. Thanks a lot! Spectas

support searching and browsing accounts and channels

I searched for an account I subscribe to, and I got videos from it, but out of order, and not including the latest upload. Users should be able to find and browse accounts and channels they know the name for.

Sleep timer

It's super awesome that this app keeps playing even when the display is off. Now If it had a sleep timer (stop playback after x minutes) this would be really cool.

[FR] Quality preferences

It would be great to have the Video Quality in Settings.

I know that different videos may have different qualities available, so the feature may be non-trivial to implement. Then let's discuss it here if you think it's appropriate.

View a channel or user

There's currently no way to view a user's videos. Unfortunately, NewPipe intercepts YouTube links to user pages, and just shows a blank view.

It would be nice if it either ignored those URLs or could show the list of that account's videos.

Lack of Time

Hallo,

as you might have noticed, in the past three weeks i was not able to upload any new version of NewPipe. Thats because i currently have some other projects going on, and in addition to that i have less time than three weeks before. Therefore if we want to get on with NP id need some help. So if you know java and/or android, and you don't know where to waste your spare time at, help improve newpipe. It already helps when i get layout files, like some of you already contributed.

So if you want to help, please tell me.

:)

Easier-to-reach "play video" button

When I've got NewPipe configured to launch an external player, I have to stretch my thumb all the way up to the top-right corner of my phone to tap the play button. (I'm left-handed, so that button is super far away.)

Could you make it so touching the nice, big, friendly thumbnail plays the video? :)

Channel links not loading

The app seems to be able to recognise channel links but is unable to actually display anything once opened.

Why don't create the ultimate YouTube addon than Firefox mobile need instead of create a full YouTube app which will be very little use.

Actually, YouTube on Firefox for Android is a hell, Firefox can't play YouTube properly without the addon enable YouTube mobile player (which simulate the Chrome useragent), Firefox can't select and select by default the resolution (It's always 360p..), Firefox can't select the speed of the vidéos, it can't share à video and create playlist and it can't select subtiles, Firefox also need a stylish which rework all the YouTube mobile design and it need the ability to disable the play in background with a setting.
And THE Firefox big lack is that there is No addon for download videos !!
If you create an addon which merge all theses essentials features, it will be a revolution !
Actually I don't know code but I will learn the JavaScript for actively help you if it's not too dificult.
Also sorry for my bad english.

No "Copy to clipboard" option in the share menu

I'm not sure why it's happening, but the share menu doesn't have a copy to clipboard option; the only way to give someone an URL is to use the "open in browser" option. Just a heads-up.

(I'm really liking this player BTW. I've started using it exclusively. 😄)

MPDroid crashes when pressing the Headphones-Icon

Hi there,
I think the headphones icon is for streaming audio only, right?
When I click it, I only get the notification, that MPDroid crashed and then Im back at the search results page of NewPipe.
Why does it even want to use MPDroid?

Thanks and keep developing this great App :)

// When I install VLC and chose that it works

Download to sd-card does not start

If i change the download path to a folder on the sd-card, for example to:
"storage/sdcard1/Videos" (typing error excluded, i copied path)
The download does not start.

[feature request] background play

Unless I missed something, the play pauses if the app main screen is left (but continues if the screen phone is locked). Background play would be much appreciated for listening to music I don't need to see!
Thanks looks good

Video upload date in search results

I find that the upload date helps me frequently when trying to locate things like lectures by a person who gives a lot of talks. It would be nice if this was visible in the results.

Perhaps you could move the timestamp into the bottom-right-corner of the video thumbnail (similar to the youtube website) to save some space?

"Download" doesn't use the specified location, or name the file correctly

I noticed that the download feature has an issue: it ignores the directory in the settings (always puts it in the Download dir), and always names the file videoplayback (with no file extension).

(This might be related to #42)

I see that you're using setDestinationUri to specify the destination/filename. I tried a few other approaches:

request.setDestinationInExternalFilesDir(context, null, title + suffix);
request.setDestinationInExternalPublicDir(null, title + suffix);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, title + suffix);

None of them worked.

I'm an Android noob, so I'm not sure what's going wrong. Any ideas?

[Feature request] Add locale selection in settings

Since YouTube deliberately assings language based on user's location, I always get russian videos, even while search query is in pure English. It really sucks, because YouTube decides for me what I should watch.

But there is a way to fix it in desktop, by changing site version to 'Worldwide' in the site footer.

It would be great to feature this in the app. As far as I know, a language is set as an url parameter, so you don't even need cookies for this to work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.