Many YT privacy frontends are down it seems. YouTube is cracking down on these servers fast. Both Invidious and Piped services are not working now.

So how are you watching videos now? Just plain youtube[dot]com with unblock and VPN?

    • plm00@lemmy.ml
      link
      fedilink
      arrow-up
      7
      ·
      edit-2
      10 months ago

      I’ve had a good experience with GrayJay. It’s a bit young and missing features but it’s never broken for me.

      • land@lemmy.ml
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        10 months ago

        Btw, they also have a desktop app, but it’s currently in beta.

        FreeTube is more stable for desktop.

        • plm00@lemmy.ml
          link
          fedilink
          arrow-up
          5
          ·
          10 months ago

          I’ve been using their GrayJay desktop app, and I’ve enjoyed it so far.

          I haven’t checked out FreeTube but maybe this is the push I need.

          • land@lemmy.ml
            link
            fedilink
            arrow-up
            2
            ·
            10 months ago

            I’ve used it for a few days, but it lacks several fundamental features. Additionally, it’s quite resource-intensive.

  • 7_Heavens@lemmy.ml
    link
    fedilink
    arrow-up
    20
    arrow-down
    1
    ·
    10 months ago

    At this point we should just start torrenting YouTube. Like fuck YouTube.

  • llama@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    10 months ago

    There are several way, honestly. For Android, there’s NewPipe. The app itself fetches the YouTube data. For PC, there are similar applications that do the same such FreeTube. Those are the solutions I recommend.

    If you’re one of those, you can also host your own Invidious and/or Piped instances. But I like NewPipe and FeeTube better.

    • countrypunk@slrpnk.net
      link
      fedilink
      arrow-up
      4
      ·
      10 months ago

      I’ve used freetube for a while and it seems like it’s expierencing the same issues since I’ve been getting a lot of error messages lately.

      • Zerush@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        10 months ago

        FreeTube also is based on Invidious instances, changing the instance may work, but better to set the SMplayer as extern player, then you can open the Video in this player which works almost always.

          • Zerush@lemmy.ml
            link
            fedilink
            arrow-up
            1
            arrow-down
            1
            ·
            10 months ago

            Yes, if you find a workng Invidious instance it’s ok, but if not, FreeTube without SMplayer is useless.

  • z3rOR0ne@lemmy.ml
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    10 months ago

    You can still use yt-dlp with most of the invidious instances that are still up, but not displaying the video for some reason. Just copy the URL and use it with yt-dlp from the command line. All still works, sponsor block and all.

    On my android phone I use either invidious with seal(yt-dlp wrapper app) or tubular (fork of newpipe with sponsor block).

    • corvus@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      10 months ago

      Freetube has an option to watch videos in a external viewer. I set it to be MPV which I set it to use yt-dlp to download which allows me to customize many things like video and audio quality, subtitles, equalize audio, etc. No need to copy and use the command line.

    • corvus@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      10 months ago

      Use yt-dlp URL -o - | mpv - This way the video goes directly to mpv without using the disk, avoiding the need to delete. It should work with other viewers as well.

        • corvus@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          10 months ago

          Another thing that I do is make an alias: alias pvid=“yt-dlp $(xsel -b) -o - | mpv -”. Install xsel first, xsel -b pastes what’s in the clipboard. So you only have to copy the URL and execute pvid, no need to paste. Or even better make an app that executes that command and put it in the taskbar. You only have to click it after copying.

          • Karyoplasma@discuss.tchncs.de
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            10 months ago

            I wrote myself a Chrome add-on that adds a context menu entry to play or download links.

            background.js
            chrome.runtime.onInstalled.addListener(() => {
            		
                chrome.contextMenus.create({
                    id: "processLink",
                    title: "Download as...",
                    contexts: ["link"]
                });
            
                chrome.contextMenus.create({
                    id: "720p",
                    parentId: "processLink",
                    title: "720p",
                    contexts: ["link"]
                });
            
                chrome.contextMenus.create({
                    id: "music",
                    parentId: "processLink",
                    title: "MP3",
                    contexts: ["link"]
                });
            
                chrome.contextMenus.create({
                    id: "maxQual",
                    parentId: "processLink",
                    title: "Maximum quality video",
                    contexts: ["link"]
                });
            	
                chrome.contextMenus.create({
                    id: "separator1",
                    parentId: "processLink",
                    type: "separator",
                    contexts: ["link"]
                });
            
                chrome.contextMenus.create({
                    id: "piQual",
                    parentId: "processLink",
                    title: "30 fps for RPi",
                    contexts: ["link"]
                });
            	
                chrome.contextMenus.create({
                    id: "separator2",
                    parentId: "processLink",
                    type: "separator",
                    contexts: ["link"]
                });
            	
                chrome.contextMenus.create({
                    id: "streamLink",
                    parentId: "processLink",
                    title: "Stream to VLC...",
                    contexts: ["link"]
                });
            });
            
            chrome.contextMenus.onClicked.addListener((info, tab) => {
                let linkUrl = info.linkUrl;
            
                if (info.menuItemId === "720p") {
                    sendLinkToNativeApp(linkUrl, "video720");
                } else if (info.menuItemId === "music") {
                    sendLinkToNativeApp(linkUrl, "music");
                } else if (info.menuItemId === "maxQual") {
                    sendLinkToNativeApp(linkUrl, "videomp4");
                } else if (info.menuItemId === "piQual") {
                    sendLinkToNativeApp(linkUrl, "video720p30");
                } else if (info.menuItemId === "streamLink") {
                    sendLinkToNativeApp(linkUrl, "stream");
                }
            });
            
            function sendLinkToNativeApp(link, action) {
                console.log("Sending link to native app with action:", action, link);
                chrome.runtime.sendNativeMessage(
                    'com.example.ytlink_processor',
                    { link: link, action: action },
                    function(response) {
                        if (chrome.runtime.lastError) {
                            console.error("Error:", chrome.runtime.lastError.message);
                        } else {
                            console.log("Received response from native app:", response.output);
                        }
                    }
                );
            }
            
            native_host.py (chatGPT wrote this because I can't Python)
            import sys
            import subprocess
            import json
            import struct
            
            def log_to_file(message):
                with open("log.txt", "a") as log_file:
                    log_file.write(message + "\n")
            
            def get_message():
                raw_length = sys.stdin.read(4)
                if len(raw_length) == 0:
                    sys.exit(0)
                message_length = struct.unpack('I', raw_length)[0]
                message = sys.stdin.read(message_length)
                return json.loads(message)
            
            def send_message(message_content):
                message = json.dumps(message_content)
                sys.stdout.write(struct.pack('I', len(message)))
                sys.stdout.write(message)
                sys.stdout.flush()
            
            def process_link(link, action):
                if action == "stream":
                    cmd = 'yt-dlp --stream "{}" -o - | "D:/Programme/VLC/vlc.exe" -'.format(link)
                else:
                    cmd = 'yt-dlp --{} "{}"'.format(action, link)
                result = subprocess.Popen('start cmd /c "{}"'.format(cmd), shell=True)
                return result.stdout + result.stderr
            
            if __name__ == "__main__":
                message = get_message()
                link = message.get("link")
                action = message.get("action")
                if link and action:
                    output = process_link(link, action)
                    send_message({"output": output})
            
            

            The actions are just aliases for different qualities (old pi, so 720p60 stutters at times), audio extraction, etc.

  • airikr@lemmy.ml
    link
    fedilink
    arrow-up
    5
    ·
    10 months ago

    I download the videos I want to watch with yt-dlp. This applies to audio as well. I then add the videos to my Jellyfin server to watch them on the TV.

  • Shape4985@lemmy.ml
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    10 months ago

    I use grayjay as you can use a google account to bypass the “confirm your not a bot” but then have the ability to subscribe, comment, and save video playback without a google account.

  • ReversalHatchery@beehaw.org
    link
    fedilink
    English
    arrow-up
    4
    ·
    10 months ago

    I download it with yt-dlp and watch it with a video player. that way they don’t know at what pace do I watch it (when do I rewind and pause, or speed up).

    or grayjay when I remember that it exists.
    other options for me include FreeTube and NewPipe