Introducing YT-Feeds.

I was looking for an ultra lightweight YouTube client that would allow me to avoid the algorithm, clickbait thumbnails, and AI generated comment sections. After months of work, and getting side tracked many times, YT-Feeds was born. It can be found on GitHub, but is available on the AUR, and can be installed with binstall, github releases, or via cargo directly.

It is built in Rust with no graphical framework. It functions entirely on key binds and the design philosophy is to have only one page to view at any time.

Features List:

  • Fast startup and navigation
  • Uses minimal resources (under 1 Mb RAM!)
  • Distraction and short form content free
  • Allows for searching/subscribing/unsubscribing channels
  • Automatically tracks and resumes watch history locally
  • Shows recent videos from subscriptions organized by date
  • Groups subscriptions into a collective “feed” organized by date
  • Categorize and view videos in the ‘watch later’ menu
  • Never requires leaving the terminal or using your mouse
  • Cross platform support for ARM and x86_64 Windows, MacOS, and Linux

Bugs are to be expected in the initial release. Please use Github Issues for any bug reporting to allow for better tracking. Since initial post, version has already been updated from 1.0.2 to 1.0.5 because of fantastic users submitting bug reports!

  • nate@programming.devOP
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    7 days ago

    Curious: is this with the attached configuration in the documentation, or with a custom configuration for either MPV or yt-dlp?

    If this is with that configuration, can you try the from source version?

    Edit:

    Please use Github Issues for any bug reporting to allow for better tracking. The newest version of yt-feeds is now at 1.0.5 with improved error logging for better user reporting!

    • mootny@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      7 days ago

      I was using the untouched mpv and yt-dlp the way they are shipped. Now tried copy pasting the configs from the docs to corresponding folders - no luck still. Same experience: on press play loading for a sec and then goes back to non-playing view same as right before pressing play. I updated crate to the 1.0.5, where can I find the logs? Also tried the 1.0.5 macos binary - same thing. Sorry I cant create the github issue because don’t want to deanon this account.

      Really want this to work, awesome app idea!

      • nate@programming.devOP
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        6 days ago

        Thank you for continuing to troubleshoot. No worries with GitHub, I understand your concern!

        Can you check the log file? In 1.0.5 I’ve added stderr dumps from MPV to the log file. If any errors occurred, that’d give us a place to start.

        I might not be able to recreate the issue, but others might have the same issue so I’m happy to find the source problem.

          • nate@programming.devOP
            link
            fedilink
            arrow-up
            1
            ·
            5 hours ago

            The data directory information is located in the documentation on the GitHub page. Will depend on the OS. In that directory, the log file is just log.txt. That being said, if no errors are given via yt-dlp, then it wouldn’t be logged regardless.

            Yt-dlp logging was added in the most recent GitHub release, so anything from before may not have generated logs regardless.

            Worth mentioning I am currently doing a complete rewrite for version 2.0 with lots of quality of life improvements and a fair bit more verbosity in error reporting. Historically, this was just a personal program so troubleshooting 3rd party interactions across operating systems was not a priority.

            If you want to mess around with the MPV and yt-dlp pipeline. Try just running mpv <youtube_url> to see if it works outside of yt-feeds. Yt-dlp recently started to require a JS backend like Node or Deno, so that might be another thing to look into as that can cause bugs like this.

            • mootny@sh.itjust.works
              link
              fedilink
              arrow-up
              1
              ·
              1 minute ago

              Thank you! Log file helped - was an yt-dlp error “no such option —remote-components”. Apparently there were multiple yt-dlp installations in my system and it was resolving the wrong older one. I am able to play videos now - awesome!

              Was playing around with it - usually works great, though I found that some videos are getting stuck on few seconds play. My hunch is that it is because it chooses the 4K resolution in these cases and for whatever reason it is choking 3s into the video. Can play same video on the yt directly so don’t think it’s bandwidth

              Any way, thank you for your work, this is truly amazing! Thank you for making it available