DirectShowSource

DirectShowSource (string filename, float fps, bool "seek", bool "audio", bool "video", bool "convertfps")

DirectShowSource filename com DirectShow, o mesmo sistema de play-back de multimídia que o Windows Media Player usa. Pode ler a maioria dos formatos que o Media Player pode tocar, inclusive MPEG, MP3 e QuickTime, bem como arquivos AVI que AVISource não suporta (como DV tipo 1, ou arquivos que usam só os codecs do DirectShow). Tente ler os arquivos AVI com AVISource primeiro e se não der certo então tente este filtro.

Há alguns senões:

A partir da v2.53 várias coisas foram incluídas:

Na v2.56, convertfps = true/false (default false) foi incluído. Torna o vídeo de framerate variável (vfr) em vídeo de framerate constante (cfr) por inclusão de quadros. Isto é útil quando você quiser abrir vídeo vfr (por exemplo mkv ou wmv com vídeo híbrido) no AviSynth.

Exemplo

DirectShowSource("F:\Guides\Hybrid\vfr_startrek.mkv", fps=119.88, convertfps=true)

Resolvendo problemas de vídeo e áudio 

AviSynth por padrão, vai tentar abrir só as mídia que não tenham qualquer problema. Se um componente não pode ser aberto, simplesmente não será acrescentado à saída. Isto significa que se houver um problema, você nem verá o erro. Para ter a mensagem de erro a esse componente, use audio=false ou video=false e desative o componente que está trabalhando. Assim AviSynth exibirá a mensagem de erro do componente que não trabalha.

"O Gráfico de Filtro não quer falar comigo"

Este é um erro comum que acontece quando DirectShow não puder entregar qualquer formato que é legível por AviSynth. Tente criar um gráfico de filtro manualmente e veja se o AviSynth o pode abrir. Se não, você deve carregar filtros de adicionais DirectShow para produzir material correto.

A taxa de amostra está errada!

Alguns filtros podem ter problemas ao informar o "samplerate" certo e então corrige isso quando o arquivo estiver tocando. Infelizmente não há nenhum modo para AviSynth corrigir isso, uma vez que o arquivo foi aberto. Use AssumeSampleRate e fixe a taxa de amostra correta para este problema.

Meu som está entrecortado

Infelizmente AviSynth não pode (ainda) buscar com 100% de precisão no DirectShow. Abra o som de outro modo, ou demuxe seu arquivo de vídeo e sirva-o ao AviSynth de outro modo. Caso contrário você pode especificar "seek = false" como parâmetro.

Tarefas comuns

Esta seção descreve várias tarefas que podem não ser 100% óbvias. :)

Abrindo arquivos GRF

Os arquivos GRF do GraphEdit são automaticamente detectados e carregados por DirectShowSource. Para AviSynth poder conectar, tem que deixar pinos abertos no GraphEdit dos tipos de mídia a que AviSynth possa conectar. AviSynth não tentará desconectar qualquer filtro, assim é importante que o tipo de saída seja correto.

Downmixing* AC3 para estéreo

Essencialmente há dois modos para fazer isso. O primeiro é fixar o downmixing na configuração de seu próprio decodificador de AC3 e o segundo é usar o downmixer externo de "Trombettworks":

1) Instale AC3filter. Abra o arquivo AC3 no WMP6.4 e selecione propriedades de arquivo. Fixe a saída do AC3Filter em 2/0 - stereo. Se você quer a melhor qualidade possível, selecione PCM Float como formato de Amostra.

Faça o seguinte escrito:

v = Mpeg2Source("e:\movie.d2v")
a = DirectShowSource("e:\Temp\Test2\test.ac3")
AudioDub(v,a)
Finalmente, abra o escrito no vdub e converta o fluxo do áudio para MP3 (claro que você também pode demuxar o downmixed WAV se precisar).

2) Registre o filtro do directshow Channel Downmixer por Trombettworks (em start -> run):

    regsvr32 ChannelDownmixer.ax

Abra o arquivo AC3 no WMP6.4 e selecione propriedades de arquivo. Fixe a saída do AC3Filter em 3/2+SW 5.1 channels (este downmixer não pode controlar PCM Float, assim PCM 16 bits é selecionado aqui). Nas propriedades do downmixer, o número de canais de entrada e saída deve ser detectado automaticamente. Confira se realmente está correto.

 

Faça o seguinte escrito:

v = Mpeg2Source("e:\movie.d2v")
a = DirectShowSource("e:\Temp\Test2\test.ac3")
AudioDub(v,a)
Finalmente, abra o escrito no vdub e converta o fluxo do áudio para MP3 (claro que você também pode demuxar o downmixed WAV se precisar).

Por alguma razão, eu não consigo fazer isto trabalhar com fluxos DTS :(

Log de mudanças:

v2.56 convertfps torna vfr em cfr  constante pela inclusão de quadros

$Date: 2006/03/26 18:11:19 $ Portuguese translation by RoLon