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.

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