NewPipe 0.20.0 brings a new unified video player and much more to the open source YouTube client
NewPipe is an open-source YouTube client for Android, serving itself as an alternative for users who either dislike the official app or do not have Google Play Services installed on their device. In a nutshell, NewPipe parses the YouTube website to extract data and play videos, without restrictions and ads. A few days ago, NewPipe was testing a new Unified Player UI in its test builds, and now, the app has been updated in the stable branch with the new Unified Player UI and other changes.
Unified Player in NewPipe
The highlight feature of NewPipe v0.20.0 is its Unified Player. Prior to this stable release and recent test releases, NewPipe actually had three different players bundled in its code: the main player, the pop-up player, and the background player — each with their own code and separate playing queues. So whenever you switched between these three players, the older instance of the player would be closed and a new instance and playing queue would be created, usually resulting in you losing your progress in the video. The Unified Player fixes this by merging all the players on one common service. So now when you switch between players, the service remains running and the stream data is preserved.
Video details page
The new NewPipe release brings in a redesign to the video details page from what it was earlier, bringing it closer to the experience on the default YouTube app.
Previously, the main video players would always play videos in full-screen, but would not present an optimized experience if the player’s orientation did not match the orientation of the video. The orientation switch is now being replaced with a full-screen button, which detects if the video is in landscape or portrait and ensures correct orientation when the user enters full-screen.
Videos in the video details page can be swiped down to open in a minimized player at the bottom, letting you pause, play or close from that location. This will be helpful if you intend to browse through other videos while your video keeps playing. The blog post also states that this feature can be used to build a watch-playlist on the fly, so read on there for more details.
Changes to NewPipe’s Notification
This NewPipe release comes with the MediaStyle notification (available since Android Lollipop) instead of the older RemoteView API. This swap allows the app to deliver a new customizable notification for playback, letting you change up to three buttons that are visible in the compact notification. For Android 8 and above, the notification adapts to the color of the cover art. For Android 10 and above, the notification will also feature a seekbar.
NewPipe also features several improvements, which we have summarized as below:
- The app window is now resize-friendly.
- Unsupported URLs are now handled better.
- Livestream links are no longer shared with a timestamp.
- Header layout has been improved.
- Offline search is now handled better.
- Pop-up size and position can now persist.
- Main player now minimizes to background audio by default for seamless app switching experience.
- Main player videos now default to 720p 60fps and pop-up videos now default to 480p, instead of the previous 360p.
- “Autoplay” toggle is now renamed to “auto-queue” to better describe its functionality.
- More translation improvements.
NewPipe 0.20.0 Changelog
You can find the complete changelog here:
- New application workflow #2907, #4061, #4080, #4130, #4134, #4154, #4155 #4223, #4246, #4272, #4288, #4347, #4353, #4360, #4362 (thanks to @avently and all others involved)
- Unified all three players into one for seamless switching between them – for example, now if you tap on background play while the video is playing in the main or popup player, the stream will start exactly where you left off, not from the beginning. This is true when you go from any of the 3 players to each other.
- Play video directly in video details screen
- Option to auto-play video upon opening video details screen (on by default)
- Swipe down on video to minimize it and continue browsing uninterrupted (in landscape mode, you can swipe down on the title to do the same)
- Full screen button smartly detects if video is portrait or landscape and behaves accordingly
- Swipe up on full screen button in landscape mode to scroll down the video details
- Now you get a neat looking progress bar below the thumbnail in the video details screen if you play it in the background or popup player.
- Minimize players to background by default when switching app
- The main player/minimized player retains your browsing history until you close it
- Use MediaStyle notifications for all players #3178, #4340
- Customizable notification actions
- Reduce excessive notification updating
- Fixed metadata (song title, artist and album art) sometimes not being set correctly
- Fixed notification priority and Bluetooth related bugs
- Allow basic resizing when using NewPipe in windowed mode / as desktop application #3948
- New localizations: Bengali, Berber, Neapolitan, Portuguese and Sardinian
- Show dialog with open options in case of an unsupported URL toast #3826
- Improve share dialog #4259
- Improve playlist header layout: align with info items and use always two lines for playlist title when needed #3944
- Improve search suggestion experience when remote ones can’t be fetched #4029
- Increased default video quality to 720p60 (in-app player) and 480p (pop-up player) #4275
- Reduce redundancy in “Remember popup size and position” setting #4050
- Remove timestamp from URL when sharing a live stream #4115
- Use SubtitlesStream#getUrl instead of getURL #4120
- Remember last selected media type for downloads. #4038
- Disabled commenter image view on LoadThumbnail set to false #4350
- Change “Autoplay” to “Autoqueue” to reduce ambiguity #4252
- Fixed color of correct / suggested search term #3984
- Fixed ACRA bug reports not containing stack trace #3982
- Fixed crash when opening video in local playlist tab on KitKat #3892
- Fixed auto-queue with no next videos #4349
- Fixed display name of Kayble language (Taqbaylit) #4066
- Fixed license pop-up hiding when orientation changes #4127
- Fixed crash when a file is deleted then redownloaded #3794
- Fixed incorrect use of plurals in Russian #4365
- Add Checkstyle rule to error when a local variable that could be final isn’t final #4138
- Allow numbers and uppercase letters in app package id #4326
- Add requirement for contributors to discuss contributions before opening PRs #4126
- Deprecations and cleanup #3909
If you already have NewPipe installed, the app should prompt you to update when you open it up. If you do not have an older build installed, you can grab the latest release from F-Droid or from GitHub.
Have you used NewPipe? Let us know your thoughts in the comments below!