Porque é que a sua miniatura parece desfocada
O ficheiro que carrega não é o ficheiro que um espectador descarrega. O YouTube volta a codificá-lo em recortes WebP feitos para cada espaço, e o maior que encontrei num feed real tinha 720 píxeis de largura — o que reescreve «desfocada» como quatro causas distintas, três delas suas.
O que o espectador descarrega de facto
Isto é mensurável, portanto aqui está medido. Carreguei uma página de reprodução real e uma página de resultados de pesquisa real, tirei do código os URL das miniaturas e descarreguei-os. Voltaram todos como WebP, recortados a 16:9, dimensionados para o espaço onde iam entrar:
| Onde | Tamanho entregue | Formato | Bytes | Por píxel |
|---|---|---|---|---|
| Coluna de sugeridos, ecrã 1× | 168 × 94 | WebP | 7,2 KB | 0,46 B |
| Coluna de sugeridos, ecrã 2× | 336 × 188 | WebP | 17,6 KB | 0,28 B |
| Linha de pesquisa, ecrã 1× | 360 × 202 | WebP | 25 KB | 0,36 B |
| Linha de pesquisa, ecrã 2× | 720 × 404 | WebP | 65 KB | 0,22 B |
| Ficheiro estático hqdefault.jpg | 480 × 360 | JPEG | 17 KB | 0,13 B |
| Ficheiro estático maxresdefault.jpg | 1280 × 720 | JPEG | 114–318 KB | 0,19 B |
Os tamanhos entregues coincidem exactamente com os espaços desenhados — 168 × 94 é o sugerido que medi na interface, e 336 × 188 é esse mesmo espaço num ecrã Retina. O YouTube não lhe manda uma cópia reduzida de uma imagem grande: manda-lhe um ficheiro construído para aquela caixa.
Dois números fazem quase todo o trabalho
O primeiro é o espaço. Um sugerido tem 168 píxeis CSS de largura, e no ecrã 2× que quase todos têm são 336 píxeis físicos. O seu desenho de 1280 píxeis de largura é entregue como uma imagem de 336 píxeis de largura. Qualquer juízo sobre nitidez tem de ser feito ali, não no seu editor.
O segundo é o orçamento em bytes. Esse ficheiro de 336 × 188 pesa 17,6 KB, ou seja 0,28 bytes por píxel — uma taxa de compressão real, não nominal. Dá para uma imagem limpa com poucos elementos e não dá para uma cheia, e é todo o mecanismo por trás da maioria das queixas de que o YouTube «estraga» uma miniatura.
1280 × 720 é um master, não um formato de entrega
Carregar a 1280 × 720 continua certo, porque tudo o que está acima deriva dali e um derivado não pode ser mais nítido do que a sua fonte. Mas vale a pena ser claro sobre o que lhe acontece: em onze vídeos reais o maxresdefault.jpg guardado ia de 114 KB a 318 KB, com uma média de 188 KB. O que tenha carregado, foi isso que o YouTube ficou.
E há exactamente um lugar onde esse ficheiro em tamanho completo é entregue a uma pessoa: a pré-visualização de um link. O og:image da página de reprodução aponta para maxresdefault.jpg, portanto um link colado numa conversa ou num canal de Slack mostra o JPEG 1280 × 720. Dentro do YouTube, nada o faz. A especificação de envio contra a qual esse master é medido está na página do YouTube sobre miniaturas personalizadas.
Causa 1: está a julgá-la no tamanho errado
É de longe a causa mais comum, e não é bem um problema de qualidade: é um problema de visualização. Uma miniatura examinada a 100% num programa de desenho está a ser examinada a cerca de quatro vezes o tamanho que qualquer espectador verá, e um desenho que só aguenta nesse tamanho vai ler-se mole em todos os outros.
O inverso também é verdade e é mais útil: um desenho que sobrevive a uma caixa de 336 píxeis parece *deliberado* em tamanho grande. Por isso verifique primeiro em pequeno e trate o grande como um extra. É um dos sete hábitos do guia dos erros comuns, e é o que muda mais com o mínimo de trabalho.
Causa 2: a fonte nunca foi nítida
Três versões disto, e todas sobrevivem em cada derivado:
Uma fonte ampliada. Uma imagem de 640 píxeis de largura esticada para 1280 não tem mais detalhe do que tinha, mas tem mais píxeis em que o codificador precisa de gastar bytes. Fica com o peso de uma imagem grande e o detalhe de uma pequena.
Um JPEG recodificado. Exportar um JPEG, abri-lo, editá-lo e exportá-lo outra vez acumula artefactos, e depois o YouTube recodifica isso. Mantenha o ficheiro de trabalho sem perdas e exporte uma só vez.
Um fotograma do vídeo como camada de base. Uma imagem tirada do seu próprio vídeo já está comprimida pelo codec de vídeo, a um bitrate distribuído por trinta fotogramas por segundo. É o ponto de partida mais mole possível para algo que vai ser comprimido outra vez.
Causa 3: o grão gasta o orçamento em bytes
Esta valia a pena medir em vez de afirmar, portanto medi. A mesma fotografia, três versões — limpa, com grão de ±12 níveis e com um gradiente diagonal suave ao longo de 40 níveis —, cada uma escalada para o espaço de 336 × 188 e codificada para acertar nos 17,6 KB que o ficheiro real usa.
A versão limpa chegou a esse orçamento com qualidade 0,95. A do grão só se pôde permitir 0,80. Ao contrário: com qualidade fixa em 0,80, o ficheiro limpo tem 9,4 KB e o do grão 17,5 KB — 86% mais bytes para a mesma imagem. O gradiente não custou nada, 9,4 KB, e é essa a surpresa útil.
Portanto a sabedoria popular acerta metade. Gradientes e luz suave são baratos; grão de película, ruído de sensor, texturas sobrepostas e dithering pesado são caros, e com um orçamento fixo o codificador paga-os atirando fora detalhe num sítio que lhe interessava. O codificador do Chrome não é o do YouTube, portanto tome os números exactos como uma ordem de grandeza — a direcção não está em dúvida.
Causa 4: as variantes com barras negras
Dois dos ficheiros estáticos são 4:3, um resto de quando o YouTube o era, e não recortam a sua imagem: enchem-na. O hqdefault.jpg é 480 × 360 com 45 píxeis de negro em cima e em baixo, portanto a imagem verdadeira é 480 × 270. O sddefault.jpg é 640 × 480 com barras de 60 píxeis, o que dá 640 × 360.
Interessa porque muitas coisas fora do YouTube vão buscar esses URL, e por causa do recurso alternativo: num vídeo sem maxresdefault — um carregamento mais antigo ou de resolução mais baixa — o og:image passa a ser um hqdefault redimensionado. Verifiquei-o num carregamento de 2005: 480 × 360, 21 KB, barras incluídas. Se as suas pré-visualizações de links aparecem com barras e moles, é por isto, e a solução é ter um carregamento que permita o maxres.
O tecto de peso não é um orçamento de qualidade
O limite do YouTube para a miniatura personalizada é de 50 MB a partir do computador e 2 MB a partir do telemóvel, e esses 2 MB são um dos números mais mal lidos de todo o processo: é a cifra do telemóvel, citada em todo o lado como se fosse a única. É um tecto para o que pode mandar, não uma indicação do que será entregue: os ficheiros acima estão entre 7 KB e 318 KB. Encher a margem só dá ao codificador mais do seu ficheiro para descartar.
O que importa é chegar abaixo do tecto sem uma segunda ronda de compressão. Uma exportação de 3 MB apertada para 1,9 MB num compressor online é um JPEG codificado duas vezes antes de o YouTube o codificar uma terceira. Exporte uma vez, no tamanho e no formato do guia de tamanhos e especificações, e deixe a plataforma fazer a sua própria redução.
O que se lê realmente a 336 píxeis
Passado um certo ponto, a nitidez nesse tamanho é uma propriedade da composição mais do que da exportação. Menos elementos, cada um maior, é toda a técnica, e a razão é o orçamento em bytes: o detalhe gasto em três coisas pequenas é detalhe não gasto numa grande.
Os três pisos concretos estão medidos cada um no seu guia. O texto tem uma altura mínima que sobrevive à redução — veja o guia sobre o tamanho do texto. Um rosto tem de ocupar cerca de um terço do enquadramento, e mais de metade para a coluna de sugeridos, que é o guia sobre rostos. E a separação entre áreas vizinhas tem de vir da luminância e não só do tom, que é o guia sobre a cor. Os três são o mesmo argumento a chegar de direcções diferentes.
O que exportar
- 1280 × 720, 16:9, sRGBÉ o master que o YouTube guarda como maxresdefault e a proporção sobre a qual é construído cada recorte entregue. Maior do que 1280 não compra nada; menor do que 1280 custa-lhe a variante maxres e com ela a qualidade nas pré-visualizações de links.
- Uma exportação, não duasVá directamente do ficheiro de trabalho sem perdas para o ficheiro que carrega. Cada JPEG intermédio é uma ronda de artefactos que o codificador da plataforma vai amplificar em vez de limpar.
- Abaixo do limite sem compressorUma exportação de alta qualidade em resolução plena fica muito abaixo dos 50 MB que tem a partir do computador, portanto não há nada para espremer. Se a sua sair inesperadamente pesada, o desenho tem mais ruído ou textura do que o formato quer: reduza isso, em vez de passar o ficheiro por um segundo compressor.
- Verifique-a a 336 píxeis antes de carregarO último passo é o único que lhe diz se os três anteriores serviram. Veja-a no espaço, não no editor.
A verificação de um minuto
Tudo o que está acima converge na mesma coisa: julgue o ficheiro onde vai ser entregue. É um problema de visualização, e um problema de visualização é fácil de resolver — só precisa dos tamanhos reais lado a lado, com concorrentes verdadeiros em volta, para estar a comparar em vez de a admirar.
É o que a ferramenta de pré-visualização faz. Se a sua miniatura se aguenta na coluna de sugeridos, no tamanho mais pequeno e mais comprimido que o YouTube envia, então a nitidez da sua exportação nunca foi o problema — e se não se aguenta, nenhuma configuração de exportação a salva.
As perguntas que todos fazem
Porque é que a minha miniatura do YouTube fica desfocada depois de carregar?
Porque o ficheiro que o espectador recebe não é o que mandou. Medido em páginas reais: um sugerido é entregue como WebP de 168 × 94 (336 × 188 num ecrã Retina) e uma linha de pesquisa como 360 × 202. Um desenho com muitos elementos pequenos não sobrevive a isso; um com poucos e grandes sobrevive.
Que resolução deve ter uma miniatura do YouTube?
1280 × 720, em 16:9. É o master que o YouTube guarda como maxresdefault e a fonte de que deriva cada recorte entregue. Carregar maior não muda nada; carregar com menos de 1280 de largura custa-lhe a variante maxres, que é também a usada pelas pré-visualizações de links.
Um ficheiro mais pesado significa uma miniatura mais nítida?
Não. O limite de peso — 50 MB a partir do computador, 2 MB a partir do telemóvel — é um tecto para o carregamento, não um orçamento de entrega: os ficheiros que o YouTube serve estão entre 7 KB e 318 KB. O que faz mal é comprimir duas vezes: exportar um JPEG e depois passá-lo por um compressor antes de carregar.
O grão ou o ruído pioram a qualidade da miniatura?
Sim, de forma mensurável. Com o orçamento em bytes que o YouTube gasta no espaço dos sugeridos, uma versão limpa da mesma foto codifica-se a qualidade 0,95 enquanto uma com ±12 níveis de grão só se permite 0,80. Um gradiente suave, ao contrário, não custa praticamente nada.
Porque é que a minha miniatura tem barras negras nas pré-visualizações de links?
Porque essa superfície recorreu ao hqdefault.jpg, que é 480 × 360 com barras de 45 píxeis — a imagem verdadeira lá dentro é 480 × 270. Acontece quando um vídeo não tem maxresdefault, ou seja quando o carregamento tinha menos de 1280 píxeis de largura.
Testar a minha miniatura na ferramenta de pré-visualização →