2P by GN⁺ 2일전 | ★ favorite | 댓글 1개
  • YouTube는 최근 광고 차단 방지 실험을 강화하여 일부 이용자에게 페이크 버퍼링 현상이 나타남
  • 이 페이크 버퍼링은 광고 길이의 약 80%만큼 동영상 시작을 지연시키는 방식으로 작동
  • 사용자는 광고 차단 필터에 특정 설정을 추가하면 이 효과를 일부 우회할 수 있음
  • YouTube는 글로벌 캐시 및 SABR 프로토콜 등 다양한 기술로 광고 차단을 감지 및 대응함
  • 일부 JavaScript 잠금 스크립트로 인해 브라우저, 필터 및 확장프로그램의 동작 제한 현상도 발생

개요

  • 최근 YouTube가 광고 차단 방지 기능을 재차 도입하여 실험 중임
  • A/B 테스트를 통해 일부 계정에만 실험적 기능이 적용되고 있음
  • 사용자는 uBlock Origin이나 Brave 브라우저에서 이들 변화를 피할 수 있는 필터를 사용할 수 있음(기본 필터에 이미 포함)

페이크 버퍼링 현상

  • 주요 현상은 동영상 시작 시 길어진 버퍼링임(중간에는 해당 없음)
  • 이 페이크 버퍼링 길이는 원래 광고를 봐야 했던 시간의 80% 수준
  • 예를 들어 광고가 15초라면, 사용자는 12초 정도 버퍼링을 겪게 됨
  • 여러 광고가 연속으로 있는 경우 각 길이의 80%를 합친 시간만큼 대기 효과가 발생함
  • 광고 차단 사용자는 여전히 시간 이득을 보게 됨

내부 구조 및 작동 원리

  • InnerTube는 YouTube의 공식 내부 API로, 웹·모바일 클라이언트가 동영상과 관련 정보 접근에 사용함
  • 비디오 스트림은 GVS(Google Video Services) 를 통해 전달되며 링크는 시간이 만료되어 재생성이 필요함
  • 유튜브는 네트워크 부하 최적화를 위해 Google Global Cache 서버도 활용함
  • 과거에는 단순히 쿼리 매개변수로 비디오 범위를 설정했으나, 최근에는 SABR(Server ABR) 라는 독자적 바이너리 프로토콜을 사용함
  • SABR는 필요 시 backoff(지연 명령) 를 보내, 클라이언트가 일정 시간 대기하게 유도함

페이크 버퍼링의 실제 발생 원인

  • 광고 차단 탐지 시, InnerTube는 GVS 스트림에 광고 길이의 80%만큼 backoff를 포함시킴
  • 이 backoff는 광고 차단 여부와 관계 없이 A/B 테스트 그룹에 속할 경우 항상 적용됨
  • 광고가 차단되지 않은 사용자는 백엔드에서 content video를 미리 로드하여 이런 지연을 체감하지 않음
  • "Experiencing interruptions" 등의 알림은 장기간 backoff로 인해 표시되는 현상임
  • 웹상에 떠도는 "CPU 과부하 이슈" 등은 사실 아님

광고를 원천 차단하는 방법

  • 광고 스트림 자체를 받지 않기 위해 isInlinePlaybackNoAd 속성을 true로 설정할 수 있음
  • JSON 요청에 "isInlinePlaybackNoAd":true 항목이 들어가면, InnerTube는 광고와 backoff를 포함하지 않음
  • uBlock Origin 사용자 필터에 관련 규칙을 삽입하여 자동 적용 가능
  • 이 속성은 프론트엔드 JavaScript 및 Protocol Buffers 정의에서 확인 가능함

한계와 부작용

  • 해당 방식은 이미 로딩된 YouTube 싱글 페이지 앱 내에서의 내비게이션(따뜻한 로딩) 에서만 우회 가능함
  • 최초 진입(콜드 로딩)시엔 백엔드에서 제공된 초기 데이터로 인해 적용 불가
  • 강제로 초기 데이터를 제거하는 시도는 라이브 스트림, 페이지 속도, 사용자 경험 등 여러 문제점을 유발함

잠금 스크립트(Locker Script)의 차단 우회

  • YouTube는 일부 실험 집단에 `` 태그 상단에 글로벌 객체들을 수정 불가 상태로 만드는 잠금 스크립트를 삽입함
  • uBlock Origin 등 확장은 해당 스크립트가 실행되기 전에만 객체 후킹을 할 수 있음
  • Firefox는 HTML 필터링으로 이를 우회 가능하지만, Chromium 브라우저는 이 방식을 지원하지 않음
  • 이에 대응해 Object.assign 후킹 방식으로 필터 우회 가능
  • 이 방법을 이용할 경우 고급 Proxy 기능을 사용하여 "isInlinePlaybackNoAd":true 삽입이 가능함
Hacker News 의견
  • 최근에 YouTube를 완전히 끊은 경험 공유, 예전엔 교육적/과학적 우수 콘텐츠를 하루에 몇 시간씩 볼 정도로 많이 보던 사용자였지만, 실제로는 필요하지 않았음을 깨달은 느낌, 덤으로 광고 없이 깨끗해진다는 점 언급, 누군가가 유튜브 영상을 주면 가끔 보긴 하지만 일부러 접속하지 않는 생활, 모두에게 YouTube 같은 수동적 엔터테인먼트 소비를 줄이고 창의적이고 의식적인 활동으로 시간을 돌려보길 강력 추천

    • 그냥 결제해서 쓰는 방법도 있다는 얘기, 가족 모두가 구독 플랜을 써서 광고 없는 환경에서 지내는 중, 충분히 가성비 좋다고 느낌, 영상 없이도 오토바이 빌드 프로젝트를 끝낼 순 있겠지만 굳이 그럴 필요 있을까라는 생각

    • Netflix도 같은 방식으로 끊었고, Prime도 해지하면서 Amazon 전체 이용 중단, 물론 AWS만큼은 데이터 때문에 사실상 불가능이라 예외, YouTube는 광고 없는 플랜으로 사용 중이며 만약 광고 프리 약속을 어긴다면 YouTube도 영구정지 대상

    • YouTube 계정을 삭제하고 Patreon으로 이동, Patreon에서 구독하는 크리에이터 영상은 여전히 YouTube에서 알림 받으며 볼 수 있는데, 이 덕분에 훨씬 의도적이고 퀄리티 높은 콘텐츠 소비가 가능해짐

    • 대규모 인구가 이런 플랫폼에 중독돼 있는 현실 언급, 이것은 ‘담배 2.0’의 시대라는 비유

    • 최고의 과학 프로그램은 PBS와 Nebula 같은 플랫폼에도 많이 있다는 팁

  • 구글이 광고 강제를 계속하는 한, 우리가 노출되는 광고의 부적절함과 사기성 광고에 더 예민하게 주목하고 감시해야 한다는 의견, 특히 광고 차단만이 가족과 자신을 유해 광고로부터 지킬 방법이 될 때, 구글이 송출하는 광고 자체에 더 많은 책임을 요구해야 성립된다는 주장

    • 요즘 YouTube 광고 수준이 너무 낮고 부적절해서 경악, 경영진들이 KPI나 보너스, 승진만을 위해 기준치를 바닥에 두는 상황, 모바일에서 썸네일로 포르노 광고까지 본 경험이 있을 정도라 과거 Evony Online 광고보다도 더 심각, YouTube가 성장 정체에 빠진 징조로 보인다는 견해

    • TV 방송에서는 광고 시간이 일정하게 관리되는 반면 YouTube에는 형편없는 광고가 너무 많고 길게 나와서, 가끔씩은 배경 재생 중에 5초 스킵 가능한 광고를 넘겨도 30분, 심지어 더 긴 인포머셜이 끼어드는 상황, 이런 긴 광고가 의도치 않게 시청 흐름을 방해하는데도 허용한다는 것이 이상하고 거의 범죄적이라고 생각, 이런 광고를 유치하려면 유튜브도 엄청난 광고비를 받으리라 추정

    • 콘텐츠 제작과 플랫폼 구축에 드는 노력과 노동에는 정당한 보상이 있어야 한다는 원칙, 책, 영화, TV, 뉴스 등 모든 콘텐츠는 돈이나 광고 시청을 통해서든 대가를 치르는 구조라는 설명, 광고가 싫으면 유료 구독을 권유

    • 광고 차단 개발자를 예찬하는 ‘Thin Adblock Writer Line’ 깃발이 있다면 이미 차에 달아두었을 거라는 유쾌한 응원

    • 단순히 프리미엄 요금제 결제하면 된다는 제안, 누구도 강제로 유튜브를 쓰라고 하지 않는다는 메시지

  • Firefox에서 HTML 필터로 광고 차단이 쉽게 가능함을 언급, 단 이 방식은 Chromium에서 확장 API가 없어서 불가능하다는 사실에 놀랐다며 개발 환경 차이에 충격

    • Chrome이 “Manifest V3” 정책으로 uBlock Origin 같은 광고 차단 확장 기능을 못 쓰게 되는 순간, 대안 브라우저로 즉시 갈아탈 것이라는 결심
  • 최근 YouTube의 버퍼링 시간 지연을 자주 경험하고 있지만, 사실 크게 불편하지 않다는 입장, 광고가 거슬리는 이유는 시간이 아니라 원래 원하지 않은 오디오와 영상을 강제 노출하는 점, 12초 버퍼링 동안엔 그냥 이메일을 확인하거나 잠깐 멍 때리는 방식으로 자연스럽게 적응, 오히려 매번 버퍼링이 반복되면 뇌가 자동으로 무시하는 패턴으로 느껴짐, 오히려 5개 중 1개처럼 가끔이면 더 거슬릴 듯

    • 영상 재생 초기 딜레이와 함께 ‘재생이 느린 이유를 확인하세요’라는 팝업을 종종 보지만, 이미 이유를 알고 있어서 별로 신경 쓰지 않는다는 태도
  • ‘왜 우리는 광고 차단을 정당화할까? 콘텐츠에는 비용이 들고, 저장과 배포에도 돈이 드는데, 광고 차단에 도덕적 근거나 특권 의식을 느낄 이유가 있을까?’라는 근본적인 질문 제시, 단순히 광고가 불쾌해서라면 스스로 ‘왜 우리는 무료를 당연하게 여기는가?’를 되물어야 한다는 생각, 도덕적 판단이 아니고 순수히 이해하려고 하는 질문

    • 과거 구글 애드센스는 페이지당 광고 3개 제한이 있었고 위반 시 정지까지 됐지만, 지금은 한 웹페이지에 10개, 15개 이상 광고가 심어져 있음, YouTube도 초반 배너에서 시작해 영상 전부터 중간 광고, 자체 내의 스폰서드 구간, 프리미엄 구독자에게도 하단 광고 등이 범람, Google 검색마저 광고가 상단을 다 채워서 유기농 결과를 내리스크롤해야 나오는 정도, 무료 사용의 권리를 주장하고 싶진 않지만, ‘너무 지나쳤다’는 생각에서 모든 기기에서 애드블록을 쓴다는 설명

    • “왜 우리는 무료에 권리를 느끼는가?”라는 질문 자체가 현실 사용자들의 사고방식과 다름을 지적, 할 수 있으니 하고 싶어서 하는 것이고, 그걸 막을 윤리적 이유가 필요, 누군가가 광고를 꼭 봐야만 한다는 윤리적 의무는 없다고 주장, 오히려 광고는 인간의 주의력을 조작하고 이득을 취하는 본질적으로 조작적이고 사생활 침해적이라 원천적으로 강제할 수 없는 계약이라고 설명

    • Google이 사용자를 위하는 척하면서 실제로는 적대적이고 반경쟁적으로 변하고 있으니 광고 차단은 마치 전쟁에서 총을 드는 것과 같다고 비유, 광고는 원래 차단이 어렵거나 불가능했지만, 오늘날에 블록하는 광고 대부분은 사실 광고-감시의 혼합된 하이브리드라는 설명, 관련기사와 추가 배경지식 링크 제공

    • 유튜브 크리에이터가 전체 수익의 55%를 받는 구조 지적, 구글의 막대한 이익 중심 체계를 비판하는 분위기 속에서도 실제로 대다수 주요 비용은 크리에이터에게 돌아가는 것이 현실, Patreon 후원 같은 적극적 참여는 일부 열성 팬만이 실천하며, 무료 만찬을 먹으며 식당에 불평만 늘어놓는 대다수 사용자들은 비용 부담을 회피하고 있다는 점 꼬집음

  • Object.defineProperty를 사용해서 글로벌 오브젝트의 속성을 비가변으로 만들어 환영객체를 통한 차단 회피가 가능하게 하는 스크립트의 동작이, 브라우저 혹은 스펙상 심각한 결함이라는 지적, 페이지 콘텐츠와 스크립트가 브라우저 확장 프로그램의 기능을 제한할 수 있어서는 안 된다는 주장

    • 실제로 이런 문제가 Chrome의 ‘기능’이라며, 2년 전쯤 Chrome이 확장 프로그램 초기화를 지연시키는 업데이트를 적용해, 마지막에 닫은 페이지가 필터와 차단 없이 빠르게 로드되고 그 과정에서 광고 차단기 탐지도 가능하게 됐다는 설명
  • 본인은 광고 차단의 목적이 주의 산만과 맥락 전환 방지에 있다고 밝히는 등, 광고가 주는 정보 과부하 때문에 이미 높은 인지적 부하에 더해지는 불편을 참기 힘들다는 의견

    • YouTube 보면서 어떻게 인지적 부하가 높을 수 있는지 반문, 중간에 실제 수술 훈련 영상을 관찰하며 심장이식 수술이라도 하고 있는지 궁금증 표시

    • 월 13달러만 지불하면 맥락 전환 걱정 없이 쉽게 해결 가능하다는 의견, 높은 인지적 부하라면 그만큼 충분히 잘 벌 것 같으니 그렇게 하는 게 더 효율적이라는 주장

  • 광고 제거와 콘텐츠 제작자 수익 보전을 위해 온 가족이 Youtube Premium을 기꺼이 결제한다는 사람의 경험 담백하게 전달

    • 자기는 그런 거 전혀 동의하지 않고 Newpipe를 활용, 돈 한 푼 안 들이고 광고 없이 사용 중이라는 태도

    • 위 글이 풍자인지 아닌지 헷갈리지만, 진심이라면 인터넷 대지주에게 아주 밝고 자진해서 돈을 추가 지불하는 사람을 보는 게 의외라는 생각

  • YouTube가 아예 광고를 영상 스트림에 직접 주입하지 않는 게 의외라는 견해, HLS/DASH 환경에선 중간에 콘텐츠를 쉽게 끼워넣을 수 있기 때문에 스트림에 포함하면 광고 차단이 어려워질 것이라 예상, 게다가 재생속도로 패킷 전송을 제한하면 미리 다운받아 우회하는 것도 막을 수 있다는 분석

    • 이런 환경에서도 HLS가 워낙 하드웨어 대단위로 최적화되어 있어서, 타겟팅 광고를 위해 계산량을 추가하면 비용이 폭증할 수밖에 없다는 설명, Netflix가 스트리밍 엣지 서버 성능 최적화 자료를 참고하면 관련 내용을 더 알 수 있다는 추천

    • YouTube가 변화를 너무 빠르게 시도하지 않고 서서히 적용하려고 한다고 분석, 곧 스트림에 광고를 직접 삽입하는 시나리오가 펼쳐질 거라는 예측, 현재는 광고와 영상 스트림이 분리되어 있지만 곧 서버측 광고 삽입 실험도 별도로 진행 중이라는 내용

    • SponsorBlock, Tubular 같은 타임스탬프 기반의 군중 지성형 광고 차단 흐름을 소개, 앞으로는 기기 내 실시간 AI 콘텐츠 인식 광고 차단도 나오게 되어, 아무리 막아도 광고 차단은 쉽게 끝나지 않을 것이라는 자신감

    • 실제로도 YouTube는 현재 서버 기반 광고 삽입(SSAI) A/B 테스트를 진행 중이라며, 본인은 아직 해당 광고를 경험하지 못하지만 관련 현황을 공유

    • 클라이언트가 광고를 영상에 삽입하듯이 잘라낼 수도 있다고 판단, sponsorblock처럼 군집 데이터베이스 기반이면 광고 탐지가 충분히 가능하며, 스트림 광고도 우회 차단 가능하다고 주장