• gressen@lemm.ee
    link
    fedilink
    English
    arrow-up
    0
    ·
    8 months ago

    YouTube’s next move might make it virtually impossible to watch YouTube

  • Gadg8eer@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    8 months ago

    What’s the street address of Google again? I’m already homicidally insane, I’ll start by burning them TO THE FUCKING GROUND.

  • werefreeatlast@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    8 months ago

    We’ll just copy the video and recast without ads I guess? I do watch several videos many times over for diy, so it would be relatively painless to just download and modify.

  • UltraGiGaGigantic@lemm.ee
    link
    fedilink
    English
    arrow-up
    0
    ·
    8 months ago

    People are taking the piss out of you everyday. They butt into your life, take a cheap shot at you and then disappear. They leer at you from tall buildings and make you feel small. They make flippant comments from buses that imply you’re not sexy enough and that all the fun is happening somewhere else. They are on TV making your girlfriend feel inadequate. They have access to the most sophisticated technology the world has ever seen and they bully you with it. They are The Advertisers and they are laughing at you.

    You, however, are forbidden to touch them. Trademarks, intellectual property rights and copyright law mean advertisers can say what they like wherever they like with total impunity.

    Fuck that. Any advert in a public space that gives you no choice whether you see it or not is yours. It’s yours to take, re-arrange and re-use. You can do whatever you like with it. Asking for permission is like asking to keep a rock someone just threw at your head.

    You owe the companies nothing. Less than nothing, you especially don’t owe them any courtesy. They owe you. They have re-arranged the world to put themselves in front of you. They never asked for your permission, don’t even start asking for theirs.

    – Banksy

  • RememberTheApollo_@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    8 months ago

    I already barely watch YouTube but for a couple people I subscribe to, and I already pay membership for their content so I get no ads. YouTube has already whittled me down to the minimum thanks to their overbearing ad content.

  • KillingTimeItself@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    8 months ago

    this is all bullshit btw, it won’t do anything for thirdparty clients and yt-dlp for example.

    This is because blocking is entirely client side now, with no way of youtube determining whether or not its happened at all.

  • ours@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    8 months ago

    This must cost YouTube a fortune doing additional processing and reduced flexibility. They are going to hurt themselves and blockers will find a way.

    • Etterra@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      8 months ago

      There’s already extensions that somehow skip sponsorship sections, so it won’t even take that long.

      • Björn Tantau@swg-empire.de
        link
        fedilink
        English
        arrow-up
        0
        ·
        8 months ago

        That’s actually hurt by this because it uses timestamps supplied by users to work. But now they are off because the ads are of variable length. We can just hope that YouTube keeps the ability to link to a specific timestamp because then it has to calculate the difference and that can be used by Sponsorblock and adblockers alike.

      • daddy32@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        8 months ago

        That’s “crowdsourced”, i.e. manually done by volunteers on per-video basis.

      • Thorry84@feddit.nl
        link
        fedilink
        English
        arrow-up
        0
        ·
        8 months ago

        The problem is those blocking extensions are based on timestamps. Those timestamps are added by the users, it’s a crowdsourced thing. But the ads a single user will see differ from what another user will see. It’s likely the length of the ads is different, which makes the whole timestamp thing a no go.

        Along with the timestamp, there needs to be a way to detect where the actual video begins. That way at least an offset can be applied and timestamps maintained, but it would introduce a certain level of error.

        The next issue would be to then advance the video to the place where the actual video begins. This can be very hard, as it would need to include some way of recognizing the right frame in the buffer. One requirement is that the starting frame is actually in the buffer (with ads more than a few seconds, this isn’t guaranteed). The add-on has access to this buffer (depending on the platform, this isn’t guaranteed). And there’s a reliable way to recognize the right frame, given the different encoding en quality setups.

        And this needs to be done cheap, so with as little as infrastructure as possible. A database of timestamps is very small and crowdsourcing those timestamps is relatively easy. But recognizing frames requires more data to be stored and crowdsourcing the right frame is a lot harder than a timestamp. If the infrastructure ends up being complex and big, someone needs to pay for that. I don’t know if donations alone would cut it. So you would need to play ads, which is exactly what you intend on not doing.

        I’m sure the very smart and creative people working on these things will find a way. But it won’t be easy, so I don’t expect a solution very soon.

    • scarabic@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      8 months ago

      Every bit of effort and resourcing they spend on this returns revenue directly. Which is more than they can probably say for a lot of things they do. And they’re smart enough to know that they can’t eliminate blocking, just make it harder and harder so that fewer and fewer people do it.

    • Max-P@lemmy.max-p.me
      link
      fedilink
      English
      arrow-up
      0
      ·
      8 months ago

      Not really. They can precompute those and inject it in an MP4 file so long as the settings match and it’s inserted right before an i-frame so that it doesn’t corrupt b-frames. They already reencode everything with their preferred settings, so they only need to encode the ads for those same settings they already do. Just needs to be spliced seamlessly.

      But YouTube uses DASH anyway, it’s like HLS, the stream is served in individual small chunks so it’s even easier because they just need to add chunks of ads where they can add mismatched video formats, for the same reason it’s able to seamlessly adjust the quality without any audio glitches.

      Ad blockers will find a way.

      • ours@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        8 months ago

        Re-encoding is one thing, but ads are more or less supposed to be dynamic based on user location and likely some other data to target them.

        Offloading that to the client made a lot of sense but now they have to do this server-side, they have very smart people working on making this as efficient as possible using tricks you’ve mentioned and more but it is still more effort than before. All for something that will likely be circumvented eventually.

        • 4am@lemm.ee
          link
          fedilink
          English
          arrow-up
          0
          ·
          8 months ago

          All of that targeting data lives on Google’s servers already. Your computer isn’t trying to figure out who you are and what you like each ad play, Google already knows who you are when your browser makes a request for a video. Everything you are talking about is already server-side.

  • parpol@programming.dev
    link
    fedilink
    English
    arrow-up
    0
    ·
    8 months ago

    Sample the color of a specified pixel (or something recognizable in the streaming format) every 30 frames from the original video.

    Store collection of pixels in a database and share in a peer to peer network or stored on invidious instances. Because the sample size is small, and the database can be split up by youtube channel, the overall size and traffic should remain low.

    When streaming a youtube video, if the plugin detects that the pixel in the video doesn’t match the one in the database, automatically skip until where the pixel matches the data in the database.

    • 4am@lemm.ee
      link
      fedilink
      English
      arrow-up
      0
      ·
      8 months ago

      Imagine thinking they can’t detect when you try to skip forward during an ad.

      • parpol@programming.dev
        link
        fedilink
        English
        arrow-up
        0
        ·
        8 months ago

        They can’t. They have no clue where you are currently in the video, and even if they did run some client side script, you could easily spoof it.

    • Programmer Belch@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      8 months ago

      That is prone to error, just a pixel can be too small of a sample. I would prefer something with hashes, just a sha1sum every 5 seconds of the current frame. It can be computed while buffering videos and wait until the ad is over to splice the correct region

      • might_steal_your_cat@lemm.ee
        link
        fedilink
        English
        arrow-up
        0
        ·
        8 months ago

        The problem with (good) hashes is that when you change the input even slightly (maybe a different compression algorithm is used), the hash changes drastically

        • Programmer Belch@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          0
          ·
          8 months ago

          Yes, that’s why I’m proposing it as opposed to just one pixel to differentiate between ad and video. Youtube videos are already separated in sections, just add some metadata with a hash to every one.

          • might_steal_your_cat@lemm.ee
            link
            fedilink
            English
            arrow-up
            0
            ·
            8 months ago

            I think that downsizing the scene to like 8x8 pixels (so basically taking the average color of multiple sections of the scene) would mostly work. In order to be undetected, the ad would have to match (at least be close to) the average color of each section, which would be difficult in my opinion: you would need to alter each ad for each video timestamp individually.