Vídeos do YouTube sem som após conversão de vídeo (K-Lite Mega Codec Pack)

Utilizo o Corel VideoStudio Pro X8 para edição de vídeo e, apesar dele suportar os vídeos do YouTube sem conversão, o projeto final (o vídeo em si) mostra pixels sobrepostos, com uma qualidade horrível, que pode ocorrer tanto no início quanto no final do vídeo (somente quando utilizo a ferramenta de corte ou a Mark-in/out).

Devido a perda da qualidade de vídeo, decidi convertê-los para WMV (um dos formatos que o Movie Maker é compatível) e realizar o cortes por ele (Movie Maker). Para testes decidi, após a conversão, cortar o vídeo convertido no VideoStudio e, para minha surpresa, não houve os problemas que ocorria quando editava os vídeos do YouTube em formato nativo (MP4)!

Para esta tarefa de converter vídeos, utilizo o Prism Video Converter, da NCH Software. Ele utiliza Codecs instalados no sistema para realizar a conversão de áudio e vídeo.

Por padrão, vídeos do YouTube utilizam o formato MP4 (AVC para vídeo e AAC para áudio).

mediainfo

Como utilizo o K-Lite Mega Codec Pack, ele utiliza o LAV por padrão para o formato de áudio AAC.

Para a conversão do vídeo, ok! O LAV funcionou normalmente. Mas para o áudio, nem tanto: O vídeo era convertido sem som!

Decidi desabilitar o LAV para o formato de áudio AAC através do Codec Tweak Tool, que acompanha o K-Lite Mega Codec Pack (Em Configuration, clique no botão DirectShow Filters). Em Audio Decoders, clique no botão LAV Audio decoder, entre na aba Formats e desmarque o formato aac.

lav_aac_disable

Isso deve ser o suficiente para que os vídeos do YouTube possam ser convertidos com som (Ele utilizará o FFDShow que acompanha o K-Lite Mega Codec Pack daqui em diante).


A solução apresentada neste post é a ideal para uso em um único computador. Mas como sou Técnico em Informática e instalo o K-Lite Mega Codec Pack em muitos computadores diferentes, eu utilizo a instalação UNATTENDED. Este tipo de instalação permite a instalação silenciosa do pacote de Codecs, com as opções definidas uma única vez por mim iniciando o instalador do K-Lite com a opção /unattended

Apesar do K-Lite Mega Codec Pack (estou utilizando a versão 11.7.0, a versão mais recente disponível no momento que escrevo este post) permitir, em instalações customizadas, selecionarmos o FFDShow para o formato AAC na opção “DirectShow audio decoding filters > AAC“, a lógica do instalador simplesmente ignora esta opção e o LAV continua sendo utilizado por padrão para este formato! Abri um post no Forum oficial do KLCP sobre o bug, que pode ser acompanhado aqui. Atualizarei este post quando corrigirem o bug.

Eu não gostaria de ter que desabilitar o LAV manualmente em cada computador que instalo o pacote de Codecs – eu simplesmente me esqueceria disto. E como o instalador não respeita a opção marcada durante a instalação, o LAV continua sendo o filtro padrão para AAC.

Como um workaround, podemos adicionar as seguintes linhas no arquivo bat gerado no mesmo local onde encontra-se o instalador do KLCP quando iniciamos o instalador em modo unattended (klcp_mega_unattended.bat):


if %PROCESSOR_ARCHITECTURE%==x86 (
set key=HKLMSoftwareLAVAudioFormats
) else (
set key=HKLMSoftwareWow6432NodeLAVAudioFormats
)
reg add %key% /v aac /t REG_DWORD /d 0 /f
reg add HKCUSoftwareLAVAudioFormats /v aac /t REG_DWORD /d 0 /f

Adicione as linhas acima após a execução do instalador do KLCP.

Elas verificam se o sistema é 32 ou 64-bits. Em sistemas 64-bit, ela precisa editar o valor em Wow6432Node, devido ao LAV ser um filtro 32-bits.

Ele modifica o valor aac para tanto na chave HKLM (global – variável %key%) quanto ao usuário atual (HKCU).

Apesar dela editar esta opção globalmente (para todos os novos usuários criados no computador) e para o usuário atual, ela não edita esta opção para outros usuários no computador que já utilizaram o Codec Tweak Tool para editar as opções de formatos do LAV. Seria necessário a adaptação do script RegUpdateAllUsers para certificar-se que todos os usuários EXISTENTES não utilizarão o LAV para aac por padrão. Novos usuários utilizarão a opção global (HKLM) por padrão.

Outra solução para forçar um reset das opções do LAV (e de todos os outros filtros) é a desinstalação do pacote de Codecs antes de instalar uma versão mais recente. “Ah, mas quando instalamos uma nova versão do KLCP ele não desinstala a antiga?” Sim jovem! Ele desinstala, mas MANTÉM as configurações antigas. Para excluí-las de vez, a opção Reset default settings deve estar marcada (em instalações Unattended) ou o KLCP precisa ser desinstalado através do Programas e Recursos disponível no Painel de Controle.

Anúncios

Deixe um comentário

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 )

Imagem do Twitter

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

Foto do Facebook

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

Foto do Google+

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

Conectando a %s