YouTube is currently experimenting with server-side ad injection. This means that the ad is being added directly into the video stream.

This breaks sponsorblock since now all timestamps are offset by the ad times.

For now, I set up the server to detect when someone is submitting from a browser with this happening and rejecting the submission to prevent the database from getting filled with incorrect submissions.

  • LimeWire@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    9
    ·
    9 months ago

    I’m kinda surprised they haven’t done this already. Twitch has been doing this for a while now, and the only reliable way around it is to use a proxy in a country that Twitch doesn’t run ads in.

    • NuXCOM_90Percent@lemmy.zip
      link
      fedilink
      English
      arrow-up
      0
      ·
      9 months ago

      Video length is incredibly important to The Algorithm and a LOT of content creators time their videos to the second. Taking away control of that (even if the end result ins the exact same length) is going to ruffle a lot of feathers and lead to a lot of people who want to “be a champion for the viewers who should like, comment, and subscribe and use my referral code for war thunder” as a result.

  • Mikina@programming.dev
    link
    fedilink
    English
    arrow-up
    8
    ·
    9 months ago

    Looks like I’ll finally get a reason to cut off another website I hate using, but never found the willpower to get rid off.

    Good

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

    I wonder how that will interoperate with timestamps provided by users in comments or by the video creator themselves. Maybe those can be used to detect inserted ads.

    • Baggins [he/him]@lemmy.ca
      link
      fedilink
      English
      arrow-up
      7
      ·
      9 months ago

      The server must have to send some metadata to the client telling when it’s running an ad because there are other things that need to happen client side during that like adjusting of the time or making the ad clickable

    • ayaya@lemdro.id
      link
      fedilink
      English
      arrow-up
      6
      ·
      9 months ago

      I have actually been seeing some timestamps that are completely wrong lately, maybe this is why.

  • Gacrux@lemm.ee
    link
    fedilink
    English
    arrow-up
    6
    ·
    9 months ago

    does this mean stuff like yt-dlp will download videos with ads in thrm as well?

    • OsrsNeedsF2P@lemmy.ml
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      9 months ago

      Almost certainly not, although fair disclaimer, I don’t actually know. Ads need to be tailored to the user when delivered, so it’s likely the YouTube frontend requesting the next chunk of video to be an ad instead of the next chunk of video from blob storage. yt-dlp likely just requests successive chunks straight from blob storage, passing this.

      If YouTube served ads by saying “point to an ad chunk next” in their blob storage, 1. Everyone would see the same ad and 2. Premium users would still see ads.

      To patch this, YouTube really needs to stop serving video chunks directly from storage, but I forget the reason they haven’t done that already.

      (Technical note; I’m assuming blob storage chunks contain 1-2 seconds of video and metadata pointing to the next one, like a linked list. I’m not sure if this is how YouTube works, but many video platforms do this)

      • Gacrux@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 months ago

        yeah that makes sense. i was thinking maybe youtube had servers to decide what chunks clients would get, maybe by looking at whether or not they are premium users first. but anyway youtube still needs a way to differentiate between ad chunks and video chunks, otherwise we would just be able to skip 10 seconds through all the ads. surely that can be exploited somehow.

      • ReversalHatchery@beehaw.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 months ago

        Ads need to be tailored to the user when delivered

        1. It does not. If you install a new browser and open YouTube the first time, they’ll be able to show ads to you
        2. They could be tailored based on other factors too, like country, region, or even household by the IP

        I think the backend could just generate the ad ridden video feed for the specific user. Most probably it would be very resource intensive, but I can only hope so… but then I also don’t know much about HLS and other fragmented streams so it might not be a performance problem at all.

        like a linked list

        I think the full list of chunks is (currently) known beforehand. That’s how yt-dlp can download on multiple threads, but also how it can show the number of total fragments relatively quickly on the progress bar

  • matto@lemm.ee
    link
    fedilink
    English
    arrow-up
    5
    ·
    9 months ago

    Also, if the ads where in different parts of the video every time, it would not be possible to use SponsorBlock for them :(

  • NuXCOM_90Percent@lemmy.zip
    link
    fedilink
    English
    arrow-up
    5
    ·
    9 months ago

    It was inevitable (and is arguably the “logical” extension of sponsor segments).

    As for what it will do to timestamps: The same thing it does to timestamps in podcasts. Some podcast players have a special way to tag the timestamp to adjust with the inserted ads but NOBODY hosts with those. So they are rendered useless.

    On the youtube side? They could potentially be auto-adjusted because youtube will know how many ads were inserted . But considering the goal of this is to serve ads…

  • robber@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 months ago

    Step by step, it seems, YouTube is evolving into something that has previously been called TV.

    • Ibuthyr@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      1
      ·
      9 months ago

      If they carry on with this bullshit I’ll be dropping them entirely for Nebula. I quite enjoy Nebula so far.

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

        I really like the idea of Nebula, but the way they market themselves as “creator owned” without being an actual workers cooperative seems deceitful (still much better than YouTube, though!)

      • ssm@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        edit-2
        9 months ago

        Support a federated open source peertube instance instead of proprietary centralized paywalled garbage like Nebula. Just because the shittification isn’t there yet doesn’t mean it won’t be as soon as it gets a bit more popular.

        • Ibuthyr@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 months ago

          I firmly believe that quality content needs to be paid somehow. And I’d rather not have that ad based. But I’m open to other platforms too. I’m just giving this a go and there’s some good content on Nebula.

  • casmael@lemm.ee
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 months ago

    Wow that’s very annoying. What does this mean for the future of adblocking?

      • Lianodel@ttrpg.network
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 months ago

        The last time Google pulled out all the stops to fight ad blockers, I had to update uBlock Origin every now and then until the whole thing passed. That’s all.

        So I’m not worried. But I am amused that they keep making ads more obnoxious, which pushes more people to use ad blockers. I didn’t even use sponsorblock until a particularly egregious bit of native advertising. They could probably gain ground by just making ads less irritating, but they absolutely will not.

      • elxeno@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 months ago

        This one might be harder, if YT just sends the ad like it was part of the video file, generating it on the fly, it’s a lot harder to detect, and probably not too hard for them to do, but breaking timestamps is pretty bad for some types of videos, like tutorials.

  • FreudianCafe@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 months ago

    If they are part of the video you cant just skip them like any other part of the video, right?

    • aCosmicWave@lemm.ee
      link
      fedilink
      English
      arrow-up
      5
      ·
      9 months ago

      Different users would see unique ads. So your ad could be 12 seconds long while my ad is 30 seconds long. A timestamp based skip would no longer work universally.

  • d-RLY?@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 months ago

    At least it should still work with the hard coded sponsor spots that are actually part of the videos (like the “brought to you by Manscaped” or whatever).

    • Darkassassin07@lemmy.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      Only if the ads are a fixed length and always in the same place for each playback of the same video.

      Inserting ads of various lengths in varying places throughout the video will alter all the time stamps for every playback.

      The 5th minute of the video might happen 5min after starting playback, or it could be 5min+a 2min ad break after starting. This could change from playback to playback; so basing ad/sponsor blocking on timestamps becomes entirely useless.

  • recursive_recursion [they/them]@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    9 months ago

    I wonder if this is where AI might be useful where it’s used to filter out all of the megacorp ads, popups, and other random garbage?

    • train LLMs on megacorp content and use it to filter out results
      • sponsorblock adds this as a toggleable option just like the “skip segment” UI video overlay button
    • ssj2marx@lemmy.ml
      link
      fedilink
      English
      arrow-up
      0
      ·
      9 months ago

      People will say, “but then how could a website like YouTube exit at all?”

      To which I say that we should retvrn to sharing funny videos via long email chains.

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

        See Flash websites ripping each other off for five years on either side of Youtube’s introduction.

        See Bittorrent moving more video than Netflix until like 2012.

        See twenty years of web-based P2P experiments. Weirdos with fat hard drives (hi) will always be happy to seed.

        Or - crazy thought - services could cost money. It would not take much. Youtube’s not getting ten bucks each time you watch a video. Bandwidth and storage keep getting cheaper. Nor are they paying for content, unlike Netflix and so on, and those fuckers are also considering ads.

        • ssj2marx@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          8 months ago

          I’ve got no problem paying money for a service that’s worth it. I still buy games on Steam even though I know how to pirate them because Valve’s service is so goddamn convenient it beats piracy in many ways.

          Netflix used to be that good, and when YouTube Red rolled out I bought a year of it. But things have deteriorated significantly since then and the price has only gone up.