Re-codificação de seus DVDs

Como Donald Knuth, eu acho que o grande parte do hype atual do multicore é superestimado.

A máquina que uso hoje tem dois processadores. Posso usar os dois apenas quando estou executando dois trabalhos independentes ao mesmo tempo; isso é bom, mas acontece apenas alguns minutos por semana. Se eu tivesse quatro processadores, ou oito, ou mais, ainda assim não estaria melhor, considerando o tipo de trabalho que faço, embora esteja usando meu computador quase todos os dias durante a maior parte do dia. Então, por que eu deveria ficar tão feliz com o futuro que os fornecedores de hardware prometem? Eles acham que uma bala mágica surgirá para fazer com que os multicores acelerem meu tipo de trabalho; eu acho que isso é um sonho impossível. (Não, essa é a metáfora errada! Os “pipelines” realmente funcionam para mim, mas os threads não. Talvez a palavra que eu queira usar seja “bolha”).

Apesar disso, reconheci o tempo todo que existem certas tarefas restritas que a proliferação de núcleos de CPU fará com que o dramaticamente mais rápido. E uma das minhas tarefas favoritas nesse nicho é codificar sua coleção de DVDs.

Comprei meu primeiro DVD há cerca de 10 anos. Na época, eles eram uma maravilha técnica:

  • 8,5 Gigabytes por lado
  • Vídeo MPEG-2 720 x 480 a 30 quadros por segundo
  • Som digital multicanal Dolby Digital (AC-3) ou Digital Theater System (DTS)

Hoje, essas especificações são estão se tornando rapidamente pedestres diante da alta definição do cabo, da transmissão e dos discos Blu-Ray. Alguns dos sites de compartilhamento de vídeo já oferecem algo perigosamente próximo da qualidade de DVD.

Eu digo o DVD é o novo MP3. Vamos começar a distribuir essas coisas como se fossem doces.

Ao contrário dos CDs de áudio, os DVDs já são dados digitais compactados. O senhor pode extrair os arquivos do DVD no estado em que se encontram e reproduzi-los à vontade. Não é necessário recodificar. Mas, como o O Homem de Seis Milhões de Dólares, podemos reconstruí-los melhor do que eram antes. Os codecs de vídeo avançaram tremendamente desde os dias de glória do MPEG-2. Esses novos codecs exigem muito mais potência de reprodução do que o MPEG-2mas oferecem qualidade comparável em cerca de um quarto do tamanho. Podemos transformar nossos DVDs digitais em melhor DVDs digitais por meio de ciência da computação superior.

Mas se o senhor pensou que o reprodução Se as exigências de desempenho desses novos codecs eram severas, espere até o senhor ver o codificação demandas de desempenho. É somente no último ano ou dois que as CPUs típicas puderam codificar o novo MPEG-4 ou VC1 em algo que se aproximasse do tempo real. Mas agora, com os núcleos duplos extremamente rápidos chegando ao mercado convencional e as CPUs quad-core conquistando uma fatia decente para si mesmas, o usuário médio poderia potencialmente extrair e codificar um DVD comum em menos de 30 minutos. Por uma análise recente do conjunto de dados de benchmark H.264estatisticamente, o senhor pode esperar reduzir pela metade o tempo de codificação quando o senhor passa de 2 para 4 núcleos… e quase o faz novamente quando passa de 4 para 8!

Resultados de benchmark de codificação HD por família de CPU

Também ajuda o fato de haver ótimos softwares gratuitos, como o Handbrake que facilita o aproveitamento da potência da CPU do desktop para codificar seus DVDs.

captura de tela do freio de mão

Sim, há um número intimidador de botões e mostradores que podem ser ajustados aqui, mas o que eu gosto no freio de mão é que, em grande parte, não preciso fazer isso. Há algumas predefinições lógicas à direita (infelizmente, cortadas da captura de tela por causa do tamanho) que o ajudarão a seguir na direção certa: AppleTV, iPod, filme, Xbox 360 e assim por diante. Eu defino algumas variáveis, como a taxa de bits geral – prefiro algo entre 900 e 1200 – e se preciso desentrelaçar a fonte. Mas, na maioria das vezes, deixo o Handbrake usar seus padrões “automáticos” e obtenho excelentes resultados. Se o senhor estiver curioso sobre os detalhes, há um uma descrição bem escrita de muitas das configurações do Handbrake.

Tive mais sorte com o codec H.264, que é agressivamente multithread. Consegui 30-40 fps em meu modesto novo processador HTPC dual-core com baixo consumo de energiae mais de 100 fps em meu dual-core de 4 GHz com overclock. Felizmente, o Handbrake suporta um modo de codificação em lote, de modo que o senhor pode enfileirar vários trabalhos para serem executados durante a noite.

Eu estava particularmente entusiasmado por descobrir que posso passar o áudio digital diretamente pelo usando a configuração “AC3”. para o codificador de áudio. Isso significa que, ao reproduzir esses arquivos em um PC com home theater, o áudio digital chega ao seu receptor exatamente da mesma forma que chegaria de um DVD, com um alguns pequenos ajustes no ffdshow. Não há degradação ou conversão de áudio de forma alguma! Como audiófilo, sofri muito com muitos DVDs recodificados que foram mixados para estéreo simples ao longo dos anos, portanto, para mim, esse é um grande avanço.

Então, em resumo… quase a mesma qualidade de vídeo digital, exatamente a mesma qualidade de áudio digital, tudo em um único arquivo com menos de um quarto do tamanho original do DVD. Sério, eu fico arrepiado. É o nirvana dos nerds. O que há para não amar na codificação de sua coleção de DVDs? Também é um uso perfeito desses quatro núcleos da CPU, que, de outra forma, ficariam ociosos 99% do tempo.

Veja, por exemplo, um de meus filmes favoritos, Idiocracia. Usei o Handbrake para converter esse DVD de um conjunto de arquivos totalizando 4,15 GB para um único arquivo de 995 MB, quase sem perda de qualidade. Veja o senhor mesmo.

Imagem estática capturada do DVD original:

idiocracy-tv dvd

Imagem estática capturada de um vídeo codificado em H.264 de um DVD:

idiocracy-tv h264

A imagem acima foi usada em uma postagem anterior, Um mundo de publicidade sem fim. Adoro poder pegar um arquivo de filme na rede e obter rapidamente a imagem exata de que preciso para uma publicação no blog. Sim, há uma pequena perda de fidelidade, principalmente nas sombras da cadeira na parte inferior esquerda e na textura da parede na parte superior esquerda. Mas estou disposto a viver com esse compromisso se isso significar que não preciso puxar arquivos de imagens ISO gigantescas de 8 GB pela rede.

Por que recodificar DVDs que o senhor já possui? Principalmente por conveniência, para que o senhor possa assisti-los em seus dispositivos móveis, em seus PCs, laptops e qualquer outra coisa que se assemelhe vagamente a um computador em sua casa. O senhor também pode usar adequadamente todos esses cavalos de CPU. Um DVD recodificado é portanto muito mais flexível do que aqueles pedaços físicos de plástico redondo e reflexivo.