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

Quebrada Tech

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.

Ele fez a 1ª live durante a pandemia, criou estúdio e hoje agita a quebrada

Gil Douglas foi um dos criadores do curso e do estúdio de produção de lives na Ocupação Cultural Ermelino Matarazzo - Movimento Cultural Ermelino Matarazzo
Gil Douglas foi um dos criadores do curso e do estúdio de produção de lives na Ocupação Cultural Ermelino Matarazzo Imagem: Movimento Cultural Ermelino Matarazzo

Tamires Rodrigues

19/05/2021 04h00

A demanda por profissionais para produção de transmissões ao vivo em plataformas digitais aumentou bastante nas periferias de São Paulo. O motivo são os coletivos culturais da cidade, que migraram suas atividades artísticas para o ambiente online.

Em Ermelino Matarazzo, na zona leste de São Paulo, a Ocupação Cultural Mateus Santos, um espaço cultural independente organizado pelo Movimento Cultural Ermelino Matarazzo, reúne em uma única rede mais de 50 coletivos culturais.

Desde o começo da pandemia de coronavírus na capital, eles têm feito uma série de ações para aproximar os moradores da região do entretenimento produzido pelos artistas independentes e grupos artísticos locais. A internet se tornou uma das principais ferramentas para gerar essa interação.

Uma das primeiras ações realizadas pela rede de coletivos foi a campanha "Internet Solidária", que incentivou os moradores de Ermelino Matarazzo a criarem uma rede de wi-fi comunitária —colocando todas as senhas e o nome da rede como 'fiquememcasa'— em uma tentativa de oferecer o para quem não tinha condições de contratar um plano de internet e de diminuir os efeitos do isolamento social.

"Logo quando começou a pandemia, eu tive esse start de levar tudo para o virtual. Aí comecei a fazer umas lives por aqui. A gente começou bem precário, tentando conectar o celular na mesa de som. Ninguém aqui é formado em audiovisual", diz Gil Douglas, 36, morador do Ermelino Matarazzo e articulador cultural no Movimento Cultural Ermelino Matarazzo.

É dele a iniciativa de colocar a mão na massa e mesclar uma série de conhecimentos e vivências para produzir lives. A experiência deu origem a um estúdio de transmissões ao vivo dentro da ocupação, espaço usado para apoiar artistas independentes e grupos artísticos locais a divulgar o trabalho nas redes sociais.

"A gente montou um estúdio para lives aqui, a princípio com equipamentos emprestados", diz Douglas. Segundo ele, o fato dos artistas e coletivos atuarem no formato de rede com cerca de 50 coletivos facilitou o processo de pegar emprestado os equipamentos necessários que dariam vida ao estúdio. "Pega luz de um, câmera de outro, tripé de um, e aí a gente montou um estúdio", acrescenta.

Foram necessários mais três meses para dominar as ferramentas digitais e os equipamentos mais técnicos. "Com três meses a gente já estava dominando um pouco essas ilhas de corte, mandando áudio legal e trabalhando com três câmeras", afirma.

Já foram realizadas 180 transmissões ao vivo direto do estúdio, que começou de maneira improvisada durante o primeiro ano de pandemia no Brasil, mas que hoje já oferece formação para outros moradores da região aprenderem a produzir lives.

"Esse ano, vários coletivos do bairro mandaram mensagem perguntando: 'que câmera eu compro', 'qual você me indica', 'como que vocês captam o áudio?'", diz.

A ocupação então decidiu fazer uma semana de formação chamada 'Semana do Zero Live', voltada para moradores que são integrantes de outros coletivos culturais e que buscam se aprofundar no processo de produção de uma live.

Esse treinamento incluiu o aprendizado sobre formatos de lives, manuseio de ilhas de edição, utilização de múltiplas câmeras, técnicas de som, cabeamento de equipamentos e manuseio de software de transmissão ao vivo.

A integrante do coletivo literário Sarau dos Mesquiteiros Melissa da Silva, 21, aproveitou a formação para melhorar a qualidade das lives durante as apresentações do grupo. "Eu tinha muita dificuldade em saber como fazer lives com qualidade, é muita informação e equipamentos necessários e que não são fáceis de achar. As oficinas que eles fizeram foram de extrema importância. Agora eu tenho o conhecimento necessário para fazer uma boa live", diz.

Segundo a jovem, o coletivo no qual ela atua precisou se atualizar para sobreviver no universo digital durante a pandemia, quando os encontros presenciais tiveram que ser interrompidos. "No começo foi um desafio, pois estávamos acostumados com a apresentação em palco. Então tivemos que aprender a lidar com as lives, fazendo apresentações mais individuais e não em conjunto", afirma.

Um dos principais desafios da articuladora cultural foi utilizar os equipamentos para captar som com qualidade. "No nosso sarau a gente costuma usar instrumento de percussão, e para fazer esse som sair junto com a voz é o que acho mais difícil, tem que ter os equipamentos certos", diz.

Nas oficinas da ocupação, ela conseguiu sanar essas dificuldades. "Eles ensinaram quais equipamentos necessários e como montar e testar isso tudo. Mostraram equipamentos mais simples e em conta e os mais complexos. Também deram mais de um caminho de como fazer isso", lembra.

Após dominar esse conjunto de técnicas para produção de lives, Silva afirma que o Sarau dos Mesquiteiros conseguiu manter uma rede de apoio para pessoas que estavam em isolamento social, lidando com questões de saúde mental. "Contribuiu muito para gente se sentir mais próximo das pessoas, para mostrar que estamos juntos nesse momento difícil de distanciamento e que essa é uma forma de amenizar a distância".