Um QR code em anúncio de vídeo precisa de um terço da tela. Ele ganha um canto

pela equipe KoloQRPesquisa

Uma televisão na parede de uma sala exibindo um anúncio esportivo: à direita, uma foto de jogadores de futebol abraçados sob os refletores do estádio; à esquerda, o título "Join a Team. Be Part of Something Greater." acima da linha "Scan to find teams" e de um QR code redondo em amarelo e preto.

Um celular lendo um QR code numa TV não está olhando para a sua arte. Está olhando para algumas dezenas de pixels de um quadro de câmera, e quantos ele recebe depende de uma coisa só: o ângulo que o código ocupa visto do sofá. Montamos uma bancada que percorre toda a cadeia - máster em 1080p, compressão, uma câmera na mão e levemente torta a uma distância real de visualização, arrasto de movimento - e medimos onde a taxa de leitura despenca. A uma distância normal de sala, um código ocupando um quinto da altura da tela foi decodificado em 6% das tentativas. Um quarto da altura da tela: 95%. O canto que todo anúncio de vídeo usa mediu zero, e não há tempo de tela, correção de erros nem criação que resolva, porque a falha acontece antes do primeiro quadro ser lido.

Pontos principais

  • Medimos um piso de leitura de 2,5 pixels por módulo com a imagem parada, comprimida e levemente girada, com os primeiros acertos esporádicos em 2,0 e a maioria já em 2,25. A própria documentação do ML Kit do Google pede pelo menos 2 pixels por módulo, então a bancada e o fabricante concordam com um quarto de pixel de diferença.
  • O tamanho da tela se cancela. Como as pessoas sentam mais longe de TVs grandes, a resposta é uma fração da altura da tela e não uma medida em centímetros, e é a mesma fração numa TV de 43 polegadas, numa de 77 e num notebook.
  • A uma distância normal de sala - uma TV de 55 polegadas a cerca de 2,7 m - um código a 20% da altura da tela foi lido em 6% das vezes, um a 25% em 95% das vezes, e um a 30% em todas. Abaixo de 15% nada foi lido em nenhuma das distâncias testadas.
  • A compressão quase não importa e o movimento importa enormemente. Espremer o máster para qualidade JPEG 40 mudou a taxa de leitura em um ou dois pontos; um arrasto de meio pixel de câmera durante uma única exposição levou a zero um código que era lido em 99% das vezes.
  • As duas coisas que os anúncios fazem com o próprio código sem perceber são acrescentar parâmetros UTM e subir a correção de erros. As duas adicionam módulos no mesmo tamanho físico. Uma string de rastreamento completa levou um código de 100% para 48%; o nível de correção H levou esse mesmo código de 99% para 74%.

O código no canto falha antes de alguém pegar o celular

A colocação padrão é o canto inferior direito da assinatura final, dimensionada para caber educadamente ao lado do logo e da linha legal - de oito a doze por cento da altura da tela, no ar pelos três a cinco segundos que a assinatura dura. Isso é tratado como decisão de layout, discutido em termos de poluição visual e hierarquia de marca, e aprovado por pessoas que escanearam o código com sucesso no monitor da ilha de edição.

Não é uma decisão de layout. É uma decisão de resolução, e a aritmética por trás dela está fechada antes que alguém na sala tenha uma opinião. Um celular fotografando uma TV captura a sala inteira; a TV é uma fração desse quadro, o código é uma fração da TV, e a grade do código é então dividida em algo entre 25 e 53 quadradinhos de lado. O que sobrevive no fim é um punhado de pixels por quadradinho, e abaixo de certo punhado nada é decodificado - nem devagar, nem às vezes, nem com um aplicativo melhor.

A razão pela qual isso continua passando batido é que toda verificação feita durante a produção é feita na distância errada. O código é escaneado no monitor de edição a um braço de distância, no link de aprovação num notebook a 60 cm, e num celular segurado a 30 cm de outro celular. Geometricamente, essas três situações não têm nada a ver com um sofá, e as três passam. A única condição em que o anúncio será de fato visto é a que ninguém testa, porque testá-la significa ir se plantar numa sala de estar.

Então este texto faz a conta e depois a mede. A pergunta não é se QR codes têm lugar na publicidade em vídeo - isso é questão de gosto, e a resposta provavelmente depende da marca. A pergunta é que tamanho um código precisa ter para que a discussão sobre gosto valha a pena sequer começar.

O que medimos, e o que isso não pode te dizer

A bancada percorre toda a cadeia em software. Um código é renderizado a 12 pixels por módulo com a zona de silêncio de quatro módulos que a ISO/IEC 18004 especifica, redimensionado dentro de um máster 1080p no tamanho que ocuparia no anúncio finalizado, comprimido, emoldurado, girado fora de esquadro, reamostrado para o número de pixels que a câmera de um celular recolheria dele a uma dada distância de visualização, borrado para simular o movimento durante a exposição e entregue a um decodificador. Cada número abaixo é a proporção de tentativas que decodificaram.

Cada célula são 216 tentativas: doze cargas diferentes, seis ângulos entre um e onze graus fora de esquadro, e três variações de um pixel no tamanho capturado. Essa contagem existe por causa de um erro que vale reconhecer. A primeira versão da bancada entregava ao decodificador uma imagem perfeitamente em esquadro e alinhada à grade, e ele decodificava tranquilamente um código a um pixel por módulo - um resultado que é aritmética real e absurdo completo ao mesmo tempo, porque mede uma coincidência de amostragem que uma mão segurando um celular jamais vai reproduzir. A rotação é o que coloca cada módulo numa fase subpixel arbitrária, e ela moveu o piso em mais do que o dobro.

O decodificador é o mais fraco, de propósito

O decodificador é o jsQR, a portabilidade para JavaScript do núcleo do ZXing - a mesma família de decodificadores cujo binarizador lemos no código-fonte para as medições de contraste. O framework Vision da Apple e o ML Kit do Google são o que de fato lê a maioria dos códigos, os dois são fechados, e um número tirado de qualquer um deles é um número que nenhum leitor pode conferir. O jsQR é também, quase com certeza, o menos capaz dos três: sem etapa de aprendizado de máquina, sem acumulação de vários quadros, sem superresolução.

Isso torna uma calibração digna de nota. Nosso piso com imagem limpa saiu em 2,5 pixels por módulo, e a documentação de leitura de códigos do ML Kit pede um código cuja "menor unidade significativa" tenha "pelo menos 2 pixels de largura e, em códigos bidimensionais, 2 pixels de altura". Um decodificador mais fraco parar um quarto de pixel acima do mínimo publicado pelo fabricante é praticamente a melhor concordância a que esse tipo de montagem pode aspirar, e é a razão pela qual a tabela de tamanhos mais abaixo deve ser lida como aproximadamente certa, e não como pessimista por um fator.

O que a bancada deixa de fora

  • Celulares reais. Nenhum iPhone e nenhum Android foi apontado para uma TV nesta medição. Estabilização óptica, fusão de vários quadros e os dois decodificadores fechados trabalham todos a favor de quem lê, e nenhum está modelado.
  • A codificação de vídeo entre quadros. Aqui a compressão é JPEG num único quadro, que faz as vezes de um quadro intracodificado. Um código parado sobre um plano parado quase não custa nada a um codificador real depois do primeiro quadro; um código sobreposto a imagens em movimento é recodificado o tempo todo. Como a compressão se mostrou quase irrelevante nos dois casos, isso pesa menos do que parece.
  • O painel e o sensor batendo um contra o outro. Uma câmera fotografando uma tela pode produzir moiré, e um máster em 24p convertido para um painel de 60 Hz e amostrado por um obturador rolante pode produzir faixas. Os dois são reais, os dois prejudicam, e nenhum está simulado.
  • Reflexos, luz ambiente e visualização fora do eixo. Os três subtraem, e os três são assunto do trabalho sobre contraste, não deste.
  • Pessoas. Quanto tempo alguém leva para notar um código, achar o celular e apontá-lo não é algo que uma bancada meça. A seção correspondente mais abaixo está marcada como estimativa.

Todas essas omissões vão na mesma direção, com exceção da primeira: a bancada é mais dura com o código do que uma fotografia parada, e mais leniente do que uma sala de estar. O resumo honesto é que esses números localizam o precipício, e o protocolo de dez minutos no fim deste texto é como descobrir de que lado dele a sua campanha está.

O piso está em dois pixels e meio por módulo

Pixels por módulo é o número de pixels de câmera que caem sobre um quadradinho da grade de um QR code, e é a quantidade da qual todas as outras variáveis de uma leitura são pagas. Contraste, desfoque, compressão, ganho de ponto e ruído de câmera reduzem, no fim, a mesma coisa: a confiança com que um decodificador consegue dizer de que lado da fronteira entre preto e branco um quadradinho caiu. Abaixo de certa densidade de amostragem não sobra confiança para gastar.

Pixels por móduloLimpoComprimido (JPEG q40)
1,500%0%
1,750%0%
2,008%7%
2,2569%68%
2,5099%100%
2,75100%100%
3,00100%100%
Taxa de leitura sobre 216 tentativas por célula, de um a onze graus fora de esquadro. O precipício tem menos de meio pixel de largura: 2,0 pixels por módulo é fracasso, 2,5 é certeza.

Duas coisas nessa tabela valem mais do que o próprio piso. A primeira é o quanto a transição é estreita. Não existe uma longa cauda de códigos marginais que usuários pacientes acabam escaneando: entre 2,0 e 2,5 pixels por módulo a taxa de leitura vai de 8% a 99%, o que significa que um código tem a densidade de amostragem ou não tem, e a diferença entre esses dois estados é um quarto de pixel por módulo.

A segunda é a segunda coluna. Comprimir o máster para qualidade JPEG 40 - visivelmente degradado, bem abaixo de qualquer coisa que uma emissora ou uma plataforma entregaria - mudou o resultado em um ou dois pontos para qualquer lado e não moveu o precipício nenhuma vez. Vale dizer isso com todas as letras, porque "a compressão de vídeo come QR codes" é a explicação padrão para eles falharem na TV, e nesta medição ela simplesmente não é verdade. Não é a compressão que está matando esses códigos. É a amostragem.

O corolário é que o problema inteiro se reduz a uma pergunta: quantos pixels de câmera o código recebe? Isso não é propriedade da arte, do formato de arquivo nem do codificador. É propriedade do ângulo que o código ocupa no olho de quem assiste, o que é geometria, e a geometria tem a decência de ser previsível.

O tamanho da tela se cancela e só o ângulo sobrevive

A câmera de um celular é uma projeção retilínea, o que significa que uma distância transversal a um alcance conhecido vira pixels por meio de uma única constante. Para um campo de visão horizontal de 70 graus - uma lente equivalente a 26 mm dá 69,4 graus, e as câmeras principais dos celulares saem há anos a menos de um grau disso - a constante é 1.371 pixels por radiano num quadro de 1920 pixels de largura. Assim, a cadeia inteira se reduz a uma linha de aritmética:

pixels por módulo = 1371 × f ÷ (k × N), onde f é a altura do código como fração da altura da tela, k é a distância de visualização expressa em alturas de tela, e N é o número de módulos na largura do código incluindo sua zona de silêncio de quatro módulos.

O interessante nessa expressão é o que falta nela. Não há tamanho de tela e não há distância em metros, apenas a razão entre os dois. Isso não é simplificação, é a física de verdade: uma TV de 77 polegadas ocupa o mesmo ângulo do fundo de uma sala grande que uma de 43 ocupa de uma sala pequena, e a câmera não sabe nem se importa com qual das duas está olhando. A resposta para "que tamanho o código precisa ter" é, portanto, uma porcentagem da tela, e a mesma porcentagem serve em qualquer lugar.

Isso também significa que k pode ser fixado a partir de recomendações publicadas de ângulo de visão em vez de chutado. A THX recomenda um ângulo de visão horizontal de cerca de 40 graus, o que para uma tela 16:9 dá uma distância de 2,4 alturas de tela. A recomendação da SMPTE de 30 graus dá 3,3 alturas de tela. As duas são recomendações para quem se importa com qualidade de imagem; salas comuns ficam mais afastadas do que qualquer uma delas, e é por isso que as tabelas abaixo vão até quatro alturas de tela - uma TV de 55 polegadas a cerca de 2,7 m.

O 1920 dessa constante merece uma ressalva própria, porque é a suposição favorável. O fluxo de análise é o buffer de vídeo em resolução reduzida sobre o qual o detector de códigos de um celular realmente trabalha, e não é a fotografia em resolução plena que a câmera seria capaz de tirar. A documentação do ML Kit do Google recomenda alimentá-lo com "1280x720 ou 1920x1080", e observa que descer disso só é viável "exigindo que o código de barras ocupe a maior parte da imagem de entrada". Tudo o que vem abaixo assume a melhor das duas. Em 1280 x 720, cada número da próxima tabela piora um terço.

Que tamanho o código precisa ter de verdade

Com a aritmética resolvida, a medição. Cada linha é uma altura de código como porcentagem da altura da tela; cada par de colunas é uma distância de visualização em alturas de tela, com a densidade de amostragem resultante e a taxa de leitura que saiu da bancada. A carga é uma URL de 25 caracteres com correção de erros M, que é a versão 3 - 29 módulos, ou 37 na largura com a zona de silêncio. Tudo parado, comprimido e de um a onze graus fora de esquadro.

Altura do código (% da tela)No máster 1080pk = 2 px/módulok = 2 taxak = 3 px/módulok = 3 taxak = 4 px/módulok = 4 taxa
8%86 px1,490%1,000%0,730%
10%108 px1,862%1,240%0,920%
12,5%135 px2,3282%1,540%1,160%
15%162 px2,78100%1,864%1,380%
17,5%189 px3,24100%2,1670%1,620%
20%216 px3,70100%2,4691%1,866%
25%270 px4,62100%3,0899%2,3295%
30%324 px5,57100%3,70100%2,78100%
35%378 px6,49100%4,32100%3,24100%
216 tentativas de leitura por célula. k é a distância de visualização em alturas de tela: k = 2,4 é a recomendação da THX, k = 3,3 a da SMPTE, e k = 4 uma sala comum - uma TV de 55 polegadas a 2,7 m. A coluna do meio é o tamanho do código no máster 1080p, que nunca é a restrição determinante.

Leia a coluna k = 4, porque é onde a maioria das pessoas está sentada. Um código a um quinto da altura da tela foi lido seis vezes em cem. Um código a um quarto da altura da tela foi lido noventa e cinco vezes em cem. Toda a faixa útil dessa decisão de design está entre 20% e 30% da altura da tela, e a colocação convencional no canto não está apenas no fundo dessa faixa: está fora da tabela por um fator de dois a três.

Repare também no que a coluna do máster está fazendo, que é nada. Um código a 20% da altura da tela tem 216 pixels de lado no arquivo 1080p, confortavelmente acima do piso; o código não está sendo destruído na edição, na cor nem na codificação. Está sendo destruído pela distância entre um sofá e uma TV, e essa é uma grandeza que nenhum processo de pós-produção melhora. É o mesmo argumento que dimensionar um código impresso para a sua distância de leitura faz sobre papel, e aqui ele é mais rígido porque quem assiste não pode chegar mais perto da tela.

O corolário da coluna k = 2 também vale, porque explica com precisão a ilusão da ilha de edição. A duas alturas de tela - uma TV de 55 polegadas a 1,4 m, que ocupa mais ou menos o que um monitor de mesa ocupa a um braço de distância - um código a 12,5% da altura da tela é lido em 82% das vezes. Essa é a verificação que todo mundo faz, e ela passa. A densidade de amostragem cai em proporção direta à distância, e o sofá está um ou dois metros além de onde o teste foi feito.

O movimento encerra o assunto antes do tamanho

A compressão acabou não importando e o tamanho acabou importando enormemente. O movimento é pior do que os dois. A bancada aplica um arrasto linear no sensor - uma convolução de caixa na direção do deslocamento, que é o que o movimento durante uma exposição de fato faz com um quadro, em vez do desfoque gaussiano simétrico que uma função de blur aplicaria - e mede quanto o código pode percorrer sobre o sensor durante uma exposição antes de a taxa de leitura desabar.

Altura do código (% da tela)Pixels por móduloParado0,25 px0,5 px0,75 px1,0 px1,5 px
25%3,0899%86%0%0%0%0%
30%3,70100%97%0%0%0%0%
40%4,95100%100%100%0%0%0%
60%7,41100%100%100%100%1%0%
Em k = 3, comprimido. O cabeçalho da coluna é o quanto o código desliza sobre o sensor da câmera durante uma única exposição. Nas quatro linhas o colapso cai no mesmo ponto medido nas unidades do próprio código - cerca de um oitavo de módulo - e é por isso que um código maior compra tolerância real, e não a ilusão dela.

A tolerância é de cerca de um oitavo de módulo, e em pixels de câmera isso fica entre um quarto de pixel e um pixel, dependendo do tamanho do código. Vale converter isso em algo com que uma direção possa trabalhar. Um pixel de câmera é 0,042 grau de arco. A uma exposição de 1/60 s - um celular num ambiente pouco iluminado, medindo a luz de uma tela brilhante - um quarto de pixel é uma velocidade angular de cerca de 0,6 grau por segundo. Isso é uma mão razoavelmente firme, e não é uma mão se esticando de um sofá.

Aplicada ao movimento do próprio código na tela, a mesma aritmética é brutal. A três alturas de tela, uma altura de tela equivale a 457 pixels de câmera, então um código que deriva pela tela com exposição de 1/60 s tem um orçamento de aproximadamente um trinta avos de altura de tela por segundo. Um código que entra deslizando com elegância em dois segundos, um travelling lento sobre a assinatura, uma câmera na mão atrás de um código sobreposto, um quique, um giro, uma ampliação: todos estão uma ou duas ordens de grandeza fora desse orçamento durante todo o movimento. O código é decorativo até parar.

Por que as taxas de leitura são probabilidades e a tabela de tamanhos não

Há nessas duas tabelas uma distinção que importa mais do que qualquer uma delas. Um código pequeno demais falha de forma determinística: cada quadro é o mesmo quadro, trinta vezes por segundo, e nenhum decodifica. Um código grande o bastante mas em movimento falha de forma aleatória: a maioria dos quadros está borrada, alguns não estão, e a leitura funciona no instante em que chega um quadro limpo.

Ou seja, tempo de tela não é uma solução geral, é a solução de exatamente um modo de falha. Três segundos a mais compram noventa tentativas adicionais contra um problema de movimento e não compram absolutamente nada contra um problema de amostragem. Essa é a coisa mais útil deste texto para quem escreve um briefing de produção: se o código é grande o bastante e está parado, ele será lido quase imediatamente; se for pequeno demais, não será lido nem que você o deixe no ar o intervalo comercial inteiro.

Dois jeitos de um anúncio encolher o próprio código sem perceber

Tudo até aqui pressupôs uma URL de 25 caracteres com correção de erros M. As duas premissas são quebradas rotineiramente, e por gente tentando ajudar, e as duas quebram do mesmo jeito: acrescentam módulos, o código mantém o mesmo tamanho físico na tela, e cada módulo fica menor.

A string de rastreamento

A URL da campanha chega da agência de mídia com os parâmetros de mensuração grudados, porque é assim que a campanha é atribuída. Ninguém olha o que isso faz com a grade.

A URLCaracteresVersãoMódulosPixels por móduloTaxa de leitura
Um redirecionamento curto num domínio seu122254,15100%
Uma URL curta com o esquema escrito273293,70100%
Uma URL de campanha legível464333,3493%
A mesma com parâmetros UTM936412,8077%
A mesma com uma string de rastreamento completa1579532,2548%
As cinco a 30% da altura da tela, k = 3, paradas e comprimidas - um código generosamente dimensionado, que passa por todos os limiares deste texto. A única coisa que muda é a carga. 60 tentativas por linha.

Uma string de rastreamento completa corta pela metade a taxa de leitura de um código que no resto está bem dimensionado. E faz isso exatamente no momento em que o time de marketing mais se esforça para medir a campanha, o que a torna forte candidata ao padrão mais autodestrutivo do assunto todo. A solução não é abrir mão da atribuição: é colocar um caminho curto num domínio seu na frente dos parâmetros e pendurá-los no redirecionamento, onde não custam nada. Quanto custa de verdade um redirecionamento alugado ao longo da vida de uma campanha é outro argumento, e ele desemboca na mesma recomendação.

Subir a correção de erros

O outro reflexo é elevar o nível de correção de erros, na teoria de que uma situação mais difícil de ler pede mais redundância. É a alavanca errada e ainda por cima prejudicial, pelo mesmo motivo que é errada em baixo contraste: ela cria redundância acrescentando módulos, e módulos são o que está escasso.

Correção de errosVersãoMódulosTaxa a 25% da telaTaxa a 30% da tela
L225100%100%
M32999%100%
Q32999%100%
H43374%92%
A mesma carga em cada nível, em k = 3, parada e comprimida. L e M não custam nada e H custa 25 pontos no tamanho que a maioria dos anúncios usaria, porque gasta uma versão inteira numa redundância de que a tela nunca ia precisar.

H existe para códigos que sujam, rasgam, são impressos por cima ou ficam parcialmente cobertos por um logo. Um código numa TV não é nada disso: é entregue perfeito pixel a pixel e depois subamostrado, e subamostragem não é um dano que os blocos de correção de erros consigam reparar, porque ela impede que os módulos sejam lidos em primeiro lugar. Use L ou M na tela e gaste os módulos economizados deixando cada um maior. O trade-off completo entre capacidade de recuperação e tamanho de módulo se aplica aqui sem mudanças; telas simplesmente ficam na ponta em que a redundância vale menos.

Tempo é o orçamento que ninguém anota

Esta seção é uma estimativa, não uma medição, e isso vale dizer antes dos números e não depois. Nada na bancada consegue medir quanto tempo uma pessoa leva para reagir a uma TV, e não fizemos esse estudo.

A sequência que quem assiste precisa completar não é curta. Notar o código e decidir que vale a pena agir leva um ou dois segundos. Pegar e desbloquear o celular, de dois a quatro. Chegar à câmera, mais um a três, mais ainda se o celular abrir no que estava por último. Enquadrar a TV, deixar o foco automático assentar e ficar parado, mais dois a quatro. São seis a treze segundos partindo do zero, contra uma assinatura que costuma ficar de três a cinco segundos no ar.

Existe uma atenuante real e ela merece crédito: boa parte da TV é assistida por gente que já está com o celular na mão, o que elimina o passo de pegar e quase todo o de desbloquear. Presumivelmente essa é a razão inteira pela qual alguém achou que QR codes funcionariam na TV. É um bom argumento para o formato existir, e não é um argumento a favor de três segundos, porque os dois últimos passos - chegar à câmera e depois mirar e segurar firme - não são encurtados por um celular que já está na mão.

Nossa recomendação, dita como a opinião que é: oito segundos de um código parado e bem dimensionado é o mínimo que vale colocar num briefing, e se a criação não pode ceder oito segundos, então a criação decidiu que o código é decorativo. É uma decisão legítima. Só não deveria ser tomada por acidente e depois medida como taxa de escaneamento.

O anúncio de que todo mundo se lembra obedeceu à aritmética

Existe um contraexemplo famoso para tudo isso, e ele é famoso justamente porque fez absolutamente tudo o que este texto recomenda. Em fevereiro de 2022 a Coinbase veiculou um comercial de sessenta segundos no Super Bowl que não era nada além de um QR code trocando de cor, flutuando por uma tela preta. Variety e CNN cobriram na época, e a segunda contou a parte de que todo mundo se lembra: a página de destino recebeu tanto tráfego que o aplicativo caiu.

Coloque isso ao lado das tabelas acima. O código era grande, porque tinha o quadro inteiro. Estava sozinho, então nada disputava a atenção de quem assistia nem os bits do codificador. Ficou sessenta segundos no ar em vez de quatro, o que dá cerca de 1.800 quadros de câmera para um decodificador achar um limpo. E flutuava devagar em vez de cortar ou escalar, o que mantém um código em movimento dentro do orçamento de arrasto por exposição em que um movimento rápido não cabe.

A única coisa que ele fez e que este texto desaconselharia é a troca de cor, e mesmo essa é menos temerária do que parece: a paleta se manteve escuro sobre claro ou claro sobre escuro o tempo todo, em vez de emparelhar dois meios-tons, que é a distinção que de fato decide se um código colorido sobrevive a uma câmera. O que ele não fez foi colocar um código pequeno num canto por quatro segundos.

A conclusão não é que toda marca deveria comprar sessenta segundos de Super Bowl. É que o anúncio sempre citado como prova de que QR codes funcionam na TV é um anúncio que gastou todo o seu orçamento criativo para satisfazer a física. Citado como precedente para um código no canto de uma assinatura, ele prova o contrário do que costumam usá-lo para provar.

Ponha na sua própria TV em dez minutos

Todos os números acima são números para uma câmera simulada e um decodificador mais fraco do que os que as pessoas carregam no bolso. O número que importa para uma campanha específica é o que o arquivo final dela produz, numa tela de verdade e a partir de um sofá de verdade, e sai em dez minutos.

  1. Rode o arquivo entregue, não o máster. Coloque o entregável real na TV real: transmita, carregue de um pendrive ou suba como vídeo não listado na plataforma de destino. Revisar um máster ProRes num monitor calibrado é o teste que já passou e não te disse nada.
  2. Sente onde as pessoas sentam e anote a razão. Meça a distância da tela ao sofá, meça a altura da tela e divida. Essa razão é o k de todas as tabelas acima, e é o número que permite comparar o seu resultado com elas. Qualquer coisa entre três e quatro e meio é uma sala comum.
  3. Escaneie com duas câmeras nativas. Uma iOS e uma Android, usando a câmera embutida e não um aplicativo de leitura. Aplicativos de leitura são mais tolerantes do que os nativos e vão aprovar códigos que o seu público não consegue ler. Dê cinco segundos a cada celular, que é o que a assinatura dá.
  4. Faça do jeito desleixado. Com uma mão, largado no sofá, sem apoiar o cotovelo em nada. O resultado cuidadoso não é o resultado: um quarto de pixel de câmera de movimento durante uma exposição é todo o orçamento de movimento, e apoiar o braço vale mais do que isso.
  5. Faça o controle antes de concluir qualquer coisa. Chegue perto e escaneie esse mesmo quadro congelado a um metro. Se isso falhar, o problema é contraste, zona de silêncio ou carga, e não tamanho, e aumentar o código não vai resolver.
  6. Suba de cinco em cinco por cento até passar duas vezes, e então acrescente mais um passo. Reexporte com o código cinco por cento maior em relação à altura da tela e repita até os dois celulares lerem duas vezes seguidas do sofá. Depois acrescente mais um passo. Esse último passo é a margem para os celulares, as salas e as vistas que o teste não incluiu.

Se a resposta que voltar for que o código precisa de um terço da tela, essa é a resposta real, e é melhor tê-la antes da filmagem do que depois do relatório da campanha.

O que colocar no anúncio no lugar

A recomendação com que este texto termina é mais estreita do que o seu título. QR codes em publicidade de vídeo não são inúteis: são caros, em área de tela e em segundos, e quase todo anúncio que usa um se recusa a pagar qualquer um dos dois preços e depois culpa o formato.

  • Se for usar um código, dê a ele de um quarto a um terço da altura da tela e oito segundos parado. Na prática isso significa que o código é a assinatura, e não um enfeite em cima dela. Essa é a recomendação inteira; todo o resto aqui é consequência dela.
  • Mantenha a carga abaixo de uns 25 caracteres. Um caminho curto num domínio seu, com os parâmetros de rastreamento pendurados no redirecionamento em vez de dentro do código. Isso vale mais do que qualquer outra mudança isolada, porque recompra módulos sem custar nada em lugar nenhum.
  • Use correção de erros L ou M, não H. Numa tela o código é entregue intacto e depois subamostrado, e redundância não ajuda contra subamostragem.
  • Não mova, não escale, não gire e não faça ele entrar deslizando. O movimento tem um orçamento bem abaixo de um pixel de câmera por exposição, e qualquer animação está ordens de grandeza fora dele. Anime todo o resto da assinatura.
  • Se o anúncio for assistido principalmente no celular, não use código nenhum. A tela que reproduz o anúncio é a tela que teria de lê-lo, e não existe um segundo aparelho. Use o formato clicável que a plataforma oferecer.
  • Considere uma URL curta falada e escrita no lugar. Um domínio memorável lido em voz alta e mostrado como texto não tem tamanho angular mínimo, sobrevive ao movimento, funciona na tela de um celular e não exige que ninguém segure nada parado. Converte pior por impressão e falha de forma menos absoluta, e para uma assinatura de quatro segundos essa troca costuma estar no sentido certo.
  • O cinema é a exceção que vale conhecer. A mesma aritmética que descarta o canto de uma TV é generosa numa sala de cinema, onde a tela ocupa um ângulo muito maior de qualquer poltrona. Um código que em casa seria inviável pode ser modesto numa tela de cinema.

Uma observação honesta sobre a nossa própria ferramenta, já que este texto acabou de recomendar algo que ela não faz. O KoloQR, um gerador de QR code gratuito com QR codes circulares e de formas personalizadas, fixa a correção de erros no nível H, porque abre um espaço no meio da grade para um logo e H é o que paga esse espaço. Esse é o padrão certo para um código impresso com uma marca no centro e o errado para uma tela, então um código exportado do gerador para um anúncio de vídeo carrega uma versão a mais do que precisa. A um terço da altura da tela isso não custa nada mensurável; a um quinto, é parte do motivo pelo qual um quinto não funciona.

O limite de tudo isso é o que foi dito lá em cima: medimos uma cadeia de software, não uma sala de estar. Nenhum celular foi apontado para uma TV nesta pesquisa, e o decodificador que usamos é mais fraco do que os que vão de fato ler o seu anúncio, o que significa que o precipício verdadeiro está abaixo dos números destas tabelas, e não acima. O que as tabelas servem para fazer é dizer de que lado dele um código no canto está, e não é por pouco.

Crie seu QR code

Grátis, sem conta e sem marca d'água. Escolha uma forma, adicione um logo, confira o contraste e exporte SVG, PDF, EPS ou PNG: um código estático sem assinatura por trás.

Gerar QR code

Questions? Answered

Cerca de um quarto a um terço da altura da tela. Nas nossas medições, um código a 25% da altura da tela foi lido em 95% das vezes a uma distância normal de sala e um a 30% foi lido em todas, enquanto um a 20% foi lido em 6% das vezes e qualquer coisa menor não foi lida. A resposta é uma fração, e não uma medida em centímetros, porque as pessoas sentam mais longe de TVs maiores - a mesma porcentagem vale em qualquer tela.

Porque a câmera não está recebendo pixels suficientes em cada quadradinho da grade do código. Um decodificador precisa de cerca de dois pixels e meio de câmera por módulo, e um código de tamanho de canto numa TV vista de três metros entrega perto de um. Essa falha não é gradual - a transição entre funcionar e ser impossível cabe num quarto de pixel por módulo - então o código é lido de imediato ou nunca, por mais tempo que você aponte o celular.

Bem menos do que se supõe. Comprimimos o máster para qualidade JPEG 40, muito abaixo de qualquer coisa que uma emissora ou plataforma de streaming entregaria, e a taxa de leitura se moveu um ou dois pontos sem que o limiar de falha se deslocasse nem um pouco. O que destrói QR codes na TV não é o codificador, é a distância entre a tela e quem assiste, e isso nenhum bitrate resolve.

Pelo menos oito segundos, como opinião e não como medição. Quem assiste precisa notar o código, achar um celular, desbloquear, chegar à câmera, enquadrar a TV e ficar parado, o que dá seis a treze segundos partindo do zero contra uma assinatura que costuma durar de três a cinco. O tempo extra só ajuda se o código já for grande o bastante: tempo de tela compra mais tentativas contra um problema de movimento e não compra nada contra um problema de tamanho.

Só muito devagar. O orçamento de movimento é de cerca de um oitavo de módulo de arrasto durante uma única exposição, o que para um código de tamanho típico fica entre um quarto de pixel e um pixel de câmera - grosso modo um trinta avos de altura de tela por segundo de deriva. Deslizes, travellings, ampliações e giros estão uma ou duas ordens de grandeza fora disso, então um código é decorativo durante toda a animação e só vira escaneável quando para.

Não: diminua. A correção de erros acrescenta redundância acrescentando módulos, e num tamanho fixo na tela mais módulos significa menos pixels de câmera em cada um. Nas nossas medições, a mesma carga no nível H foi lida em 74% das vezes onde os níveis L e M foram lidos em 100%, porque H gastou uma versão inteira reparando um dano que uma tela nunca causa. Subamostragem não é um dano que a correção de erros consiga reparar, já que ela impede que os módulos sejam lidos.

Consideravelmente, nos tamanhos que os anúncios de vídeo usam. Uma URL de campanha de 46 caracteres é um código de 33 módulos; a mesma URL com uma string de rastreamento completa tem 157 caracteres e 53 módulos, e num tamanho fixo na tela isso levou a taxa de leitura de 93% para 48% no nosso teste. Coloque no código um caminho curto num domínio seu e pendure os parâmetros no redirecionamento, onde eles são de graça.

Raramente, e por um motivo que não tem nada a ver com tamanho. A maior parte do vídeo social é assistida no celular, e a tela que reproduz o anúncio é a mesma que teria de ler o código - não há um segundo aparelho para apontar. Onde a plataforma oferece um link clicável, ele é estritamente melhor; um código só faz sentido para vídeo social que esteja realmente sendo assistido numa TV ou numa tela de computador.

O cinema é o caso amigável. A aritmética depende só do ângulo que a tela ocupa para quem assiste, e uma tela de cinema ocupa um ângulo muito maior de qualquer poltrona do que uma TV de um sofá, então um código modesto funciona bem. Painéis variam enormemente e precisam ser calculados um a um - um código numa tela grande a cinquenta metros da calçada pode ocupar um ângulo menor do que um código do tamanho de um celular segurado com o braço esticado.

Rode o arquivo entregue numa TV de verdade, sente onde o público vai sentar e escaneie com o aplicativo de câmera nativo de um celular iOS e um Android, segurando com uma mão e sem cuidado. Dê a cada celular os mesmos poucos segundos que a assinatura dá a quem assiste. Qualquer teste feito num monitor de edição ou num notebook passa, porque essas distâncias são duas a três vezes menores que um sofá - e é exatamente por isso que o problema sobrevive à produção.

Por que a KoloQR?

  • Crie QR codes para sites, cardápios, Wi-Fi, PDFs e cartões de visita
  • Personalize cores, logos e formas únicas
  • Baixe arquivos PNG e SVG de alta qualidade
  • Feito tanto para impressão quanto para o digital
Gerar QR code
Um QR code preto simples ao lado do mesmo código redesenhado como um círculo com as cores da marca