Discussione:
Problemi nella riproduzione di video MPEG 1 (VCD)
(troppo vecchio per rispondere)
Lorenzo Benaglia
2006-12-29 20:11:40 UTC
Permalink
Ciao a tutti,

da un po' di tempo a questa parte non riesco più a riprodurre i video MPEG 1
con Windows Media Player sul mio Windows Xp Professional SP2.
Ogni volta che tento di visualizzare un file, ricevo l'errore C00D11B1:
http://www.microsoft.com/windows/windowsmedia/player/webhelp/default.aspx?&mpver=11.0.5721.5145&id=C00D11B1&contextid=83&originalid=80004005

Il PC monta una Sound Blaster Audigy 2 ZS Platinum ed i drivers sono
aggiornati, quindi non credo che il problema sia riconducibile alla scheda
audio.

Come prima cosa ho provato ad installare WMP 11 ma senza risolvere.
Ho provato a reinstallare anche DirectX ottenendo risultati analoghi.
Su suggerimento di Zarax ho installato ffdshow ma con scarsi risultati.

Se qualcuno volesse darmi una mano, gliene sarei riconoscente :-)

Grazie,
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Alessandro Angeli
2006-12-29 22:27:04 UTC
Permalink
From: "Lorenzo Benaglia"
Post by Lorenzo Benaglia
Come prima cosa ho provato ad installare WMP 11 ma senza
risolvere. Ho provato a reinstallare anche DirectX
ottenendo
risultati analoghi. Su suggerimento di Zarax ho installato
ffdshow ma con
scarsi risultati.
I decoders MPEG-1/2 di Windows sono in quartz.dll, che e` il
core di DirectShow. Siccome DirectShow e` ora considerato
parte di Windows, WMP e DirectX non lo re-installano piu`.
Prova a mano ad eseguire "regsvr32 quartz.dll".

Se non funziona, fai il play in GraphEdit. Il grafo di
default e`:

AsyncFileSource -> MPEG1Splitter ->
MPEG1Audio/VideoDecoder ->
VideoRenderer/DefaultDirectSoundDevice.

Se il grafo e` diverso, riporta la topologia o allega uno
snapshot o, meglio ancora, allega il file GRF salvato da
GraphEdit.

Puoi trovare GraphEdit sul web o, legalmente, in un SDK per
DirectX versione 8.x o 9.x precedente all'estate 2004 (io
consiglio la versione 9.0b dell'estate 2003) oppure in una
versione del Platform/Windows SDK successiva ad aprile 2005.
Non e` necessario installare l'SDK: WinRAR, 7-Zip e altri lo
scompattano e puoi copiare graphedt.exe. Se GraphEdit non ti
modtra le proprieta` dei filtri, copia e registra
proppage.dll.
--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
Lorenzo Benaglia
2006-12-29 22:53:04 UTC
Permalink
Post by Alessandro Angeli
I decoders MPEG-1/2 di Windows sono in quartz.dll, che e` il
core di DirectShow. Siccome DirectShow e` ora considerato
parte di Windows, WMP e DirectX non lo re-installano piu`.
Ah ecco :-)
Post by Alessandro Angeli
Prova a mano ad eseguire "regsvr32 quartz.dll".
Fatto, la registrazione va a buon fine ma l'errore permane.
Post by Alessandro Angeli
Se non funziona, fai il play in GraphEdit. Il grafo di
AsyncFileSource -> MPEG1Splitter ->
MPEG1Audio/VideoDecoder ->
VideoRenderer/DefaultDirectSoundDevice.
Se il grafo e` diverso, riporta la topologia o allega uno
snapshot o, meglio ancora, allega il file GRF salvato da
GraphEdit.
Ho trovato GraphEdit Build 011008
Se tento di aprire un qualunque file MPEG 1 (File -> Render Media File...)
ricevo il seguente messaggio d'errore:

"Could not construct a graph from this file.

- Have you installed all necessary filters?
- Note that the 'Render File' menu option cannot render *.GRF files.

Unspecified error (Return code: 0x80004005)"

Se provo ad esempio ad aprire un DivX mi appare il grafo.
Post by Alessandro Angeli
Se GraphEdit non ti
modtra le proprieta` dei filtri, copia e registra
proppage.dll.
Per quanto riguarda il grafo relativo al DivX, riesco tranquillamente a
vedere le proprietà dei filtri.

Grazie Alessandro, spero possa darmi qualche altra dritta :-)

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Alessandro Angeli
2006-12-29 23:20:45 UTC
Permalink
From: "Lorenzo Benaglia"
Post by Lorenzo Benaglia
Unspecified error (Return code: 0x80004005)"
E_FAIL e` grave e molto vago.

Prova a costruire il grafo a mano. I filtri si inseriscono
da Graph -> Insert Filters e sono quelli nella categoria
DirectShow Filters mentre solo i filtri di rendering audio
sono in Audio Renderers; i pins dei filtri si connettono
trascinando un pin di output sul pin di input del filtro
successivo. Per costruire un sottografo in modo automatico,
right-click sul pin di output e Render Pin.

1. Inserisci "File Source (Async.)" e scegli il file MPEG-1.

2. Inserisci "MPEG-1 Stream Splitter" e connetti l'output di
1 all'input di 2.

3. Inserisci "MPEG Video Decoder" e connetti l'output video
di 2 a 3 (se il nome del pin di output di 2 non specifica
che si tratta di video, controlla nelle proprieta` che il
major type sia video).

4. Inserisci "Video Renderer" e connetti l'output di 3
all'input di 4.

5/6. Esegui l'analogo di 3/4 per l'audio, usando "MPEG Audio
Decoder" e "Default DirectSound Device" (che e` in Audio
Renderers invece che DirectShow Filters).

Se non funziona, prova gli altri Audio Renderers. Gli altri
video renderers possibili invece sono tutti in DirectShow
Filters e sono i 2 "Video Renderer" (li distingui dal
Display Name, in cui il secondo GUID e` diverso) e il "Video
Mixing Renderer 9".

Se funziona, parti da un renderer, rimuovilo (DEL) e prova a
far costruire il sottografo in modo automatico. Poi rimuovi
gl ultimi 2 filtri e riprova e cosi` via finche' qualcosa
non fallisce. Se il sottografo costruito in modo automatico
e` diverso da quello manuale, qualcosa che hai installato ha
incasinato il registro dei filtri e dai filtri inseriti si
puo` probabilmente capire a quale programma appartengono.

In questo modo dovremmo capire quale componente non
funziona.
--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
Lorenzo Benaglia
2006-12-29 23:35:01 UTC
Permalink
Post by Alessandro Angeli
1. Inserisci "File Source (Async.)" e scegli il file MPEG-1.
2. Inserisci "MPEG-1 Stream Splitter" e connetti l'output di
1 all'input di 2.
Perdona la mia imbranataggine, ma ho qualche problema a fare quello che
dici.
Il punto 1 sono riuscito a farlo.
Per quanto concerne il punto 2 io non ho alcun "MPEG-1 Stream Splitter",
piuttosto ho un filtro che si chiama "MPEG-I Stream Splitter" (non so se sia
la stessa cosa :-) ). Se provo a connettere l'output del "File Source
(Async.)" con l'input del "MPEG-I Stream Splitter" ottengo il seguente
messaggio d'errore:

"These filters cannot agree on a connection. Verify type compatibility of
input pin and output pin.
No combination of intermediate filters could be found to make the connection
(Return code: 0x80040217)"

Un aiutino? :-)
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Alessandro Angeli
2006-12-30 07:16:21 UTC
Permalink
From: "Lorenzo Benaglia"
Post by Lorenzo Benaglia
Per quanto concerne il punto 2 io non ho alcun "MPEG-1
Stream Splitter", piuttosto ho un filtro che si chiama
"MPEG-I Stream Splitter" (non so se sia la stessa cosa
Si`, e` lo stesso :-) Non so perche' Microsoft abbia scritto
"-I" invece di "-1".
Post by Lorenzo Benaglia
:-) ). Se provo a connettere l'output del "File Source
(Async.)" con l'input del "MPEG-I Stream Splitter"
"These filters cannot agree on a connection. Verify type
compatibility of input pin and output pin.
No combination of intermediate filters could be found to
make the connection (Return code: 0x80040217)"
Questi 2 filtri dovrebbero sempre potersi connettere se il
file e` veramente MPEG1, per cui VFW_E_CANNOT_CONNECT e`
allarmante. Nelle proprieta` dei 2 filtri nella categoria
DirectShow Filters, sono entrambi in quartz.dll? Cosa c'e`
indicato nelle proprieta` del pin di output del "File Source
(Async.)"?

Puoi postare il contenuto della chiave
[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}]?
--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
Lorenzo Benaglia
2006-12-30 10:58:55 UTC
Permalink
Post by Alessandro Angeli
Si`, e` lo stesso :-) Non so perche' Microsoft abbia scritto
"-I" invece di "-1".
OK :-)
Post by Alessandro Angeli
Questi 2 filtri dovrebbero sempre potersi connettere se il
file e` veramente MPEG1
Ho installato AVIcodec 1.2.0.110 il quale mi conferma che il codec video è
MPEG 1(VCD) e quello audio è Mpeg-1 audio layer 2 (0xc0):

File: 46 MB (45 MB), duration: 0:04:36, type: MPG, 1 audio stream(s),
quality: 50 %
Video : 37 MB, 1150 Kbps, 25.0 fps, 384*288 (4:3), MPG1 = MPEG 1 (VCD),
Supported
Audio : 7.36 MB, 224 Kbps, 44100 Hz, 2 channels, 0x51 = Mpeg-1 audio
Layer 2 [0xc0], Supported
Post by Alessandro Angeli
...per cui VFW_E_CANNOT_CONNECT e`
allarmante. Nelle proprieta` dei 2 filtri nella categoria
DirectShow Filters, sono entrambi in quartz.dll?
Se faccio tasto DX "Filter Properties..." ricevo per entrambi "The requested
property page could not be displayed".
Comunque dalla tree view "Which filters do you want to insert?" ti posso
dire che entrambi puntano a D:\WINDOWS\system32\quartz.dll (Windows XP l'ho
installato sull'unità logica D:).
Post by Alessandro Angeli
Cosa c'e`
indicato nelle proprieta` del pin di output del "File Source
(Async.)"?
Idem come sopra, non riesco a visualizzare le proprietà dei pin, ricevo lo
stesso messaggio d'errore.
Post by Alessandro Angeli
Puoi postare il contenuto della chiave
[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}]?
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Media Type\{e436eb83-524f-11ce-9f53-0020af0ba770}]

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{0839F6AC-86BA-4F6E-AAA6-B22B767A4E23}]
"0"="0, 3, , 656133"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"
"1"="0, 3, , 454133"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{33FACFE0-A9BE-11d0-A520-00A0D10129C0]
"0"="0,4,ffdfdfdf,3C53414d"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{33FACFE0-A9BE-11D0-A520-00A0D10129C0}]
"0"="0,4,,3C53414d"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{640999A0-A946-11d0-A520-000000000000}]
"0"="0,4,dfdfdfff,41534620"
"1"="0,4,dfdfdfdf,48545450"
"2"="0,4,dfdfdfff,4d4d533a"
"3"="0,4,dfdfdfde,4d4d5354"
"4"="0,4,dfdfdfdf,4d534244"
"Source Filter"="{e436ebb5-524f-11ce-9f53-0020af0ba770}"
"5"="0,4,dfdfdfff,4e534d3a"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{640999A1-A946-11d0-A520-000000000000}]
"0"="0,4,ffdfdfdf,5b416e6e"
"1"="0,4,ffdfdfdf,5b526566"
"Source Filter"="{e436ebb5-524f-11ce-9f53-0020af0ba770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{640999A2-A946-11d0-A520-000000000000}]
"0"="0,4,,5b416464"
"Source Filter"="{e436ebb5-524f-11ce-9f53-0020af0ba770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{6B6D0800-9ADA-11D0-A520-00A0D10129C0}]
"0"="0,14,,50ef8119b3bdd011a3e500a0c924"
"Source Filter"="{C69E8F40-D5C8-11D0-A520-145405C10000}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{6B6D0801-9ADA-11D0-A520-00A0D10129C0}]
"0"="0,4,,3026B275"
"Source Filter"="{187463A0-5BB7-11D3-ACBE-0080C75E246E}"
"1"="0,4,,D129E2D6"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{7364696D-0000-0010-8000-00AA00389B71}]
"0"="0,4,,52494646,8,4,,524D4944"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"
"1"="0,4,,4D546864"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{73747874-0000-0010-8000-00AA00389B71}]
"0"="0,4,,4C595249"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"
"1"="0,4,,6C797269"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{B4A7BE85-551D-4594-BDC7-832B09185041}]
"0"="0,4,,7FFE8001"
"1"="0,2,,0B77"
"2"="0,2,,770B"
"Source Filter"="{B4A7BE85-551D-4594-BDC7-832B09185041}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{C1B47A72-1F33-11D3-9C3F-00A024A0EA68}]
"0"="0,6,,308030800607"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{C1B47A73-1F33-11D3-9C3F-00A024A0EA68}]
"0"="0,4,,48442D30"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{D51BD5A3-7548-11CF-A520-0080C77EF58A}]
"0"="0,4,,3b4d554c"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{D51BD5AE-7548-11cf-A520-0080C77EF58A}]
"0"="0,4,ffdfdfdf,3c415358"
"1"="0,4,ffffdfdf,3c3f584d"
"Source Filter"="{e436ebb5-524f-11ce-9f53-0020af0ba770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E06D8022-DB46-11CF-B4D1-00805F6CBBEA}]
"0"="0, 5, FFFFFFFFC0 ,000001BA40"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E436EB84-524F-11CE-9F53-0020AF0BA770}]
"0"="0, 16, FFFFFFFFF100010001800001FFFFFFFF,
000001BA2100010001800001000001BB"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E436EB85-524F-11CE-9F53-0020AF0BA770}]
"0"="0, 4, , 52494646, 8, 8, , 43445841666D7420, 36, 20,
FFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFF,
646174610000000000FFFFFFFFFFFFFFFFFFFF00"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E436EB86-524F-11CE-9F53-0020AF0BA770}]
"0"="0, 4, , 000001B3"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E436EB87-524F-11CE-9F53-0020AF0BA770}]
"0"="0, 2, FFE0, FFE0"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"
"1"="0, 10, FFFFFFFF000000000000, 494433030080808080"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E436EB88-524F-11CE-9F53-0020AF0BA770}]
"0"="0,4,,52494646,8,4,,41564920"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E436EB89-524F-11CE-9F53-0020AF0BA770}]
"0"="4, 4, , 6d646174"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"
"1"="4, 4, , 6d6f6f76"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E436EB8B-524F-11CE-9F53-0020AF0BA770}]
"0"="0,4,,52494646,8,4,,57415645"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E436EB8C-524F-11CE-9F53-0020AF0BA770}]
"0"="0,4,,2e736e64"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"

[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E436EB8D-524F-11CE-9F53-0020AF0BA770}]
"0"="0,4,,464f524d,8,4,,41494646"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"
"1"="0,4,,464f524d,8,4,,41494643"

Grazie ancora :-)
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Alessandro Angeli
2006-12-30 17:11:20 UTC
Permalink
From: "Lorenzo Benaglia"
Post by Lorenzo Benaglia
Se faccio tasto DX "Filter Properties..." ricevo per
entrambi "The requested property page could not be
displayed".
Devi registrare proppage.dll.
Post by Lorenzo Benaglia
[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E436EB84-524F-11CE-9F53-0020AF0BA770}]
"0"="0, 16, FFFFFFFFF100010001800001FFFFFFFF,
000001BA2100010001800001000001BB"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"
[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E436EB85-524F-11CE-9F53-0020AF0BA770}]
"0"="0, 4, , 52494646, 8, 8, , 43445841666D7420, 36, 20,
FFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFF,
646174610000000000FFFFFFFFFFFFFFFFFFFF00"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"
Queste 2 chiavi sono corrette.

Hai estratto il .mpg da un VCD rinominando il .dat? Se si`,
prova a usare VCDGear per rimuxare il file da DAT/VCD a
MPEG.
--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
Lorenzo Benaglia
2006-12-30 20:57:01 UTC
Permalink
Post by Alessandro Angeli
Devi registrare proppage.dll.
Ciao Alessandro,

a prescindere dal fatto che il file proppage.dll non è presente sui miei HD
:-) in una delle precedenti risposte ho scritto che riesco tranquillamente a
vedere le property pages di alcuni filtri (come ad esempio ffdshow MPEG-4
Video Decoder) ma non di quelli da te citati.
Post by Alessandro Angeli
Queste 2 chiavi sono corrette.
Bene :-)
Post by Alessandro Angeli
Hai estratto il .mpg da un VCD rinominando il .dat? Se si`,
prova a usare VCDGear per rimuxare il file da DAT/VCD a
MPEG.
Ehm... diciamo che quel file .mpg non è opera mia, quindi non so che cosa
abbiano combinato. :-P
Resta il fatto che non riesco più a visualizzare alcun file MPEG-1 (VCD)
(come indentificato da AVIcodec).
Fino ad un paio di mesi fa, WMP 10 lo riproduceva correttamente insieme a
tutti gli altri.
Sul PC ho installato (da parecchio tempo) InterVideo WinDVD 7 con il quale
riesco a riprodurre tranquillamente tutti i files MPEG-1, relegando il
problema a WMP.

Mi rendo conto della complessità della cosa (e della mia incompetenza :-) ),
quindi non sentirti costretto a risolvere ad ogni costo, OK? :-)

Grazie mille per il supporto che fino ad ora mi hai dato ;-)

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Alessandro Angeli
2006-12-31 03:10:11 UTC
Permalink
From: "Lorenzo Benaglia"
Post by Lorenzo Benaglia
a prescindere dal fatto che il file proppage.dll non è
presente sui miei HD :-) in una delle precedenti risposte
ho scritto che riesco tranquillamente a vedere le
property pages di alcuni filtri (come ad esempio ffdshow
MPEG-4 Video Decoder) ma non di quelli da te citati.
proppage.dll devi prenderlo da dove hai preso GraphEdit e
serve per alcuni pannelli di proprieta` addizionali mostrati
da GraphEdit, come le proprieta` dei pins, e non per le
proprieta` dei filtri.
Post by Lorenzo Benaglia
Resta il fatto che non riesco più a visualizzare alcun
file MPEG-1 (VCD) (come indentificato da AVIcodec).
Fino ad un paio di mesi fa, WMP 10 lo riproduceva
correttamente insieme a tutti gli altri.
Sul PC ho installato (da parecchio tempo) InterVideo
WinDVD 7 con il quale riesco a riprodurre tranquillamente
tutti i files MPEG-1, relegando il problema a WMP.
WinDVD usa dei filtri suoi per MPEG1/2 e non si affida alla
costruzione automatica del grafo. Invece WMP, nel caso di
MPEG1, AVI e altro ad esclusione di WMV/WMA, si affida alla
costruzione automatica con quello che trova e, per MPEG1, il
grafo di default prodotto dalla costruzione automatica e`
quello descritto.
Post by Lorenzo Benaglia
Mi rendo conto della complessità della cosa (e della mia
incompetenza :-) ), quindi non sentirti costretto a
risolvere ad ogni costo, OK? :-)
Se puoi registrare proppage.dll e dirmi che major type e
subtype sono elencati nelle proprieta` del "File Source
(Async.)", magari qualcosa viene fuori (dovrebbero essere
Stream e un MPEG*).

Il 99% dei problemi con i files MPEG e anche altri tipi in
WMP sono dovuti all'installazione di filtri/programmi di
terze parti che rimpiazzano quelli di sistema o incasinano
il registro di DirectShow. Ma il tuo registro sembra essere
a posto e la costruzione manuale in GraphEdit esclude
problemi di filtri incompatibili. L'impossibilita` di
connettere il "File Source (Async.)" con l'"MPEG-1 Stream
Splitter" e` un problema mai visto (da me), visto che sono
due filtri di sistema fatti apposta per connettersi l'un con
l'altro.
Post by Lorenzo Benaglia
Grazie mille per il supporto che fino ad ora mi hai dato
Figurati :-)
--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
Lorenzo Benaglia
2006-12-31 13:00:48 UTC
Permalink
Post by Alessandro Angeli
proppage.dll devi prenderlo da dove hai preso GraphEdit e
serve per alcuni pannelli di proprieta` addizionali mostrati
da GraphEdit, come le proprieta` dei pins, e non per le
proprieta` dei filtri.
Ah, OK. :-)
Allora, vediamo...
Post by Alessandro Angeli
1. Inserisci "File Source (Async.)" e scegli il file MPEG-1.
2. Inserisci "MPEG-1 Stream Splitter" e connetti l'output di
1 all'input di 2.
Fatto. Ottengo sempre il messaggio d'errore:
"These filters cannot agree on a connection. Verify type compatibility of
input pin and output pin.
No combination of intermediate filters could be found to make the connection
(Return code: 0x80040217)"
Post by Alessandro Angeli
Cosa c'e` indicato nelle proprieta` del pin di output del "File Source
(Async.)"?
Filter properties "File Source (Async.)"
----------------------------------------
Tab File:
il path del file .mpg

Tab Output:
Major Type: GUID_NULL - Sub Type: GUID_NULL - Format: GUID_NULL
Major Type: Stream - Sub Type: GUID_NULL - Format: GUID_NULL

Pin Properties (pin di output)
------------------------------
Tab Output:
Major Type: GUID_NULL - Sub Type: GUID_NULL - Format: GUID_NULL
Major Type: Stream - Sub Type: GUID_NULL - Format: GUID_NULL


Filter properties "MPEG-I Stream Splitter"
------------------------------------------
Tab Input:
Major Type: Stream - Sub Type: MPEG1System - Format: GUID_NULL
Major Type: Stream - Sub Type: MPEG1VideoCD - Format: GUID_NULL
Major Type: Stream - Sub Type: MPEG1Video - Format: GUID_NULL
Major Type: Stream - Sub Type: MPEG1Audio - Format: GUID_NULL

Pin Properties (pin di input)
-----------------------------
Tab Input:
Major Type: Stream - Sub Type: MPEG1System - Format: GUID_NULL
Major Type: Stream - Sub Type: MPEG1VideoCD - Format: GUID_NULL
Major Type: Stream - Sub Type: MPEG1Video - Format: GUID_NULL
Major Type: Stream - Sub Type: MPEG1Audio - Format: GUID_NULL

Spero che queste informazioni possano esserti utili in qualche modo (per me
è arabo :-) ).

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Alessandro Angeli
2006-12-31 14:51:19 UTC
Permalink
From: "Lorenzo Benaglia"
GUID_NULL Major Type: Stream - Sub Type: GUID_NULL -
Format: GUID_NULL
Questo e` il problema: il subtype offerto dal reader per
MEDIATYPE_Stream non puo` essere GUID_NULL ma deve essere
uno dei subtypes accettati dallo splitter MPEG.

Le chiavi del registro che hai postato corrispondono a
MEDIATYPE_Stream\MEDIASUBTYPE_MPEG1System e
MEDIATYPE_Stream\MEDIASUBTYPE_MPEG1VideoCD e contengono i
corretti patterns di bits per riconoscere euristicamente
questi formati. Per cui il reader dovrebbe offrire il
subtype giusto. Siccome non lo fa, l'unica cosa che mi viene
in mente e` che i files MPEG siano "strani" (ovvero,
contengano tags o padding all'inizio che non matchano il
pattern di bits usato di default da DirectShow per
riconoscerli).

Il problema si verifica con *tutti* i files MPEG-1 o solo
con alcuni? Se tutti quelli che hai provengono dalla stessa
fonte, come statistica non conta, nel qual caso scarica la
versione free di TMPGEnc
(http://www.tmpgenc.net/en/e_main.html) e prova a creare un
MPEG-1 con quello e vedi se funziona con WMP (TMPGEnc
supporta in input sia MPEG-1 che AVI).
--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
Lorenzo Benaglia
2006-12-31 17:02:12 UTC
Permalink
Post by Alessandro Angeli
Siccome non lo fa, l'unica cosa che mi viene
in mente e` che i files MPEG siano "strani" (ovvero,
contengano tags o padding all'inizio che non matchano il
pattern di bits usato di default da DirectShow per
riconoscerli).
Ma che strano, eppure sono sicuro che fino ad un paio di mesi fa WMP li
visualizzava correttamente.
Post by Alessandro Angeli
Il problema si verifica con *tutti* i files MPEG-1 o solo
con alcuni?
Guarda, ne avrò provati una ventina provenienti da "fonti" diverse, e tutti
generano il medesimo errore.
Post by Alessandro Angeli
scarica la versione free di TMPGEnc
(http://www.tmpgenc.net/en/e_main.html) e prova a creare un
MPEG-1 con quello e vedi se funziona con WMP (TMPGEnc
supporta in input sia MPEG-1 che AVI).
Allora, ho scaricato ed installato la trial di TMPGEnc MPEG Editor 2.0.
Ho aggiunto il solito file e mi è apparso un warning, la cui prima parte
credo possa esserti utile: "This clip has been encoded XDVD mode (Long GOP
structure). Il can be addedd to the clip list however some limitation
exist."
Come output target ho selezionato "Common MPEG file", ho esportato il file
con queste impostazioni:

Video: MPEG-1 video, 384x288, 25fps, CBR (Constant bitrate), 1150 kbps
Audio: MPEG-1 Audio Layer II, 44100 Hz, Stereo, 224 kbps

ma purtroppo con WMP ottengo sempre il solito errore.
Con GraphEdit ho esattamente la stessa situazione di prima ovvero

Major Type: GUID_NULL - Sub Type: GUID_NULL - Format: GUID_NULL
Major Type: Stream - Sub Type: GUID_NULL - Format: GUID_NULL

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Alessandro Angeli
2007-01-02 02:38:41 UTC
Permalink
From: "Lorenzo Benaglia"
Post by Lorenzo Benaglia
Ho aggiunto il solito file e mi è apparso un warning, la
cui prima parte credo possa esserti utile: "This clip has
been encoded XDVD mode (Long GOP structure). Il can be
XDVD per un file MPEG-1??
Post by Lorenzo Benaglia
ma purtroppo con WMP ottengo sempre il solito errore.
Con GraphEdit ho esattamente la stessa situazione di
prima ovvero
Se hai un file non tanto grande, puoi mettermelo da qualche
parte dove posso scaricarlo per tentare di riprodurre il
problema?
--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
Lorenzo Benaglia
2007-01-02 21:34:13 UTC
Permalink
Post by Alessandro Angeli
Se hai un file non tanto grande, puoi mettermelo da qualche
parte dove posso scaricarlo per tentare di riprodurre il
problema?
Alessandro,

non so se la cosa sia "scientifica" o meno, ma per caso mi sono accorto che
WMP riproduce correttamente i files .avi e ho scoperto che rinominando i
files .mpg in .avi, WMP LI RIPRODUCE CORRETTAMENTE! :-|
Non è che per caso "si è corrotto" qualcosa a livello di registry per quanto
riguarda l'estensione .mpg?
Che controlli mi suggerisci di fare?

Grazie!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Alessandro Angeli
2007-01-02 21:44:49 UTC
Permalink
From: "Lorenzo Benaglia"
Post by Lorenzo Benaglia
non so se la cosa sia "scientifica" o meno, ma per caso
mi sono accorto che WMP riproduce correttamente i files
.avi e ho scoperto che rinominando i files .mpg in .avi,
WMP LI RIPRODUCE CORRETTAMENTE! :-| Non è che per caso "si
è corrotto" qualcosa a livello di
registry per quanto riguarda l'estensione .mpg?
Che controlli mi suggerisci di fare?
Se hai ".mpg" in [HKEY_CLASSES_ROOT\Media Type\Extensions]",
rinominala in ".mpg-bak" e postane il contenuto.
--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
Lorenzo Benaglia
2007-01-03 20:21:55 UTC
Permalink
Post by Alessandro Angeli
Se hai ".mpg" in [HKEY_CLASSES_ROOT\Media Type\Extensions]",
rinominala in ".mpg-bak" e postane il contenuto.
BINGO, lo sapevo che avresti risolto!! LOL
Rinominando la suddetta chiave, WMP è resuscitato e ora riproduce
correttamente tutti i files mpeg.
Per completezza questo è il contenuto della chiave prima di rinominarla:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Media Type\Extensions\.mpg]
"Source Filter"="{DC2867D7-EEA7-4A0F-A495-8EBE2E0C3417}"

Probabilmente quel GUID del filtro non è corretto...
Tirando fuori i vaghi ricordi di COM, ho cercato quel ClassID in appunto
HKEY_CLASSES_ROOT\CLSID e ti posto il risultato:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\{DC2867D7-EEA7-4A0F-A495-8EBE2E0C3417}]
"FriendlyName"="FunBox Mpg Decoder Filter"
"CLSID"="{DC2867D7-EEA7-4A0F-A495-8EBE2E0C3417}"
"FilterData"=hex:02,00,00,00,00,00,60,00,00,00,00,00,00,00,00,00

Ora che cacchio è "FunBox Mpg Decoder Filter"?! :-D

Grazie!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Alessandro Angeli
2007-01-03 20:39:38 UTC
Permalink
From: "Lorenzo Benaglia"
Post by Lorenzo Benaglia
BINGO, lo sapevo che avresti risolto!! LOL
C'e` voluto un po', ma a mia discolpa c'e` da dire che WMP
e` un casino :-)
Post by Lorenzo Benaglia
[HKEY_CLASSES_ROOT\Media Type\Extensions\.mpg]
"Source Filter"="{DC2867D7-EEA7-4A0F-A495-8EBE2E0C3417}"
Probabilmente quel GUID del filtro non è corretto...
E` corretto: semplicemente e` un override del default che
non funziona bene o e` stato lasciato da un unistaller
buggato.
Post by Lorenzo Benaglia
Ora che cacchio è "FunBox Mpg Decoder Filter"?! :-D
Robaccia Samsung? Guarda in
[HKCR\CLSID\<clsid>\InprocServer32] per vedere il nome della
DLL cosi` puoi cercare di capire a che programma appartiene.
--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
Lorenzo Benaglia
2007-01-03 20:57:33 UTC
Permalink
Post by Alessandro Angeli
C'e` voluto un po', ma a mia discolpa c'e` da dire che WMP
e` un casino :-)
Ma che discolpa e discolpa, complimenti ;-)
Post by Alessandro Angeli
Post by Lorenzo Benaglia
[HKEY_CLASSES_ROOT\Media Type\Extensions\.mpg]
"Source Filter"="{DC2867D7-EEA7-4A0F-A495-8EBE2E0C3417}"
Probabilmente quel GUID del filtro non è corretto...
E` corretto: semplicemente e` un override del default che
non funziona bene o e` stato lasciato da un unistaller
buggato.
Quindi lo lascio rinominato in modo che non possa fare danni?
Post by Alessandro Angeli
Post by Lorenzo Benaglia
Ora che cacchio è "FunBox Mpg Decoder Filter"?! :-D
Robaccia Samsung?
Si, può essere dato che ad ottobre ho installato Samsung PC Studio 3.
Post by Alessandro Angeli
Guarda in
[HKCR\CLSID\<clsid>\InprocServer32] per vedere il nome della
DLL cosi` puoi cercare di capire a che programma appartiene.
E' la prima cosa che ho fatto, ma come puoi vedere dal precedente post
InprocServer32 non esiste!
In effetti anche gli altri ClassID contigui (Nero DVD Decoder, AVI Mux, Line
21 Decoder 2, ecc...) non hanno InprocServer32 quindi non riesco a risalire
alla DLL fisica).

Guarda, onestamente mi importa poco, se interessa a te proseguo con le
indagini (te lo devo) :-D

Grazie!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Alessandro Angeli
2007-01-03 21:19:42 UTC
Permalink
From: "Lorenzo Benaglia"
Post by Lorenzo Benaglia
Quindi lo lascio rinominato in modo che non possa fare
danni?
Di default quella chiave non c'e` in quanto DirectShow usa
il pattern di bits con il suo file reader. La chiave per
l'estensione ".mpg" e` stata aggiunta da software di terze
parti e quindi puoi anche toglierla se non usi il
programma(ccio) che ce l'ha messa.
Post by Lorenzo Benaglia
E' la prima cosa che ho fatto, ma come puoi vedere dal
precedente post InprocServer32 non esiste!
In effetti anche gli altri ClassID contigui (Nero DVD
Decoder, AVI Mux, Line 21 Decoder 2, ecc...) non hanno
InprocServer32 quindi non riesco a risalire alla DLL
fisica).
Hai guardato nel registry di DirectShow
[HKCR\CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\<clsid>]
e non nel registry di COM
[HKCR\CLSID\<clsid>\InprocServer32] (i filtri sono elencati
nel registry di DirectShow ma, siccome sono classi COM, il
server e` specificato nel registry di COM).
Post by Lorenzo Benaglia
Guarda, onestamente mi importa poco, se interessa a te
proseguo con le indagini (te lo devo) :-D
Ero solo curioso :-) E magari, se so quale programma e` il
colpevole, posso dirlo subito al prossimo che ha lo stesso
problema.
--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
Lorenzo Benaglia
2007-01-03 23:20:10 UTC
Permalink
Post by Alessandro Angeli
Di default quella chiave non c'e` in quanto DirectShow usa
il pattern di bits con il suo file reader. La chiave per
l'estensione ".mpg" e` stata aggiunta da software di terze
parti e quindi puoi anche toglierla se non usi il
programma(ccio) che ce l'ha messa.
OK, chiaro.
Post by Alessandro Angeli
Hai guardato nel registry di DirectShow
[HKCR\CLSID\{083863F1-70DE-11d0-BD40-00A0C911CE86}\Instance\<clsid>]
e non nel registry di COM
[HKCR\CLSID\<clsid>\InprocServer32] (i filtri sono elencati
nel registry di DirectShow ma, siccome sono classi COM, il
server e` specificato nel registry di COM).
Hai ragione, non me ne ero accorto :-)
Ecco qua:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{DC2867D7-EEA7-4A0F-A495-8EBE2E0C3417}]
@="FunBox Mpg Decoder Filter"

[HKEY_CLASSES_ROOT\CLSID\{DC2867D7-EEA7-4A0F-A495-8EBE2E0C3417}\InprocServer32]
@="D:\\Program Files\\Samsung\\Samsung PC Studio 3\\FunMpgDecFilter.ax"
"ThreadingModel"="Both"

Centrato in pieno ;-)
Post by Alessandro Angeli
Post by Lorenzo Benaglia
Guarda, onestamente mi importa poco, se interessa a te
proseguo con le indagini (te lo devo) :-D
Ero solo curioso :-) E magari, se so quale programma e` il
colpevole, posso dirlo subito al prossimo che ha lo stesso
problema.
Samsung PC Studio 3 :-)

Grazie 1000, "ti raccomanderò" per ricevere l'MVP Award LOL

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Alessandro Angeli
2007-01-03 23:44:08 UTC
Permalink
From: "Lorenzo Benaglia"
Post by Lorenzo Benaglia
Samsung PC Studio 3 :-)
La prossima volta che qualcuno chiedera` come mai il suo WMP
non riproduce gli MPG, gli consigliero` di buttare il suo
cellulare Samsung :-))
Post by Lorenzo Benaglia
Grazie 1000, "ti raccomanderò" per ricevere l'MVP Award
Grazie a te :-P
--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
Alessandro Angeli
2006-12-30 17:11:20 UTC
Permalink
From: "Lorenzo Benaglia"
Post by Lorenzo Benaglia
Se faccio tasto DX "Filter Properties..." ricevo per
entrambi "The requested property page could not be
displayed".
Devi registrare proppage.dll.
Post by Lorenzo Benaglia
[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E436EB84-524F-11CE-9F53-0020AF0BA770}]
"0"="0, 16, FFFFFFFFF100010001800001FFFFFFFF,
000001BA2100010001800001000001BB"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"
[HKEY_CLASSES_ROOT\Media
Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{E436EB85-524F-11CE-9F53-0020AF0BA770}]
"0"="0, 4, , 52494646, 8, 8, , 43445841666D7420, 36, 20,
FFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFF,
646174610000000000FFFFFFFFFFFFFFFFFFFF00"
"Source Filter"="{E436EBB5-524F-11CE-9F53-0020AF0BA770}"
Queste 2 chiavi sono corrette.

Hai estratto il .mpg da un VCD rinominando il .dat? Se si`,
prova a usare VCDGear per rimuxare il file da DAT/VCD a
MPEG.
--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm
Loading...