← Back to context

Comment by blueflow

2 years ago

If you are fluent with the terminal, you don't need to suffer from the YT Web UI. Install mpv and yt-dlp. Play videos like this:

  mpv [--no-video] "https://www.youtube.com/watch?v=X9zVjEZ7W8Q"

Option in brackets is optional.

This is the way.

I really don't understand why any technically proficient user would willingly use any of the official YouTube frontends. You get bombarded with ads, you're constantly tracked and experimented on, and your behavior is used to improve their algorithms in order to keep you on the site for as long as possible. It's a hostile user experience, just like most of the mainstream web.

Whenever possible, I suggest using Invidious, Piped, Newpipe, yt-dlp, and anything but the official frontends.

I try to compensate the creators I follow via other means if they have an alternative income source, but I refuse to be forced to participate in an exploitative business model that is responsible for the awful state of the modern web.

  • >I really don't understand why any technically proficient user would willingly use any of the official YouTube frontends.

    I'm a technically proficient user that's written custom bash scripts for youtube-dl combined with ffmpeg to download videos locally and I still use the official Youtube desktop web browser UI every day for several reasons:

    + transcripts and close-captioning (use Ctrl+F search for text to find the section of video that starts talking about the topic I'm interested in)

    + many videos have index of chapters (deep links), table-of-contents

    + viewers' comments (especially valuable for crowdsourced feedback on DIY videos to point out extra tips, or flaws, etc)

    + external links mentioned (Amazon links to products is especially valuable for DIY tutorials)

    + convenient hot links to related videos (part 2, part 3, etc). Not every creator makes "playlists"

    + Youtube web UI has superfast video scrubbing of the timeline. A local video player like VLC scrubbing of the timeline is very slow compared to Youtube because the youtube backend pre-analyzes the entire video and generates a bunch of timeline thumbnails at multiple intervals. This makes the Youtube web UI timeline scrubbing very fluid with responsive visual feedback.

    I like downloading with yt-dlp but I also lose a lot of functionality when I watch videos in VLC instead of the Youtube desktop webbrowser UI. The above points are not relevant to the terrible Youtube app on mobile and tablets.

    • Most of those features are available in OSS tools as well. And for those that are not, there are alternative solutions that might take a bit of work to implement.

      I'm not claiming that the OSS tools have feature parity with 1st party frontends, or that they won't require some sacrifices, or effort adjusting. I just think that the trade-off of losing some of the convenience in return for not being tracked and manipulated is well worth it to me, though I can see how it might not be worth it for others.

      I do actually think that OSS tools provide a better UX. I can download the media and consume it offline, using any player of choice, on any device, at any time. I find YouTube's recommendations a nuisance, and I can turn those off in Invidious and Piped. Scrubbing in mpv is instantaneous for me for local files and even those served on the LAN, though there is a slight delay when playing directly from YT. There is also a solution for generating thumbnails[1], though I had some issues with it, and didn't end up using it.

      At the end of the day, it's a personal choice depending on what you value most, and I'm not trying to convince anyone my choice is inherently better. Thanks for providing your perspective.

      [1]: https://github.com/tomasklaen/uosc

      2 replies →

    • > + many videos have index of chapters (deep links)

      In mpv, you can use PgUp and PgDown to select chapters.

      > + external links mentioned

      Video description is in audio/video file if yt-dlp gets a --embed-metadata. mpv prints that if present.

  • > I really don't understand why any technically proficient user would willingly use any of the official YouTube frontends.

    - Because I don't see ads with YouTube Premium

    - Because I add things to my playlists

    - Because I more often than not find interesting things to watch there

    - Because I like using it on my phone or TV

    There's a lot of reasons why someone would prefer the official apps over some third party app that might break every few months.

    • > - Because I don't see ads with YouTube Premium

      I was in that boat. But after a while I realized I could no longer in good conscience give Google any more money when they were pushing so many initiatives that went against my interests.

      1 reply →

  • The web frontend just works. The other frontends tend to have issues, which even if they're not deal-breakers are annoying. I won't put ideology over using what works best. And clicking a link, then clicking play, beats copying the URL then pasting it into a command line.

    Of course this only works because by default (since I have an ad blocker anyways) I don't get bombarded with ads on the web frontend, and so far I've seen the adblocker nag screen once (a failure which uBlock Origin seems to have swiftly corrected).

  • Because I don't want to fuck about working against the platform, opting myself into something that'll break at any moment.

    I would much rather put up with Youtube than be frustrated when my 'alternate frontend' one day breaks and i need to figure out a workaround.

  • Because using the website is a better experience. None of those tools worked with Sponsorblock last time I tried, for one.

    I don't want to yt-dlp every video, Piped and Invidious both have awful frontends in comparison, even the Newpipe dev admitted to using Vanced at some point, and yt-dlp needs some massaging to get the right video quality (and it can't download some videos at all).

    If any of your solutions were better for the majority, the majority would be using them. Youtube's ad blocker war is making the platform worse for everyone, but having a couple of billions of developer power behind your platform still beats any open source video players built for fun.

    • > Because using the website is a better experience.

      That is debatable. I personally find that the combination of Piped, yt-dlp and mpv provides a far better experience than the official frontends. But this is a personal opinion, and I'm not trying to convince anyone my choice is better. I just didn't think other technical users would prefer using the official frontends.

      Thanks for your perspective, though I think it's a bit outdated.

      > None of those tools worked with Sponsorblock last time I tried, for one.

      Piped, yt-dlp and mpv all support Sponsorblock.

I think you’re missing the point. How can I browse Youtube in mpv?

  • In addition to Piped, and Invidious, mentioned by sibling comments, which allow you to subscribe, search, and provide recommendations, you can use a complete CLI workflow with something like ytfzf[0], or, you can use the search commands on yt-dlp[1], which are also accessibly through mpv using the ytdl:// prefix.

    Getting familiar with such tools not only replaces the terrible UXes you have to be subjected to, but also gives you the power and freedom to be creative with how you use Youtube and other online streaming sites.

    I wrote various tiny scripts to replace all my needs for Youtube search, using any highlighted text, with a shortcut, Youtube Music, with a synced plain text file of song titles and a shuffle-on-read script, and more curiously, a script to help me slowly go through all thousands of my partner's favorite songs, and then, using shortcuts, add them to my own favorites, decide on them later, add them to the "what the heck do you listen to" friendly banter list, or the "my ears bleeding" list, etc. Much better UX then anything the slow web UIs can offer, and with minimum hacking.

    [0]: https://ytfzf.github.io/

    [1]: https://github.com/yt-dlp/yt-dlp

  • What do you mean by "browsing" Youtube? Clicking new links for the purpose of entertainment?

    My post was only about playing videos.

Thanks for this pointer--I hadn't heard of mpv, but it works amazingly smoothly.