O YouTube é uma porcaria pra retrogaming

Você provavelmente já sabe que o YouTube anunciou, no final de junho, suporte para vídeos a 48 e até 60 fps (aparentemente disponíveis somente nas resoluções de 720 e 1080p), o que significa o dobro da taxa de frames (frame rate) com a qual estamos acostumados. Esta notícia é boa principalmente para os vídeos de gameplay, que poderão finalmente oferecer ao espectador uma experiência visual mais próxima à do jogador.

A demanda surgiu com esta geração de consoles, que terão games rodando a 60 fps, e shooters intensos como Titanfall serão melhor aproveitados nos vídeos já que os movimentos ficarão mais fluidos. “Ok, entendi, então se o YouTube vai ter vídeos a 60 fps por causa da nova geração de consoles, porque no título você falou que ele é uma porcaria pra retrogaming?” Bom, simplesmente pelo fato de que mesmo os consoles e PCs mais antigos já rodavam os jogos a 60 fps! E os vídeos do YouTube, desde 2005 (ano de lançamento), no entanto, só rodavam a 30 fps.

Vou tentar explicar um pouco

Antes de mais nada, embora os consoles mais modernos prometam 60 fps, qualquer valor que fique entre 30 e 60 fps é tido como aceitável (abaixo de 30 fps o jogo parece meio travado, já que o limite mínimo pro nosso cérebro reconhecer movimento é 24 fps). Mas isto é assunto pra outro post.

collection_retrogaming2

Como eu já comentei, os consoles e PCs mais antigos (leia-se Atari, NES, Commodore 64, ZX Spectrum etc.) rodavam games a [50 ou] 60 fps. Quando os consoles começaram a rodar jogos em 3D, em meados da década de 1990, a demanda por hardware deu um salto enorme em relação aos aparelhos das gerações 8 bit e 16 bit que rodavam jogos em 2D, e por isso se tornou difícil manter uma alta taxa de frames – então nos acostumamos a jogar com 30 fps.

YouTube foi criado com frame rate de 30 fps (lembre-se que o ano de 2005 estava no meio de uma overdose de câmeras digitais e primeiros celulares com filmadora, não havia uma preocupação real com especificações técnicas, além das velocidades reduzidas de internet). Só que como os consoles e PCs antigos rodam os jogos a 60 fps, quando você assiste um vídeo com a metade do frame rate, a coisa fica ruim e sem fluidez.

Para entender melhor o frame rate e resoluções dos consoles e computadores antigos

Todo console antigo que foi lançado antes do Mega Drive e Super Nintendo, quase sem exceções, dava saída de vídeo a 60 fps para sistemas NTSC (padrão aqui no Brasil) ou 50 fps para PAL (padrão na Europa). As resoluções eram parecidas: o Atari 2600 tinha resolução de 160×192, o Master System de 256×192 e o NES de 256×240. As taxas de frame dos computadores eram variáveis não por país, mas por cadência de monitor, e iam de 60, 70, 72, 75 a 85 Hz entrelaçados.

interpolacaoO Mega Drive e o SNES até ofereciam suporte pra alta resolução (480p) no modo entrelaçado* (significa que a TV intercala as linhas da tela mostrando primeiro as ímpares e depois as pares), mas a maioria dos jogos optava pela resolução comum (240p) porque assim era possível rodar com taxa de frames maior (sem necessidade de entrelaçamento). Até os portáteis como Gameboy, Game Gear, Nomad e Gameboy Advance rodavam os jogos a 60 fps.

Foi só nos consoles mais modernos como PlayStation, Nintendo 64 e Saturn que os modos entrelaçados começaram a ter seu uso significativo, e se tornaram populares de verdade com o PlayStation 2 – isto significa que estes consoles, por mais que rodassem com taxa de frame mais alta, por ser entrelaçado, a percepção dos frames é reduzida pela metade. A maioria dos jogos de Dreamcast, GameCube e Xbox, no entanto, podiam rodar numa resolução de 480p no modo progressive scan (em que cada frame é mostrado por inteiro, ou seja, sem entrelaçamento) com o uso de cabos de vídeo componente. Poucos jogos de PS2 tinham essa opção.

E por que no YouTube os vídeos de retrogaming ficam ruins?

Os personagens Billy e Tommy Lee desaparecem diversas vezes… este é o sprite flickering.

Além da taxa de frames, comentei que os consoles e computadores antigos entregavam uma variedade grande de resoluções (em pixels) e o YouTube não era – e ainda não é – capaz de suprir a necessidade para tantas resoluções diferentes. Hoje os games rodam a 720p e 1080p e o YouTube também, então facilita muito. Pode parecer bobagem, já que os games antigos tinham resoluções muito baixas mesmo para os padrões de uma década atrás, mas na hora de assistir a um vídeo de gameplay que ofereça uma boa experiência visual, com boa resolução e movimentos fluidos, tudo que eu falei até agora faz diferença.

Além disso, se você posta um vídeo no YouTube, não importa a maneira que ele foi capturado, o site irá convertê-lo para 30 fps, excluindo os frames extras (caso o vídeo original rode a mais do que 30 fps) ou interpolando dois ou mais frames para criar um único frame (caso rode a menos do que 30 fps). Isso destrói ainda mais a fluidez dos movimentos nas gravações dos games.

Os frames excluídos podem, consequentemente, gerar sprite flickering, que é quando a imagem do personagem e/ou cenário fica “piscando”, literalmente aparecendo e sumindo, coisa que é obviamente imperceptível quando se está jogando.

Embora o YouTube possua agora suporte a 60 fps e, eu tenho certeza de que isso não vale para vídeos em baixa resolução, então ainda temos problemas de fluidez e flicker. “Ué, mas então porque você não vê os vídeos de retrogaming nas resoluções mais altas?” Bom, eis o motivo:

Resolução original (esq.) e video do YouTube depois da conversão (dir.). Perceba que a imagem perde definição depois de sofrer escalonamento.
Resolução original (esq.) e vídeo do YouTube depois da conversão (dir.). Perceba que a imagem perde definição depois de sofrer escalonamento.

O problema é o algoritmo de dimensionamento. Mesmo que um vídeo tenha sido capturado sem compressão (lossless), o YouTube não tem a capacidade de apresentar vídeos sem compressão, não importa quão pequenos eles sejam (e compressão estraga a imagem em favor do tamanho em bytes).

O YouTube também não oferece configurações de “tamanho exato” na janela do vídeo, além de ela ter um tamanho mínimo de 640×350, que é maior do que o maior dos exemplos que eu dei acima, o NES com 256×240. Os vídeos menores do que 640×350 (e isso inclui literalmente qualquer gameplay de console antigo) são esticados. O escalonamento do vídeo utiliza bilinear sampling ou bicubic sampling, então a imagem que estava bem definida fica difusa. Considerando jogos 8 bit, por exemplo, que nossos olhos conseguem reconhecer cada pixel isoladamente, uma imagem difusa estraga toda a experiência pois falta nitidez.

No método Bilinear (esq.) o pixel reconhece a cor do vizinho e cria um terceiro pixel com a média das duas cores; no método Bicubic (dir.) o pixel reconhece não só a cor do vizinho, mas a do pixel seguinte, determinando qual a melhor cor a ser usada.
No método Bilinear (esq.) o pixel reconhece a cor do vizinho e cria um terceiro pixel com a média das duas cores; no método Bicubic (dir.) o pixel reconhece não só a cor do vizinho, mas a do pixel seguinte, determinando qual a melhor cor a ser usada.

Quando um vídeo é capturado perfeitamente – o que significa que ele é pixel perfect, sem interpolações, sem compressão e na resolução nativa – ele oferece a mesma experiência visual do que quando o game é jogado (você assiste o que o jogador assiste). Para vídeos de gameplay perfeitos ainda é necessário buscar em sites específicos. Existem modos de captura – seja via hardware ou via emulador – que permitem a melhor qualidade possível no vídeo de retrogaming, como por exemplo usando o DOSBox, que não possui filtros, escalonamento, anti-aliasing e etc., e é altamente preciso.

Mas o YouTube é o maior site de vídeos da internet e janela para uma imensidão de vídeos e canais relacionados a games que, inclusive, são fonte de renda para alguns youtubers, então ainda torço para que a demanda por qualidade de vídeos de retrogaming seja grande o suficiente para que o YouTube trabalhe para atender.

*O modo entrelaçado não é difícil de entender se você considerar o seguinte: imagine 60 frames por segundo. Quando você tem o modo normal e o progressive scan você tem de fato 60 imagens piscando na tela a cada segundo. No modo entrelaçado, você também tem 60 frames por segundo, mas a diferença é que, pelo fato de a TV mostrar primeiro as linhas ímpares e depois as linhas pares (e consequentemente só metade da imagem), somente 30 imagens completas são construídos naquele mesmo segundo.

Flávio

Me formei na faculdade de Design em 2007, sou apaixonado pela minha profissão, por rock'n'roll, cozinhar, jogar video game, por Star Wars e hamburger. Colaborador do Greenpeace e Médicos Sem Fronteiras.

O que você acha?

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s