-->

sábado, 29 de novembro de 2008

Localize problemas com filtros usando o Graphedit.

Hoje eu tentei executar pela primeira vez (pós virus) um AVI dual audio e nada deu certo. O consumo de CPU do Windows Media player (WMP) foi a 100%, o áudio ficou muito fora de sincronismo com o vídeo e quando procurei a opção de trocar a faixa no menu do WMP, não achei nada.

Daí eu pensei: "Tá. Eu apenas esqueci de instalar o Morgan Stream Switcher (MSS)". Instalei então usando a cópia que eu sempre uso, mas para minha surpresa a coisa degenerou de vez.

Nunca havia acontecido de instalar o MSS e dar pau em alguma coisa, mas o WMP não conseguia mais executar filme nenhum, acusando que havia falha em algum dispositivo de vídeo ou audio. E o VLC funcionava normalmente (ou tão "normal" quanto tem estado ultimamente).

Vi nisso uma oportunidade de usar pela primeira vez o Graphedit da Microsoft para o dignóstico. Eu já sabia há muito tempo que ele podia ser usado para isso, mas meus problemas com filtros são tão esparsos que quando aparecia um eu já havia me esquecido completamente do Graphedit e resolvia de outras formas.

Usei File -> Render Media File para abrir o arquivo dual audio. Você também pode arrastar o arquivo para a janela do Graphedit.


O resultado foi este (geralmente o Graphedit faz bagunça, mas é possível reposicionar todos os blocos para melhorar a clareza, e foi o que eu fiz em todas as figuras seguintes):

Nota: se ao tentar abrir um MKV o Graphedit acusar que o formato não é suportado, instale o Haali Media Splitter 


Detalhe do que nos interessa:


Existem múltiplos problemas com esse gráfico que poderiam não ser notados por quem nunca tivesse visto um gráfico correto (por isso é bom você experimentar com o Graphedit antes de tentar usá-lo para resolver um problema).
  1. Por que a saída de Ac3filter não está conectada a nada?
  2. Por que apenas um dos streams de áudio está direcionado para o filtro MSS?
  3. O que o AC3Filter está fazendo na saída de um decoder MP3? - isso será esclarecido no final deste texto.
Dos três problemas o primeiro é o mais grave, sinalizando algo corrompido. Um filtro não pode aparecer no gráfico sem ter pelo menos uma entrada e uma saída conectadas a alguma coisa.

Desinstalei o Ac3filter e reabri o mesmo dual audio no Graphedit. Desta vez o gráfico apareceu como esperado:


Testei no WMP e tudo funcionou como deveria. As duas trilhas apareceram no menu, chaveei entre elas à vontade e o consumo de CPU permaneceu dentro do normal. Problema resolvido.

Mas um outro problema foi criado: Sem o AC3Filter todo AVI com áudio AC3 vai ficar mudo.

Reinstalei o Ac3filter e repeti a análise do mesmo dual audio:



Embora desta vez o gráfico esteja certo (os problemas 1 e 2 anteriores não se manifestaram), ainda temos o ac3filter estranhamente sendo carregado como filtro para áudio MP3. Testei o AVI no WMP e tudo pareceu funcionar normalmente, como se não houvesse nada de diferente no caminho. Mas como no momento eu não vejo vantagem nisso (só possíveis problemas), fui checar a configuração do Ac3filter.

Isso pode ser feito direto no Graphedit. Clique com o botão direito sobre o filtro e escolha Filter Properties:



A configuração que provoca isso não foi difícil de achar:



Bastou desmarcar isso e o ac3filter deixou de se meter onde não deveria ser chamado :)

Um comentário:

  1. Eaee Jefferson, leio praticamente todo o dia o seu Blog, gosto muito das informações e como você as coloca. Mais uma ferramenta que vai para meu kit de "primeiros socorros" vlw

    Só para informar que essas dicas ai vou colocar no meu fórum com os devidos créditos obviamente

    Abs

    Tiago Bigode
    http://tiagobigode.com.br/forum

    ResponderExcluir

Siga as regras do blog ou seu comentário será ignorado.