YouTube intensifies fight against ad blockers showing pop-ups, and users are frustrated | Blocking ad-block users::undefined

  • Aux@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    3
    ·
    1 year ago

    They can easily embed ads into the main stream, so ad blockers will have nothing to block. Not sure why they haven’t done so already.

    • Azzu@lemm.ee
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 year ago

      Because those can also be skipped. They are required by law to label sections of ads. This labeling can be read to figure out how long the ads are and thus be skipped. That’s how twitch ads are blocked.

      • Aux@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        1 year ago

        The label can be a part of the stream as well. There are no issues to stream everything and make it non-blockable.

        • Azzu@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          Then how hard would it be to use some pattern-based image recognition to detect this label? Not very hard, I have a friend that does something similar at work.

            • Azzu@lemm.ee
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              1
              ·
              1 year ago

              You’re doubting the ease of implementation, but it’s really not hard. It’ll have to be a fairly predictable pattern from YouTube’s side, which is one of the easiest to accurately detect.

              Nevermind that though, it’ll never be embebbed in the video stream, because it has to be accessible as well as readable. It’s impossible to guarantee it to be readable without actually rendering the text in whatever client it’s being viewed in. Imagine a 240p video, the text would have to take up half the screen to be readable with that low resolution.

    • virtualbriefcase@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      1
      ·
      1 year ago

      If they did that then they’d have to re-encode videos for each veiwer (which would require an insane amount of processing power), or give up on tracking and have contextual only ads.

      Their only real option is to have ads as separate files and then use the magic JavaScript to tell your computer to play one file then the next, which is where adblock comes in like “naw, let’s not do that”.

      • Aux@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Not really. That’s not how modern streaming works. No one sends plain files like it’s 2000.

        • virtualbriefcase@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          1 year ago

          I didn’t mean like they just strait up embed video.mp4 on page for the video, but as far as I understand on their backend they still have actually video files of various resolutions and such that they serve to you.

          Even if the page isn’t giving you a copy of a strait up file in the way it might in 2000, the player is still pulling a copy of a pre processed video file stored on YT’s servers, and in order to have the ads as part of that same file in order to make adblock very hard to implement they’d need to re-process it any time they want to show an ad that hadn’t been already inserted into the video.

          I could be completely wrong tho, I don’t work at YouTube and haven’t built a video sharing site before.

          • Aux@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            That’s not how it works. I don’t know exactly what YouTube is doing, but it’s not serving files at all. There are several options available today, perhaps the easiest one to look at is HLS.

            In short, the streaming server splits video files into small chunks. Then instead of sending you one huge file, it sends you a HLS playlist. Your browser reads the playlist and starts playing small video chunks one by one. If you want to navigate somewhere inside the video, you don’t wait for the whole file to be downloaded, instead the browser will simply skip lots of chunks in the middle until it lands on the one you want to watch. That’s also how changing video resolution works - the browser doesn’t re-download 4K video after downloading 1080p video, it just stops at current chunk and switches to a higher res one for the next portion of the video.

            So, few important things:

            • There’s no big video file.
            • There’s no real-time video processing.
            • Chunks can be of varied time.
            • You can create any playlist and insert whatever chunks you want from your existing chunk library.

            This means that YouTube can create a new HLS playlist on the fly, send you 10 chunks of the your video, then send 3 chunks of the ad video, then 42 chunks of your video and 5 more ad video chunks. There’s no need to decode/encode anything. And you will never know what the next chunk holds. They can also add ad chunks at random moments, so you won’t be able to auto-skip them like you do with sponsor segments.

            The real question is why Google is not doing it already.