;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Ricardo Feltrin

ANÁLISE

Análise: Serviços de streaming enfim acordaram para a pirataria

Os parceiros de streaming Disney+ e Globoplay - Reprodução / Internet
Os parceiros de streaming Disney+ e Globoplay Imagem: Reprodução / Internet

Colunista do UOL

18/02/2021 08h37

Resumo da notícia

  • Foco da pirataria sai da TV paga e agora mira mais streaming
  • Piratas já copiaram todo o acervo dos serviços de streaming
  • Combate a esse tipo de pirataria é mais difícil que o da TV paga
  • Consumo de streaming cresceu 180% no Brasil em 1 ano

Até que demorou alguns anos, mas a ficha caiu para os executivos do streaming: finalmente líderes de grandes empresas como Netflix, Globoplay, Amazon, e Disney perceberam os bilhões (sim, bilhões!) que estão tendo de prejuízo devido à pirataria.

Essas empresas finalmente estão entrando numa batalha inglória que vem sendo travada solitariamente há mais de 20 anos somente por canais pagos, a ABTA (Associação Brasileira das TVs por ), a Receita e as Polícias Federal e Civil.

E quando falamos em prejuízo bilionário, ponham bilionário nisso:

Explico: o último estudo que estimou os prejuízos causados pela pirataria no Brasil é de 2018, e ele praticamente só açambarcava os canais pagos e (ainda) a pirataria de DVDs.

Esse trabalhoso estudo cruza dados do Censo, do ibope, e ainda inclui uma pesquisa com o telespectador pelo Pnad (Pesquisa Nacional por Amostra de Domicílios).

Estudo caro

O estudo com o Pnad ajuda a entender e mensurar a pirataria (entre outros temas), mas, por ser caro, não é feito com frequência.

Voltemos ao presente. Se em 2018 a estimativa foi que as operadoras e canais pagos estavam perdendo pelo menos R$ 10 bilhões anuais com pirataria de conteúdo, e só os governos estariam perdendo quase R$ 1,5 bilhão anual em impostos, imaginem os valores atuais com os novos conteúdos.

E é esse justamente o problema: desde 2018, não é mais a TV paga o alvo principal dos piratas, e sim os serviços de streaming.

Somente entre 2019 e 2020 o consumo dessa nova mídia subiu mais de 180%, como esta coluna informou com exclusividade no ano ado.

Especialistas ouvidos para esta reportagem dizem não duvidar de que o prejuízo somado entre TV paga e streaming já deva ter ado dos R$ 15 bilhões só no Brasil. Se não for ainda maior.

Daí a a necessidade que apontam de ser feito um novo cruzamento de dados e pesquisas com o recorte do Pnad.

Streaming é outra conversa

O problema é que combater a pirataria de streaming é muito mais difícil que a dos canais pagos.

Graças à disseminação de venda de caixas (legalizadas, é bom dizer) de IPTV (Internet Protocol Televison), distribuidores de pirataria estão dando um verdadeiro "nó" em empresas como Netflix, Globoplay e Disney.

Por exemplo, hoje TODOS os acervos da Netflix, Globoplay ou da Amazon etc. podem ser ados por várias caixas (chamadas também de "boxes TV") com apenas algumas mudanças na configuração do aparelho.

Os piratas (verdadeiras empresas sem sede física, na verdade) simplesmente baixam todo o acervo de filmes dessas empresas e os armazenam em servidores e sedes em países longínquos.

Um exemplo corriqueiro e material: Clayton Nunes, CEO da produtora de filmes eróticos Brasileirinhas, comprou uma "box TV" recentemente e descobriu que um dos canais íveis na caixa se chama justamente: "Brasileirinhas".

Ele descobriu que esse canal "pirata" tem todo o acervo de sua produtora (mais de 2.000 filmes) e o servidor está hospedado possivelmente num país do leste europeu. Sem apoio de governos, ele ou seus advogados não têm o que fazer.

Daí a importância que entidades como o ABTA e empresários veem para que governos e embaixadas em a reforçar o combate à pirataria.

"Se nós ao menos descobrirmos em que países estão hospedados os servidores de pirataria, e se os governos colaborarem, pode ser que nós não ganhemos a luta, mas vamos dar trabalho para os criminosos e derrubar os servidores", afirma o CEO.

Outro lado

Procurada para comentar o assunto, a Globo enviou a seguinte nota oficial:

"A Globo tem o constante compromisso de defesa dos direitos autorais e a pirataria, que causa danos e é ível de punição, é alvo de nossa atenção.

Participamos ativamente de ações de combate à pirataria e de esclarecimento e compreensão a respeito da ilegalidade e dos riscos de sua utilização. Igualmente, utilizamos diversas tecnologias e estratégias de proteção ao nosso conteúdo."

Outro lado 2

Procurada, a Netflix não quis comentar.

Ricardo Feltrin no Twitter, Facebook, Instagram e site Ooops