DirectShowのメリット値の変更


動画  2008-04-21 16:14:19  No: 100592  IP: 192.*.*.*

DirectShowのメリット値の変更をVBのコードから行いたいです。

できるのでしょうか?

編集 削除
K.J.K.  2008-04-21 17:10:18  No: 100593  IP: 192.*.*.*

レジストリをいじれば変更できますし、そういうコードをVBで書くことも可能でしょう。

但し、そうすべきであるとは思えません。メリット値はフィルタの仕様の1つでも
あるのですから。

そもそも、そういう場合は、自分でフィルタを選んでグラフに追加し、それを
繋げていけばいいだけのことですよね。メリット値を変更するメリットはあまり
思いつきません。

編集 削除
動画  2008-04-21 17:43:12  No: 100594  IP: 192.*.*.*

カノープスのキャプチャーボードで作成した、複数のMPEG2ファイルを
一つにするプログラマムを作成しました。

MPEG2の仕様に準じて、バイナリ値を変更して結合処理。


その一つにしたファイルなのですが、

Mpeg-2 Demultiplexer の  フィルタを使われると、結合した動画が途中で止まってしまいます。(同じ症例が他でも報告されていました。)


Mpeg-2 Splitterや他のSplitterで再生すると、問題なくできます。


本当は、どんなSplitterでも再生できるのが理想なのですが、
結合法則を追求してもでどこが悪いのわかりません。


ようは、この曲者
Mpeg-2 Demultiplexerを使いたくないのです。


Mpeg-2 DemultiplexerとMpeg-2 Splitter
は同じファイルでsystem32に登録されていますが、
メリット値は、Mpeg-2 Demultiplexerのが高いです。


この二つのメリット値をVB6.0から、こっそり入れ替えたいです。


できれは、そのコードをご教授いただると嬉しいです。
レジストリをどように変更すればよいかも、わかりませんので・・・

編集 削除
K.J.K.  2008-04-22 09:15:22  No: 100595  IP: 192.*.*.*

それは本末転倒でしょう。単純に、正しく解析されない不正なファイルを
作っているだけ、という話のようですし。

また、自分が作ったアプリの範囲でのレジストリの値を書き換えるの
であれば構いませんが、システムに関する部分をユーザの同意もなく
「こっそり」書き換えるコードを仕込むのは、プログラマとしてやっては
いけないことですよね。

なお、DemultiplexerとSplitterとの差に関しては、
http://msdn.microsoft.com/library/ja/DirectX9_c/directx/htm/mpeg2supportindirectshow.asp
などに記述があります。

編集 削除