;(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

Gabriel Vaquer

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Ex-Globo monta PPV do Carioca que contará com equipe ex-Fox Sports

Marcelo Campos Pinto, ex-executivo da Globo, está à frente de sistema pay-per-view do Campeonato Carioca 2021 - Divulgação/Grêmio
Marcelo Campos Pinto, ex-executivo da Globo, está à frente de sistema pay-per-view do Campeonato Carioca 2021 Imagem: Divulgação/Grêmio

09/02/2021 04h00

O executivo Marcelo Campos Pinto, responsável por vender os direitos de transmissão e formular o novo regulamento do Campeonato Carioca em 2021, está montando a estrutura do pay-per-view da competição regional. O modelo é parecido com os recém-lançados serviços da Conmebol e da Copa do Nordeste nas operadoras pagas. Profissionais que trabalharam no Fox Sports e não tiveram seus contratos renovados pela Disney no fim de 2020 estão sendo chamados para tocar o projeto.

O blog apurou que, além dos jogos no modelo "pague para ver", o projeto lançará um canal no YouTube e uma página no Facebook para repercutir os conteúdos produzidos. Entre eles está um programa pré e pós jogo que será exibido em todas as partidas exibidas. O comando desse projeto será da jornalista Lívia Nepomuceno, que trabalhou na Fox por seis anos.

Quem também já acertou a sua participação no projeto foi o repórter Flávio Winick, que também vai apresentar alguns eventos e reportar jogos grandes. Pelo menos três produtores e editores, que também foram dispensados pela Disney na fusão entre ESPN e Fox Sports, já acertaram. A ideia é fechar toda a equipe em pelo menos 15 dias, para a estreia no fim de fevereiro.

O modelo de pagamento ainda também está sendo acordado com operadoras. Dois tipos de cobrança devem ser colocados em prática. O primeiro é o optar por pagar um valor único por todos os jogos. O segundo é um valor mensal que, somados, dá o mesmo da taxa única. Claro/Net e Sky colocaram essas propostas em prática com a Copa do Nordeste e tem obtido bom retorno.

Ainda nesta semana, novidades em relação à transmissão do Campeonato Carioca devem ser divulgadas. Além do pay-per-view, existe a expectativa pelo anuncio da TV que irá exibir os jogos. O SBT é dado como favorito contra a Globo, mas o contrato com os clubes do Rio ainda tem algumas pendências a serem resolvidas, como informou o colunista Rodrigo Mattos no fim de janeiro.

Quem é Marcelo Campos Pinto?

Marcelo Campos Pinto trabalhou na Globo de 1994 até o fim de 2015. A partir de 1999, montou o modelo de negócio que fez a Globo ser campeã e soberana na aquisição de direitos de transmissão no Brasil. Habilidoso em negociações e com ótima agenda de relacionamentos, Marcelo se transformou no principal pagador do esporte brasileiro e ou a ser reverenciado por cartolas e homens de negócios.

Em 2006, por exemplo, a emissora foi escolhida pela Fifa como a vencedora do leilão pelos direitos de transmissão para o Brasil das Copas do Mundo de 2010 e 2014, mesmo oferecendo US$ 100 milhões a menos que a Record. Já em 2011, com a ajuda de Ricardo Teixeira, então presidente da CBF, e de dirigentes de clubes como o Corinthians, implodiu o Clube dos 13 e ou a negociar individualmente com as agremiações os jogos do Campeonato Brasileiro.

O advogado de formação foi demitido pela Globo em 2015, seis meses após a prisão de uma série de cartolas, incluindo o brasileiro José Maria Marin. Os dirigentes foram acusados de receberem propina na venda de direitos de torneios no Brasil e no exterior. Na ocasião, comunicado assinado por Roberto Irineu Marinho, presidente do Grupo Globo, relatava que o executivo se aposentaria. "Ao Marcelo, meu agradecimento pelo importante trabalho realizado durante mais de 20 anos de atuação no Grupo Globo", disse Marinho.

Em 2017, já fora da Globo, Marcelo Campos Pinto foi acusado de ter autorizado o pagamento de propina à emissora. Os valores teriam sido pagos pela empresa Torneos y Competencias, para facilitar a negociação de eventos, como as Copas do Mundo de 2018 e 2022. O executivo nunca se pronunciou sobre o assunto. A Globo, em nota na época, negou veementemente "que não pratica, nem tolera pagamento de propina".

Desde 2016, Marcelo Campos Pinto é dono da Sportsmaster Marketing Esportivo. No ano ado, foi chamado pela Federação de Futebol do Rio de Janeiro para ajudar a tornar o Estadual do Rio um torneio mais atrativo ao público e para possíveis clientes comerciais.