2P by GN⁺ | ★ favorite | 댓글 1개
  • YouTube는 광고 차단 사용자에게 광고 대신 영상 시작 전 가짜 버퍼링처럼 보이는 지연을 주는 방식을 A/B 테스트 중임
  • 지연은 SABR 스트리밍의 backoff로 구현되며, InnerTube가 첫 콘텐츠 /videoplayback 요청에 광고 길이의 80%만큼 대기하라는 응답을 줌
  • 광고를 차단하지 않는 사용자는 광고 재생 중 콘텐츠 로딩이 진행되므로 같은 backoff가 있어도 지연을 거의 체감하지 않음
  • isInlinePlaybackNoAdtrue로 넣으면 InnerTube가 광고를 제공하지 않아 GVS 스트림의 backoff도 사라지며, uBlock Origin 기본 필터 목록에 관련 우회가 포함됨
  • YouTube는 일부 실험에서 JSON.stringify 같은 전역 객체를 잠그는 locker script로 필터 훅을 방해하며, Chromium에서는 Object.assign 훅으로 우회함

가짜 버퍼링이 생기는 지점

  • YouTube는 최근 몇 달 동안 새로운 광고 차단 방지 조치를 A/B 테스트하고 있음
  • 관찰된 조치 중 하나는 영상 시작 시점에만 나타나는 가짜 버퍼링
    • 영상 중간에는 발생하지 않음
    • 지연 시간은 원래 봤을 광고 길이의 80%임
    • 광고 차단기를 사용해도 광고 전체를 보는 것보다는 시간이 절약됨
  • 예시는 다음과 같음
    • 15초 광고가 있으면 12초 backoff가 발생함
    • 건너뛸 수 없는 6초 광고와 15초 광고가 함께 있으면 16.8초 backoff가 발생함

InnerTube, GVS, SABR의 역할

  • InnerTube는 YouTube 웹 클라이언트와 모바일 앱이 영상 정보와 세부 데이터를 가져오는 내부 API임
    • 엔드포인트는 https://www.youtube.com/youtubei/ 형태임
    • /youtubei/v1/player는 사용자가 영상을 클릭했을 때 URL 데이터와 GVS 스트림 URL을 얻기 위해 호출됨
  • GVS는 YouTube, Google Drive, Google Photos의 영상 스트림을 제공하는 Google Video Services임
    • GVS에서 영상을 스트리밍하려면 InnerTube 또는 Drive/Photos 내부 API에서 /videoplayback URL을 받아야 함
    • GVS URL은 서명되어 있고 보통 6시간 만료 시간이 있어 직접 만들 수 없음
    • ISP는 Google Global Cache 서버를 자체 인프라에 둘 수 있어 YouTube 트래픽을 ISP 네트워크 밖으로 보내지 않고 제공할 수 있음
    • GGC는 공개 또는 일부 공개 YouTube 영상만 제공하며, 비공개 YouTube 영상과 Drive/Photos 영상은 항상 Google 데이터센터에서 제공됨
  • YouTube 웹 클라이언트는 원래 GVS URL의 쿼리 파라미터로 필요한 영상 범위를 지정해 스트리밍했음
  • 이후 YouTube는 SABR를 사용함
    • SABR는 Server ABR, 즉 서버 측 적응형 비트레이트용 YouTube 독자 바이너리 프로토콜임
    • MPEG-DASH 같은 공개 형식보다 버퍼링을 더 잘 피하도록 설계됨
    • 서버가 클라이언트에 영상·오디오 데이터를 보내는 대신 일정 시간 기다렸다 다시 시도하라는 backoff를 보낼 수 있음

backoff는 광고 차단 판정과 별개로 적용됨

  • 가짜 버퍼링은 InnerTube가 첫 번째 콘텐츠 /videoplayback 요청에 광고 길이의 80%에 해당하는 backoff를 포함한 GVS 스트림을 제공하면서 발생함
    • 대상은 광고 스트림이 아니라 콘텐츠 영상 스트림임
    • 광고와 콘텐츠 스트림은 여전히 분리되어 있음
    • 이는 서버 측 광고 삽입이 아니며, YouTube의 서버 측 광고 삽입 실험은 별도로 진행됨
  • “Experiencing interruptions” 대화상자는 GVS의 긴 backoff 때문에 트리거될 가능성이 있음
  • A/B 테스트 대상이면 이 backoff는 YouTube가 사용자를 광고 차단 사용자로 판단하는지와 무관하게 항상 발생함
    • 광고를 차단하지 않으면 웹 클라이언트가 광고 재생 중 콘텐츠 영상을 로딩함
    • 사용자가 체감하는 차이는 콘텐츠 영상 버퍼링이 광고가 80% 진행된 뒤에야 시작된다는 점임
  • YouTube가 광고 차단 사용자의 CPU 사용량을 급증시켜 컴퓨터를 손상시킨다는 온라인 주장은 사실이 아님
    • backoff 만료를 기다리는 동안 YouTube가 CPU를 사용하지 않음
    • 설령 대기를 spinloop로 구현해도 30초 미만으로 단일 코어를 최대로 쓰는 수준은 CPU를 손상시키지 않음

isInlinePlaybackNoAd로 광고 제공을 피하는 방식

  • backoff를 피하려면 건너뛸 수 없는 광고가 끝날 때까지 기다리는 대신 광고가 애초에 제공되지 않게 해야 함
  • player 요청의 playbackContext.contentPlaybackContext.isInlinePlaybackNoAd 속성을 true로 설정하면 InnerTube가 광고를 제공하지 않음
    • 광고가 제공되지 않으면 GVS 스트림에 backoff도 포함되지 않음
  • 웹 클라이언트가 서버 요청용 JSON을 문자열화할 때 "isInlinePlaybackNoAd":true를 추가하는 필터 규칙을 만들 수 있음
www.youtube.com##+js(trusted-replace-outbound-text, JSON.stringify, 'contentPlaybackContext":{', 'contentPlaybackContext":{"isInlinePlaybackNoAd":true,', condition, 'contentPlaybackContext')
  • isInlinePlaybackNoAd 속성은 프런트엔드 JavaScript에 참조되어 있음
  • req2proto를 사용하면 /youtubei/v1/player 호출에 쓰이는 protobuf 정의를 추출해 해당 속성을 찾을 수 있음
    • YouTube 웹 클라이언트는 InnerTube와 JSON으로 통신하지만, 이 JSON API는 Protocol Buffers 정의에서 생성됨

warm navigation에서만 안정적인 한계

  • 이 방식은 이미 YouTube 단일 페이지 앱을 로드한 뒤 내부에서 클릭해 이동하는 warm navigation에서만 동작함
  • watch 페이지로 직접 들어가는 cold load에서는 YouTube 백엔드가 player 응답을 ytInitialPlayerResponse로 페이지에 직접 삽입함
    • player 요청이 백엔드에서 만들어지기 때문에 isInlinePlaybackNoAd를 설정할 수 없음
  • cold load를 우회하는 한 방법은 초기 데이터를 제거해 제어 가능한 player 요청을 강제로 만들도록 하는 것임
www.youtube.com##+js(set, ytInitialData, undefined) ! bad idea, see below
www.youtube.com##+js(set, ytInitialPlayerResponse, undefined) ! bad idea!
  • 이 접근은 부작용이 커서 사용하기 어려움
    • 라이브스트림을 완전히 깨뜨림
    • 테스트되지 않은 다른 기능도 깨질 수 있음
    • 영상 플레이어가 잠깐 깜빡임
    • 페이지 로딩 시간이 느려짐

locker script와 Chromium 우회

  • 필터가 어느 정도 동작했지만, 때때로 uBlock Origin이 JSON.stringify를 훅하지 못하는 경우가 있었음
  • YouTube는 일부 A/B 테스트에서 프런트엔드 HTML의 <head> 태그 맨 앞에 locker script를 추가함
    • 이 스크립트는 Object.definePropertyfetch, JSON, JSON.stringify, JSON.parse, Array, Array.prototype.push, Array.prototype.forEach 등을 non-writable로 만듦
    • 이후 코드가 Proxy로 동작을 바꾸는 것을 막음
  • uBlock Origin은 locker script보다 먼저 실행될 때만 JSON.stringify를 프록시할 수 있음
  • Firefox에서는 HTML filter로 페이지 파싱 전 소스 HTML에서 해당 스크립트 태그를 제거할 수 있음
  • Chromium은 필요한 확장 API를 지원하지 않아 같은 방식으로 처리할 수 없음
  • 현재 우회는 JSON.stringify 대신 Object.assign을 훅하는 방식임
    • Object.assign도 fetch 전에 요청 본문을 처리하는 함수임
    • locker script 자체를 무력화하는 방법이 아니라 우회에 가까움
    • uBO scriptlet이 객체 키의 텍스트 치환을 허용하지 않아 필터 목록은 JavaScript를 주입함
(() => {
    const e = {
        apply: (e, n, arguments) => {
            let t = Reflect.apply(e, n, arguments);
            return 3 === arguments.length && t?.body && "string" == typeof t.body && !t.body.includes(`"isInlinePlaybackNoAd":true`) && (t.body = t.body.replace(`"contentPlaybackContext":{`, `"contentPlaybackContext":{"isInlinePlaybackNoAd":true,`)), t
        }
    };
    window.Object.assign = new Proxy(window.Object.assign, e)
})();
  • 이 우회 작업에는 uAssets 유지보수자들이 도움을 줌

참고 자료

댓글과 토론

Hacker News 의견들
  • 광고를 불쾌하게 만드는 핵심은 맥락과 무관함이라고 봄
    시골길 옆 광고판이 싫은 것도 운전 맥락과 맞지 않기 때문이고, YouTube 영상을 볼 때 상업적 메시지가 끼어드는 것도 지금 하는 일과 전혀 관련이 없음
    반면 Costco에서 타이어 광고를 보면 그곳은 물건을 사러 가는 공간이고, 같은 건물에서 바로 살 수 있으니 거의 모든 광고가 맥락에 맞음
    그래서 Costco 광고에는 불평하지 않지만, YouTube 광고는 무관하고 이상한데도 정상화되어 있어서 불평하게 됨

    • 광고판을 싫어하는 이유가 무관해서만은 아님
      광고판은 거대하고 못생긴 주의 끌기 장치라서 세상을 더 보기 싫게 만들고, 누군가 돈을 벌기 위해 모두의 환경을 망침
      YouTube 광고도 우리가 원하는 영상 앞을 막고 원치 않는 행동을 강요하기 때문에 싫은 것이고, 정말 좋아한다면 영화 예고편이나 Super Bowl 광고처럼 일부러 찾아봤을 것임
    • 기술 회사들이 “광고가 더 관련 있으면 사용자가 좋아할 것”이라고 반복하지만, 광고는 기본적으로 남에게 더 이익이 되도록 내 주의를 빼앗는 원치 않는 개입이라서 결코 좋아지지 않음
      광고 없는 물리적·가상 공간이 정신적으로 더 쾌적하고, Acropolis나 Great Barrier Reef 같은 장소를 더 좋게 만들 광고는 상상할 수 없음
      광고는 우리가 참아주는 오염에 가깝다
    • 광고가 싫은 이유는 시끄럽고 번쩍이고 짜증 나며, 특히 YouTube가 너무 많이 밀어 넣기 때문임
      노래 중간의 전환 공백까지 감지해서 광고를 넣으려 하고, 빈도도 방송 TV보다 심함
      플랫폼은 광고주의 표현을 마음대로 허용하지 말고 정적 이미지, 디졸브, 음성 내레이션 같은 형식 제한을 둬야 함
      Google Search의 Adwords도 그런 방식으로 오랫동안 잘 돈을 벌었고, YouTube가 만든 쓰레기 같은 수익화 인센티브는 부끄러워해야 할 수준임
    • 광고는 누군가 내 돈을 얻으려고 요청하지도 않은 내 주의를 훔치는 것이어서 불쾌함
      개념 자체가 모욕적이고, 잘해야 물질주의를 부추길 뿐임
    • 광고의 대상은 내가 아니라는 점을 봐야 함
      대부분의 광고는 덜 비판적인 소비자나 아직 순진한 젊은 소비자를 노리고, 그런 사람이 압도적으로 많음
      여성 음악가가 음악보다 화장품 브랜드에 이름을 붙여 더 많은 돈을 벌고, Elon이 비현실적 약속을 하며, Apple이 매장 기술지원 직원을 Genius라고 부르는 것도 같은 맥락임
      대중 구매자는 헤드라인만 보고 믿는 경우가 많음
  • Google이 광고를 강제로 밀어붙일수록, 그들이 올리는 부적절하고 사기성 짙은 광고를 더 면밀히 봐야 함
    광고 차단을 못 본 척하지 않겠다면, 가족과 나를 위험한 광고에 노출하지 않기 위한 유일한 방법까지 막는 셈이니 어떤 광고를 집행하는지 훨씬 더 큰 감시를 받아야 함

    • 방송 TV조차 보통 15초, 30초, 60초 광고와 정해진 광고 묶음이 있는데, YouTube에는 5초 후 건너뛰기를 넘겨두면 30분짜리 정보광고까지 흘러나오는 경우가 있음
      백그라운드로 틀어놓고 다른 일에 집중하다가 전혀 다른 긴 영상이 끼어드는 것은 흐름을 완전히 끊고, 남의 콘텐츠를 긴 형식 콘텐츠로 방해할 수 있게 둔다는 게 이상함
    • YouTube 광고의 수준과 부적절함은 믿기 어려울 정도임
      성장 압박이나 핵심성과지표 때문에 보너스·승진을 노리는 관리 계층이 기준을 바닥까지 낮춘 느낌이고, 모바일 정지 이미지 광고에서 포르노성 이미지까지 본 적이 있음
    • 광고가 싫으면 서비스를 돈 내고 쓰면 됨
      광고 없이 무료로 콘텐츠를 누릴 자격이 당연히 있는 것은 아님
    • 콘텐츠를 만들고 플랫폼을 구축한 사람들은 보상을 받아야 함
      책, 영화, TV, 뉴스도 결국 돈을 내거나 광고를 보는 시간으로 배포 비용을 치르며, 광고를 보기 싫다면 YouTube 구독을 사는 게 맞음
    • 광고 차단 개발자들을 위한 깃발이 있다면 이미 범퍼에 붙였을 것 같음
      그들의 수고에 경의를 표함
  • 최근 YouTube 시청을 완전히 끊었는데, 의외로 그립지 않음
    예전에는 교육·과학 콘텐츠 위주로 하루 몇 시간씩 봤지만, 실제로 삶에 필요 없는 것이 얼마나 많은지 알게 됨
    누가 가끔 영상을 보내면 보지만, 플랫폼과는 거의 관여하지 않음
    모두 YouTube 같은 수동적 오락 섭취를 줄이고 더 창의적이거나 마음챙김에 가까운 활동으로 시간을 돌려보길 권함

    • 그냥 돈을 내면 됨
      가족 전체를 요금제에 넣어 광고가 없고, 가격 대비 괜찮음
      오토바이 조립 프로젝트를 영상 없이 끝낼 수는 있겠지만 굳이 그럴 이유가 없음
    • 어떤 사람들에게 YouTube는 창의적이고 마음챙김이 있는 활동의 일부임
      예전의 전문 잡지처럼 관심사를 키워주고, 무언가 하는 방법을 설명하며, 전 세계의 비슷한 관심사를 가진 사람들과 공동체를 만들기도 함
      “삶에 필요 없다”는 주장은 설득력이 약함
      엄밀히 필요한 것은 건강, 음식, 주거 정도지만, 살 만한 삶은 아이디어, 취미, 열정, 오락, 프로젝트처럼 꼭 필요하지 않은 것들로 이루어짐
    • 세계 인구의 상당수가 이런 플랫폼에 중독되어 있음
      담배 2.0에 가깝다
    • YouTube 시청 시간을 크게 줄였고 전혀 그립지 않음
      예전에는 재생목록, 즐겨찾기, 구독 채널이 많았지만 다 끊었고, 가끔 일하면서 배경으로 틀 때도 몰입이 필요 없는 것만 봄
      사실 YouTube는 필요하지 않다
    • YouTube 계정을 지우고 Patreon으로 옮겼음
      Patreon으로 지원하는 사람들의 새 YouTube 영상 알림은 받을 수 있어서 볼 수 있지만, 훨씬 더 의도적이고 질 높은 콘텐츠 위주가 됨
  • 최근 버퍼링 지연을 겪고 있는데, 아이러니하게도 크게 거슬리지는 않음
    광고의 짜증은 시간이 걸린다는 점보다 내가 누른 영상이 아닌 오디오와 영상 피드가 재생된다는 데 있음
    실제 광고가 나오면 매우 짜증 나겠지만, 12초 버퍼라면 느린 로딩에 익숙해서 이메일을 잠깐 보거나 생각에 잠기면 됨
    매 영상마다 나오면 경험의 일부가 되어 뇌가 자동으로 걸러내지만, 5개 중 1개꼴이면 오히려 더 의식되고 거슬릴 것임

    • 처음에 “재생이 느린 이유 알아보기” 팝업과 함께 지연이 생기는데, 이미 이유를 알고 있고 그렇게 나쁘지도 않음
    • 지금까지 그 “버퍼링”이 그냥 Google 인프라가 허술해서 그런 줄 알았음
      YouTube는 버그 많거나 원치 않는 변경을 밀어붙이는 평판이 있고, 느린 JavaScript 위젯도 있으니 그냥 그러려니 했음
      광고 차단 사용자를 괴롭히려는 우물에 독 타기라는 생각은 못 했음
    • 줄 서서 기다리는 것과 시끄러운 판매 발표에 갇히는 것의 차이와 비슷함
  • 우리가 보는 콘텐츠는 만들기에도, 저장하고 배포하기에도 비용이 드는데 왜 광고 차단을 정당화하는지 궁금함
    광고가 침입적이거나 짜증 난다는 이유로 합리화하곤 하지만, 왜 이것을 공짜로 받을 권리가 있다고 느끼는지 묻고 싶음
    도덕적 비난이 아니라 실제 논리를 이해하고 싶음

    • Google Adsense를 처음 쓸 때는 페이지당 광고 3개 제한이 있었고 넘기면 차단될 수 있었음
      지금은 문단마다 광고, 사이드바, 전체 화면 팝업까지 10개, 15개 이상 광고 자리도 흔함
      YouTube도 영상 배너에서 시작해 사전 광고, 여러 사전 광고, 10분 미만 영상의 중간 광고까지 늘었고, 창작자가 넣는 스폰서 구간과 Premium을 내도 영상 아래 붙는 상점·티켓 광고까지 있음
      Google Search도 예전에는 상단 광고 1~2개가 다른 배경색으로 표시됐지만, 지금은 자연 검색 결과를 보려면 스크롤해야 할 때도 있음
      무료 접근을 당연한 권리로 여긴다기보다, 너무 멀리 갔기 때문에 모든 기기에서 광고 차단기를 씀
    • 사람들은 할 수 있고 하고 싶으면 하며, 하지 말아야 할 이유가 있어야 멈춤
      따라서 질문은 “왜 공짜를 누리려 하느냐”가 아니라 “무엇이 누군가에게 광고를 보는 것이 윤리적으로 강제된다고 느끼게 하느냐”가 되어야 함
      광고는 조작적이고 감시적이며 인간의 주의 제어 한계를 이용하려 하므로, 광고 시청이나 추적기 다운로드가 윤리적으로 필수일 수는 없다고 봄
    • 자해가 아프고 싫으며 할 필요가 없어서 하지 않듯, 멍청한 광고도 볼 필요가 없음
      광고 차단기는 생긴 이후 계속 써왔고 끌 동기가 없음
      필요하면 Amazon, Spotify, Netflix, Apple 같은 곳에는 실제로 돈을 내므로 돈 문제가 아님
      YouTube에 돈을 내지 않는 이유는 필요하지 않고, Google이 창작자에게 제대로 보상하지 않으며, 조 단위 기업을 후원하려고 형편없는 광고를 견딜 죄책감이 전혀 없기 때문임
      대부분은 광고 차단기를 제대로 쓸 만큼 신경 쓰지 않으니 Google은 YouTube로 많은 돈을 벌고 있고, 제대로 잠그면 사용자와 창작자가 다른 곳으로 갈 수 있어 쉽게 못 할 것임
      여기에는 도덕적 딜레마가 없다
    • Google이 사용자 적대적이고 반경쟁적으로 행동하는 상황에서 “왜 광고를 차단할 권리가 있느냐”고 묻는 건 병사에게 왜 적에게 총을 쏠 권리가 있느냐고 묻는 것과 비슷함
      조작된 경매로 판 광고를 계속 보고 돈을 주면 [1], 결국 웹 접근은 사용자에게 잠긴 브라우저로만 가능해지고 [2], 모든 것이 감시되며, 옵트아웃에도 사용자를 웹과 현실에서 추적하고 [3], 제조사와의 비밀 반경쟁 계약 때문에 대체 운영체제 지원도 시들 수 있음 [4]
      예전 광고는 고속도로 광고판이나 페이지에 포함된 JPEG처럼 거의 막기 어려웠지만, 지금 사람들이 막는 것은 광고라기보다 반쯤 광고·반쯤 감시 장치
      [1] https://appleinsider.com/articles/24/11/25/google-is-three-t...
      [2] https://en.wikipedia.org/wiki/Web_Environment_Integrity
      [3] https://apnews.com/article/828aefab64d4411bac257a07c1af0ecb
      [4] https://web.archive.org/web/20200311172517/https://www.proto...
    • 여기에는 어느 쪽으로도 도덕이 없다고 봄
      Google은 나를 전혀 신경 쓰지 않고, 수익에 도움이 되면 법이 허용하는 한도와 그 이상으로 나를 나쁘게 대할 것임
      나도 같은 기준으로 그들의 서비스에서 나쁜 부분을 제거하기 위해 할 수 있는 만큼 할 것임
      아는 사람이 만든 서비스라면 교환에 더 많은 의무가 있을 수 있지만, 이런 비인격적 구조에서는 그런 의무를 느끼지 않음
  • 서유럽의 언어 경계가 뚜렷한 나라에 사는데, 휴가 때 국경을 넘을 때마다 로그인 상태인데도 YouTube 광고 언어가 바뀜
    운전면허도 없는데 중고차 광고가 가장 흔하고, 연애 중인데 데이팅 사이트 광고가 나오며, 직장이 있는데 구직 조언 광고가 뜸
    심지어 내 출생연도보다 1년 앞선 해 이전 출생자를 대상으로 한 광고도 받았음
    YouTube 광고는 Spotify의 구독 유도 잔소리와 비슷하게, 사용자를 짜증나게 해서 무광고 요금제를 사게 만드는 것이고 실제 광고는 얇은 외피처럼 보임

    • 효과는 있음
      다만 영상 안의 스폰서 콘텐츠는 제거되지 않음
      광고 없는 경험에 돈을 내는데도 여전히 AC1 이야기를 듣고 있어 짜증남
    • 아이들이 어린이 콘텐츠를 보는데 생리대 광고가 뜸
      그래도 Google이 경험을 나쁘게 만들어줘서 스크린 타임 싸움에는 도움이 됨
    • 처음에는 “광고 회사가 나를 추적하고 프로필을 만드는 게 싫다”였고, 이제는 “광고가 관련 없어서 싫다”가 됨
      광고가 100% 완벽할 수 없다는 점을 이해해야 함
      완벽하다면 광고를 볼 때마다 뭔가를 사게 될 것이고, 광고의 99.99%가 빗나가는 것은 정상임
      Google에는 관련 광고를 조정할 수 있는 페이지도 있음: https://support.google.com/My-Ad-Center-Help/answer/12155451...
    • 그들이 수집하는 데이터 양을 생각하면 시스템이 정말 그렇게 멍청하다는 게 믿기 어려움
  • Firefox에서는 HTML 필터로 페이지 파싱 전에 소스 HTML의 script 태그를 걸러낼 수 있지만, Chromium은 그런 확장 API를 지원하지 않는다는 점이 놀라움

    • YouTube가 이런 식으로 광고를 밀어붙인 덕분에 브라우저 선택에 관심 없던 비기술 지인 몇 명이 Firefox와 uBlock Origin으로 옮겼음
      Chrome에서 광고 차단은 번거롭고 Google 자체 서비스에서는 사실상 잘 안 됨
      예전에는 Chrome을 쓰지 말라고 권해도 거의 소용없었는데, 이제는 스스로 바꾸는 사람들을 보니 약간의 희망이 생김
    • Chrome이 “차단형 Web Request 없는 Manifest V3” 계획의 일부로 uBlock Origin을 버리는 순간 대체 브라우저로 옮길 것임
      이제 충분히 참았다
  • YouTube가 버퍼링 같은 일을 해도 크게 상관없음
    내게 광고 차단은 주의 산만과 맥락 전환을 막기 위한 것이고, 이미 인지 부하가 높은 상태에서 더 많은 쓰레기를 걸러내야 하는 게 매우 짜증남

    • YouTube를 보면서 인지 부하가 높을 수 있다는 게 가능한가
      심장 이식 중에 수술 교육 영상을 보는 것도 아니고
    • 그냥 월 13달러를 내면 됨
      맥락 전환 걱정도 줄고, 인지 부하가 높을 정도라면 월 13달러보다 훨씬 많이 벌 것 같음
  • 광고를 영상 스트림에 직접 주입하지 않는다는 게 의외임
    개인적으로 광고를 원하진 않지만, 그렇게 하면 문제를 하룻밤 사이 해결할 수 있을 듯함
    재생 속도에 맞춰 속도 제한을 걸면 스트림을 미리 내려받기도 어렵고, 지금은 모두 HLS/DASH를 쓰니 재인코딩 없이 스트림 중간에 다른 콘텐츠를 쉽게 넣을 수 있음

    • 비용 문제일 가능성이 큼
      HLS는 하드웨어 수준까지 극도로 최적화되어 있어서, 타기팅을 위한 연산을 조금만 추가해도 비용이 기하급수적으로 늘 수 있음
      Netflix가 스트리밍 엣지 서버 최적화를 다룬 글들이 꽤 좋았음
    • 개구리를 너무 빨리 삶고 싶지 않은 것임
      결국 YouTube는 광고를 스트림에 직접 삽입할 가능성이 큼
      글에서도 이것은 서버 측 광고 삽입이 아니며, 광고와 콘텐츠 스트림은 아직 분리되어 있고 YouTube의 서버 측 광고 삽입 실험은 가짜 버퍼링과 별개라고 함
    • SponsorBlock, Tubular처럼 타임스탬프 기반 크라우드소싱 광고 차단이 이미 있음
      곧 기기 내 실시간 콘텐츠 인식 인공지능 광고 차단도 나올 것이고, 결국 차단 쪽이 이길 것임
    • Twitch는 어떻게 하는지 궁금함
      꽤 공격적인데, 광고를 잘 숨기는 서드파티 클라이언트를 써도 가끔 콘텐츠도 광고도 아닌 “다 같이 로비로 갑시다” 같은 광고 시간 화면이 나옴
    • 광고를 직접 주입하면 건너뛸 수 있게 됨
      건너뛸 수 없는 광고는 클라이언트 측 플레이어 제어에 그 사실을 전달해야 하므로 본질적으로 탐지 가능하고, 쉬운 탈출구는 없음
  • 가족 전체 광고 제거와 창작자 수익화를 위해 YouTube Premium을 기꺼이 낼 수 있음

    • 그 길의 끝을 알기 때문에 거부함
      YouTube는 Premium 사용자에게 짧은 사전 광고를 시험하고, 그다음 중간 광고, 더 긴 광고를 넣고, 결국 수문을 열 것임
      Google은 꾸준히 사용자를 경멸하듯 행동해왔고, 나도 그에 맞게 대응할 뿐임
    • 가족 요금제 비용은 가치가 있음
      가족 구성원 기기에서 재생되는 광고에 노출되지 않는 것만으로도 충분함
    • Google이 인공지능 학습과 요약 제공에 사용한 다른 종류의 콘텐츠를 만들고 있음
      바로 그 AI 요약 때문에 곧 월세를 낼 다른 방법을 찾아야 할 상황임
    • 우리 집은 NewPipe를 쓰고 돈을 내지 않음