What does HackerNews think of mps-youtube?

Terminal based YouTube player and downloader

Language: Python

Does this rely on an API key?

There have been earlier tools which permitted command-line / terminal access to Youtube, one of the best being mps-youtube:

<https://github.com/mps-youtube/mps-youtube>

That permitted searches for terms and channels (though not subtitle text within channel AFAIK), for music specifically, and compiliation of either temporary or saved playlists, with the option to play through a full selection of videos. It also offered either full-video or audio-only playback.

Google killed it by throttling API-key access.

Discussed previously: <https://news.ycombinator.com/item?id=32919545> <https://news.ycombinator.com/item?id=28571421>

The tool that I was in love with for a few months before Google / YouTube effectively killed it off was mpsyt / mps-youtube.

<https://github.com/mps-youtube/mps-youtube>

It was (well, still is) a terminal-based YouTube client which provided search, locally-managed playlists, choice of playback mode (video or audio-only), downloads, and a number of other features. YouTube quashed it with an API-key limitations such that it is now effectively unusable.

But for a brief moment, YouTube content was accessible from a terminal window or console, without all the godawful dark patterns of the site itself. That was tremendously useful.

These days I'll snag videos by URL via youtube-dl/ytdl, and/or mpv (which invokes those transparently). Not quite as magickal, but still pretty good.

Hrm... Apparently there's a successor project, yewtube:

<https://github.com/mps-youtube/mps-youtube/issues/1191>

<https://iamtalhaasghar.github.io/yewtube/#installation>

I'm going to have to check that out...

A nice alternative to add to the arsenal, along with Invidious (https://redirect.invidious.io/) and federated hosting alternatives such as PeerTube (https://joinpeertube.org/).

The now-largely-unusable (thanks to API key limitations) mps-youtube command-line utility still remains the most useful interface to YouTube I've ever used.

https://github.com/mps-youtube/mps-youtube

- Runs without any browser at all.

- From a console.

- Without video, if you so specify.

- Enables full search, can be limited to music posts only, includes both content and account search. That is, you can search for content matching terms, or for a username / account matching a term. Also playlists IIRC.

- Can play based on a given account's videos / postings.

- Individual items can be saved to a queue. Those may be ephemeral (session-only), or saved to disk.

- Content can be downloaded if preferred.

- No YouTube account required, no play history on YouTube.

The only feature missing that I can recall is the ability to blacklist specific accounts. A chief problem with clickbait, propaganda, baiting, and radicalisation channel proliferation is that the activities carry little risk. Yes, YouTube itself occasionally removes high-profile cases, but people themselves cannot say "never show me anything from this source again", at least last I checked. Curation of sources, and killing high-noise sources, continues to be my most effective techique for boosting S/N.

That said, mps-youtube was and remains the best interface I've found for searching for, curating, and managing online video access to my interests and without any tracking or ads, both of which have massive negative social externalities. I'd used it fairly extensively for my own preferred use of the site: finding lectures (and occasionally book-readings or similar content), and queuing up playlists or downloading archives of those. Works on absolutely minimal hardware.

YouTube apparently did all they could to kill this, and have largely succeeded.

I have used the Pinebook Pro as a main driver for nearly 6 months because my main died before isolation.

> Alt-tabbing between Firefox and a terminal takes one second, as does switching between Firefox tabs.

Using the OpenGL compositor (which should be the default in latests versions of Manjaro) is a lifesaver! Web apps are and will still be slow sometimes (I don't use slack but messenger can be sluggish).

> Video playback on browsers is not really nice.

Depends, YouTube is indeed quite slow (I think it became slower after some YouTube update), but if YouTube was optimized for speed there wouldn't be all those adds, right? I like to listen to YouTube music in the background, I use https://github.com/mps-youtube/mps-youtube for that and it works like a charm, uses 10% CPU and a few MB of RAM. I don't use mpsyt for video but I guess it would also improve your experience. Other websites (kissanime) work like a charm, even in 1080p.

> Manjaro does not provide a way to disable tap-to-click True, but installing `xf86-input-synaptics` (although it's deprecated) provides such an option. Also, I use ctrl+F7 to disable the touchpad while I type large chunks of text.

From the specs, one could think that the RAM is the problem but zram totally solves that (I have dozens of tabs open in Firefox, including heavy apps like Messenger, Trello and Overleaf). The slow CPU is a larger issue, with Gmail being so slow to load it's almost unusable (loading my mailbox takes 20s and creating a new email takes 3s).

Overall, I find the machine very much usable though. I only have two complaints:

- static noises

- under "heavy" load (eg html5 games with compilation in the background), the alimentation is less powerful than what the machine consumes, which leads to the battery discharging.

I wrote a guide on my setup that includes other tricks. Shameless plug: https://louisabraham.github.io/articles/pinebook-pro-setup.h...

> does Youtube actively do anything to prevent such clients from existing?

Not really, no. Though they took some kind of legal action against Hooktube I remember.

> Will they one day change the service so the video stream urls are generated randomly, or obfuscated, and break every 3rd party client?

They already do this to some extent for videos with copyrighted content, but it's not very aggressive and has long been reverse-engineered and dealt with. They use a series of three string transformations like reversal, replacing a single letter, etc. on an alphanumeric signature parameter. The sequence of transformations varies per video but can be extracted from the Javascript source using regular expressions.

Here are some available clients I know of. I do not know if there any that use floating videos or dim the desktop as you say:

mps-youtube (terminal-only): https://github.com/mps-youtube/mps-youtube

youtube-viewer: https://github.com/trizen/youtube-viewer

FreeTube (which uses the invidious API): https://github.com/FreeTubeApp/FreeTube

Invidious: https://invidio.us/, https://github.com/iv-org/invidious

youtube-local (my project): https://github.com/user234683/youtube-local

smtube: https://www.smtube.org/

Minitube: https://flavio.tordini.org/minitube, https://github.com/flaviotordini/minitube

My humble advice for anyone who comes across this thread:

- Delete your Google account (if you can);

- Install NewPipe [0] on Android;

- Install gtk-youtube-viewer [1] on your computer;

- Install mpsyt [2] if you'd like a terminal client.

----------------------------------------------------------------

[0] https://f-droid.org/en/packages/org.schabi.newpipe/

[1] https://github.com/trizen/youtube-viewer

[2] https://github.com/mps-youtube/mps-youtube

mps-youtube using either channel or search, saving to playlist, and then stepping through that list is such a vastly superior experience to YouTube itself it's not even funny.

https://github.com/mps-youtube/mps-youtube

A few other mentions:

* ranger is vim-inspired file manager with built-in viewers and extensive capabilities. In addition to POB (plain old bash) and mc, it's a go-to for me. https://github.com/ranger/ranger

* TWIN is the Text WINdowing environment. Yes, it's a full-on windowmanager for console. Somewhat rusty, but if nothing else, a novelty. https://sourceforge.net/projects/twin/

* mutt: email, 'nuf said

* irssi: IRC

* surfraw; "elvi" providing CLI access to online tools and an Ecuadorian connection. https://wiki.archlinux.org/index.php/Surfraw

* wikipedia2text: Wikipedia on the command line. https://packages.debian.org/stretch/wikipedia2text

* tootstream: CLI Mastodon client. https://github.com/magicalraccoon/tootstream

* mpv and mps-youtube: play media (audio and video) in console. mpv supports many sites and formats, while mps-youtube specialises in everyone's favourite video monopoly. Both offer numerous compelling advantages over Web UIs, starting with no comments or recommendations. mpsyt's search and locally-managed playlist features are a real treat. https://mpv.io https://github.com/mps-youtube/mps-youtube

* xine and mpv framebuffer and ascii-art (aalib) modes. Play full-screen video in console, either as framebuffer graphics, or rendered as text characters (not great, though novel). Bonus: try the 'bb' aalib demo.

* bc, dc, units, and ipcalc; all forms of calculators, from general to RPN to units-aware to IP functions.

* BSD Games. Because.

Don't forget the lovely mps-youtube, which allows you to search YouTube, play audio and build playlists right from your terminal.

It's been a godsend for me in locations with extremely slow or intermittent connections.

https://github.com/mps-youtube/mps-youtube

For many years I've used a few shell scripts to turn YouTube into a "radio" of sorts, basically going through search results for a specific term (usually a music genre) and playing each one. It works pretty well, and the only ad-like experience is when it decides to play something not-really-related-nor-actually-music that just showed up in the results, but IMHO the "what was that?" aspect is part of the fun.

I'm clearly not the only one who came up with such an idea:

https://github.com/mps-youtube/mps-youtube

The way to use YouTube is as nothing more than a video hosting site, watching videos and managing playlists through other (offline) means. I wrote some shell scripts to do this years ago on my HTPC.

I'm not alone in this; others have made far more polished applications like https://github.com/mps-youtube/mps-youtube

I also find myself lacking ideas for places to explore. I usually wastes time like this:

- Do I know of a youtube channel I like and want to watch: mps-youtube [1]

- Do I want to get youtube content randomly/reddit-recommended: reddytt [2]

- Do I just want some images and gifs, not whole videos: redditp [3]

- Do I want to explore twitch, but do not know of a streamer I like: ryck [4]

[2] and [4] are my own tools for a more optimised time-wasting (I apologise if self-plugging is considered bad behaviour).

[1] https://github.com/mps-youtube/mps-youtube

[2] https://github.com/johanbluecreek/reddytt

[3] https://github.com/ubershmekel/redditp

[4] (early stages of development) https://github.com/johanbluecreek/ryck

If you like youtube-dl you should check out mps-youtube (https://github.com/mps-youtube/mps-youtube) which has the ability to use youtuble-dl as the backend I'm pretty sure (i prefer to use the native one personally)

It's also gpl vs youtube-dl's public domain.

I'm sure eventually I'll figure out a way to just do it in emacs. (I'm mostly joking... kinda... maybe.)

It drives me crazy how much this clutters search results. For years I would almost always sort by >20mins/upload date for whatever I was looking for (usually lectures/talks, hence the >20mins) but over the past few years where I used to get the most recent talk from $person, now I get a full page of reuploaded content from 1994, half of which is from the same spam user. Now my search of choice tends to be viewcount/<1month.

I now prefer mps-youtube for the majority of my youtube interaction. It's a gplv3 cli client, and then I just have VLC open up the video. No ads, no popups, no links.

https://github.com/mps-youtube/mps-youtube

You know, a long time ago when google bought youtube I remember thinking to myself that it meant it was never going to be the same. After things like the google+ name fiasco, etc (Jawed Karim's first comment on youtube was: "why the fuck do i need a google+ account to comment on a video?"), and many other scandals, and not seeing hardly a dent in their userbase, I wonder what it would take to get the users to another platform?

The tool that's "perfected the feed" for me is mps-youtube.

This is a console-based audio- and video-playing tool which allows me to:

1. Search for content.

2. View detailed information.

3. Search by user or YouTube playlist.

4. Selective add or remove items from a current playlist.

5. Save and manage multiple named playlists.

6. Queue up large sets of content to be accessed. Including audio-only, in background (my preferred mode).

7. Works on Android via Termux.

8. Keyboard playback controls to skip, jump, play, pause, speed, or slow playback. (Similar to mplayer's if you're familiar with those.)

9. No ads.

10. No comments.

11. No recommended "fail", "dash-cam", or "blackhead" crap. That corner of YouTube.

It's everything I've wished YouTube was, and that it isn't.

https://github.com/mps-youtube/mps-youtube

In addition to ytview; mpsyt (https://github.com/mps-youtube/mps-youtube) is a great tool for finding, creating playlists, and playing audio from youtube.

And for Pandora, there is Pianobar, a console based pandora player: https://github.com/PromyLOPh/pianobar

I often use mps-youtube, which I believe is based on youtube-dl and works great to listen to music off youtube from the terminal.

https://github.com/mps-youtube/mps-youtube