Convert Figma logo to code with AI

polymorphicshade logoNewPipe

A fork of NewPipe with SponsorBlock functionality.

3,219
106
3,219
74

Top Related Projects

31,014

A libre lightweight streaming front-end for Android.

18,553

SmartTube - an advanced player for set-top boxes and tvs running Android OS

An alternative frontend for YouTube, for Android.

16,025

Invidious is an alternative front-end to YouTube

Quick Overview

NewPipe is a lightweight, open-source YouTube client for Android. It offers a privacy-focused alternative to the official YouTube app, allowing users to watch videos, listen to audio, and download content without requiring a Google account or sending personal data to Google's servers.

Pros

  • Ad-free experience with no tracking or data collection
  • Ability to download videos and audio for offline playback
  • Supports background playback and picture-in-picture mode
  • Lightweight and resource-efficient compared to the official YouTube app

Cons

  • Cannot access user accounts or playlists tied to Google accounts
  • May occasionally experience issues with video playback due to changes in YouTube's API
  • Limited features compared to the official YouTube app (e.g., no commenting or liking videos)
  • Requires manual updates as it's not available on the Google Play Store

Getting Started

To get started with NewPipe:

  1. Enable installation from unknown sources in your Android device settings.
  2. Visit the NewPipe website (https://newpipe.net/) or F-Droid store.
  3. Download the latest APK file.
  4. Open the downloaded APK file and follow the installation prompts.
  5. Once installed, open NewPipe and start exploring YouTube content without logging in.

For developers interested in contributing to the project:

  1. Fork the repository on GitHub.
  2. Clone your fork: git clone https://github.com/your-username/NewPipe.git
  3. Set up the development environment following the instructions in the project's README.
  4. Make your changes and submit a pull request for review.

Competitor Comparisons

31,014

A libre lightweight streaming front-end for Android.

Pros of NewPipe

  • More active development with frequent updates and bug fixes
  • Larger community support and contributions
  • Better integration with YouTube's latest features and changes

Cons of NewPipe

  • May have more experimental features, potentially leading to instability
  • Stricter adherence to open-source principles might limit certain functionality

Code Comparison

NewPipe:

@Override
protected Single<ListExtractor.InfoItemsPage> loadResult(final String url, final String nextPageUrl, final ContentCountry contentCountry) {
    return Single.fromCallable(() -> SearchExtractor.getSearchExtractor(url, Collections.emptyList(), contentCountry))
            .flatMap(extractor -> ExtractorHelper.getItemsPageOrLogError(extractor, nextPageUrl));
}

Polymorphic NewPipe:

@Override
protected Single<ListExtractor.InfoItemsPage> loadResult(final String url, final String nextPageUrl, final ContentCountry contentCountry) {
    return Single.fromCallable(() -> SearchExtractor.getSearchExtractor(url, Collections.emptyList(), contentCountry))
            .flatMap(extractor -> ExtractorHelper.getItemsPageOrLogError(extractor, nextPageUrl))
            .doOnError(throwable -> Log.e(TAG, "Error loading search results", throwable));
}

The code comparison shows that Polymorphic NewPipe includes additional error logging, which may be helpful for debugging and troubleshooting issues.

18,553

SmartTube - an advanced player for set-top boxes and tvs running Android OS

Pros of SmartTube

  • Designed specifically for Android TV, offering a better user experience on large screens
  • Includes advanced features like SponsorBlock integration and custom video speed controls
  • Supports 4K and 8K video playback on compatible devices

Cons of SmartTube

  • Limited to Android TV platform, not available for mobile devices
  • Requires sideloading on most Android TV devices, which may be challenging for some users
  • Less frequent updates compared to NewPipe

Code Comparison

SmartTube (Kotlin):

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    viewBinding.playlistsRecyclerView.apply {
        adapter = PlaylistsAdapter(this@PlaylistsFragment)
        layoutManager = LinearLayoutManager(context)
    }
}

NewPipe (Java):

@Override
public void onViewCreated(@NonNull View rootView, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(rootView, savedInstanceState);
    playlistsRecyclerView = rootView.findViewById(R.id.items_list);
    playlistsRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
    playlistsRecyclerView.setAdapter(playlistAdapter);
}

Both projects use similar approaches for setting up RecyclerViews, but SmartTube uses Kotlin and view binding, while NewPipe uses Java and traditional findViewById method.

An alternative frontend for YouTube, for Android.

Pros of LibreTube

  • Modern Material You design, offering a more visually appealing interface
  • Built with Kotlin, potentially providing better performance on Android devices
  • Supports SponsorBlock integration for skipping sponsored content

Cons of LibreTube

  • Smaller community and less mature project compared to NewPipe
  • Fewer features and customization options
  • May have more stability issues due to being a newer project

Code Comparison

NewPipe (Java):

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

LibreTube (Kotlin):

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

The code comparison shows the difference in language syntax between Java (NewPipe) and Kotlin (LibreTube). While both achieve similar functionality, Kotlin's more concise syntax in LibreTube may lead to more readable and maintainable code. However, NewPipe's Java codebase is more established and has been thoroughly tested over time.

16,025

Invidious is an alternative front-end to YouTube

Pros of Invidious

  • Server-side application, accessible through any web browser without installation
  • Offers additional features like comment viewing and video downloading
  • Supports multiple instances, enhancing privacy and reducing single point of failure

Cons of Invidious

  • Requires server setup and maintenance, which can be complex for non-technical users
  • May experience downtime or performance issues depending on server load and resources
  • Limited offline functionality compared to native mobile apps

Code Comparison

NewPipe (Java):

@Override
protected void onLoadFinished() {
    super.onLoadFinished();
    showContentIfLoaded(INITIAL_LOADING_OFFSET);
}

Invidious (Crystal):

def self.fetch_video(id, region)
  response = YT_POOL.client &.get("/watch?v=#{id}&gl=#{region}")
  html = response.body
  html = XML.parse_html(html)
end

Both projects aim to provide alternative YouTube frontends, but with different approaches. NewPipe is a native Android app, while Invidious is a server-side application. The code snippets show different programming languages and paradigms used in each project.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Development Has Stopped

This fork is old and no longer maintained. See Tubular, a new fork of NewPipe.