DirectShowSource
(string filename, float fps, bool "seek",
bool "audio", bool "video")
DirectShowSource
legge filename usando DirectShow,
Può leggere molti formati trattati da Media Player compresi MPEG, MP3,
e QuickTime, allo stesso modo di files AVI che AVISource non supporta (come
i DV type 1, o files che usano codecs solo per DirectShow">DirectShow).
Provate a leggere un file AVI per prima cosa con AVISource , e se non funziona
provate con questo filtro.
Ci sono alcune contraindicazioni:
FlipVertical
.DirectShowSource
("video.asf", fps=15).A partire dalla v2.53 sono state aggiunte molte cose:
DirectShowSource
riesce ad aprire i formati WAV/DTS/AC3/MP3, a condizione che ad esempio si
riesca a riprodurle in WMP (più esattamente: ammesso che essi siano
correttamente interpretati da graphedit). L'ordine dei canali è lo
stesso del formato wave-format-extensible
, poichè l'input è sempre decompresso in WAV. Per ulteriori
informazioni, vedere anche GetChannel
.
AviSynth carica campioni PCM a 8, 16, 24 e 32 bit int come pure formati PCM
float, e qualunque numero di canali.AviSynth cerca di default di aprire solo i media che può aprire senza problemi. Se un componente non può essere aperto esso semplicemente non sarà aggiunto all'output . Questo significa che se c'è un problema, l'errore non si vedrà. Per ottenere il messaggio di errore del componente scartato, usare audio=false o video=false per disabilitare il componente che sta funzionando. In questo modo AviSynth esporrà il messaggio di errore del componente che non funziona.
Questo è un errore comune che si verifica quando DirectShow non è in grado di esportare nessun formato che sia leggibile da AviSynth. Provate a creare manualmente un filter graph e vedete se riuscite a costruirne uno che generi un output che AviSynth sia in grado di aprire. In caso contrario, potreste aver bisogno di scaricare filtri DirectShow addizionali che possano generare un materiale corretto.
Alcuni filtri potrebbero avere problemi nel comunicare il corretto samplerate, e quindi nel correggerlo durante la riproduzione . Sfortunatamente non c'è modo per AviSynth di correggere ciò una volta che il file sia stato aperto. Per correggere questo problema usate AssumeSampleRate ed impostate il corretto samplerate.
Sfortunatamente AviSynth non può (ancora, si spera) eseguire in DirectShow un seek preciso al 100% . Aprite la colonna sonora in un altro modo, o demuxate il video file e passatelo ad AviSynth in un altro modo. Diversamente si può specificare come parametro "seek = false".
Questa sezione descrive alcuni lavori che possono risultare non al 100% ovvi. :)
I GRF-files di GraphEdit sono riconosciuti da DirectShowSource in modo automatico. Per fare in modo che AviSynth sia in grado di connettersi , in GraphEdit dovete lasciare aperti pins di media types cui AviSynth sia in grado di connettersi. AviSynth non cerca di disconnettere nessun filtro, per cui è importante che il tipo di output sia corretto.
1) Installate AC3filter. Oprite il file AC3 in WMP6.4 e selezionate le proprietà del file. Impostate l'output di AC3Filter a 2/0 - stereo. Se volete la miglior qualità possibile, selezionate PCM Float come formato di campionamento (Sample format).
Costruite questo script:
v = Mpeg2Source("e:\movie.d2v") a = DirectShowSource("e:\Temp\Test2\test.ac3") AudioDub(v,a)Infine, aprite lo script in vdub e convertite l' audio stream in MP3 (ovviamente , se serve, potete anche demuxare lo stream WAV).
2) Registrate il filtro directshow Channel Downmixer by Trombettworks (in start -> run):
regsvr32 ChannelDownmixer.ax
Aprite il file AC3 in WMP6.4 e selezionate le proprietà del file. Impostate
l' output di AC3Filter a 3/2+SW 5.1 channels (questo downmixer non può
gestire PCM Float, quindi qui è stato selezionate PCM 16 bit ). Nelle
proprietà del downmixer, il numero dei canali di input ed output dovrebbe
essere rilevato automaticamente. Testate che questo sia effettivamente corretto.
Create il seguente script:
v = Mpeg2Source("e:\movie.d2v") a = DirectShowSource("e:\Temp\Test2\test.ac3") AudioDub(v,a)
Infine, aprite lo script in vdub e convertite l' audio stream in MP3 (ovviamente , se serve, potete anche demuxare lo stream WAV).
Per qualche ragione, tutto ciò non funziona con streams DTS :(
$Date: 2004/10/06 18:30:31 $