DirectShowと戦うスレ Part 2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/08(水) 00:25:56http://pc8.2ch.net/test/read.cgi/tech/1026666092/
0002デフォルトの名無しさん
2006/11/08(水) 00:30:59それだけかよ。
0003デフォルトの名無しさん
2006/11/08(水) 02:05:53メソッドのデッドロックとか、わけわからん現象多くないすか。
このスレに怒りやテクをぶつけましょう。
関連スレ
Win32API質問箱 Build46
http://pc8.2ch.net/test/read.cgi/tech/1159158014/
鬱だ氏のう DirectX (Part 16)
http://pc8.2ch.net/test/read.cgi/tech/1133007002/
くだすれDirectX(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1132965206/
【C++】 DirectX初心者質問スレ Part11 【C】
http://pc8.2ch.net/test/read.cgi/tech/1159456184/
DirectX総合スレ (Part5)
http://pc8.2ch.net/test/read.cgi/gamedev/1157727402/
0004デフォルトの名無しさん
2006/11/08(水) 02:06:48MSDN Microsoft DirectX9.0 DirectShow
http://msdn.microsoft.com/library/ja/DirectX9_c/directx/htm/directshow.asp
DirectX ホームページ
http://www.microsoft.com/japan/windows/directx/
MSDN ホームページ
http://www.microsoft.com/japan/msdn/
MSDN ライブラリ
http://msdn.microsoft.com/library/ja/
MSDN 2 ライブラリ
http://msdn2.microsoft.com/ja-jp/library/
Geekなページ DirectShowプログラミング [VC++]
http://www.geekpage.jp/programming/directshow/
あひるのホームページ DirectShowをよりよく使いたい人たちのサイト
http://hammer.prohosting.com/%7Earabo/DirectShow.shtml
Windowsでビデオキャプチャを作るため参考資料まとめ
http://www1.bbiq.jp/kougaku/link_videocap.html
奈良高専 土井研究室 動画あれこれ
http://wwwdoi.elec.nara-k.ac.jp/html/jisyu/doga/index.html
東京理科大 Kato Laboratory プログラミングキャプチャ
http://www.katolab.ee.kagu.sut.ac.jp/programing/capture.htm
京大川嶋氏 DirectShowのビデオキャプチャプログラミング
http://vision.kuee.kyoto-u.ac.jp/~hiroaki/firewire/directshow.html
M.Oshikiri's HomePage
http://www.geocities.jp/konbiki/tips/index.html
DirectShowを利用した透明ウィンドウでのビデオ再生
http://codezine.jp/a/article/aid/322.aspx
http://www.google.com/
0005デフォルトの名無しさん
2006/11/08(水) 07:40:310006デフォルトの名無しさん
2006/11/09(木) 00:26:04効果があったんだかないんだかもよくわからない。
0007デフォルトの名無しさん
2006/11/12(日) 00:36:320008デフォルトの名無しさん
2006/11/12(日) 00:45:55プラットフォームSDKとはPlatform SDK for WindowsServer2003 みたいな名前の奴だよ。
一瞬WindowsServer2003かよ、関係ないね
っと思うところがミソ。
0009デフォルトの名無しさん
2006/11/12(日) 03:38:34フィルタは知らんけどVC6でDirectShowを使うなら
#include <dshow.h>
#pragma comment(lib, "strmbase.lib")
と
Platform SDKの
audevcod.h
DShow.h
specstrings.h
strsafe.h
が有ればビルド出来るはず。
インクルードパスに直接Platform SDK指定しても良いけど
俺は上記ファイルだけ抽出したフォルダをパス指定した。
Platform SDK
http://www.microsoft.com/downloads/details.aspx?familyid=D8EECD75-1FC4-49E5-BC66-9DA2B03D9B92&displaylang=en
(ページ下にWeb Installも有る)
986 :デフォルトの名無しさん [sage] :2006/11/04(土) 19:07:47
DirectX 9.0 SDK (October 2004)のstrmiids.libはVC6でリンク出来た。
VC6でDirectShow使うソースでリンクエラー出た人、エラーでたインターフェイス教えてくれない?
リンク出来るか試してみたい。
※ DirectX 9.0 SDK (October 2004)
http://download.microsoft.com/download/1/5/1/1513e3ec-f6e2-4fb1-bf27-7c8983b3bf91/dxsdk_oct2004.exe
0010デフォルトの名無しさん
2006/11/12(日) 11:03:04Windows SDK以外に
旧式のPlatform SDKも入れないといけないのか
0011デフォルトの名無しさん
2006/11/12(日) 11:58:13Windows SDK(for Vistaのアレ?)はWinXP SP2以降しかサポートしてないから。
0012デフォルトの名無しさん
2006/11/12(日) 11:59:11#include <windows.h>
#ifndef _W64
typedef unsigned long DWORD_PTR;
typedef long LONG_PTR;
typedef unsigned long ULONG_PTR;
#endif
#include <dshow.h>
0013デフォルトの名無しさん
2006/11/12(日) 12:03:110014デフォルトの名無しさん
2006/11/12(日) 12:05:01#include <dshow.h> だけでコンパイル出来たけど。
マクロあたりで引っ掛かるのかな。
0015デフォルトの名無しさん
2006/11/12(日) 12:12:54単体で良いかどうか、出た日付、サポートする環境を書いて一覧ページを置いて欲しい。
BaseClasses入ってたり入ってなかったりするし。
001610
2006/11/12(日) 12:22:010017デフォルトの名無しさん
2006/11/12(日) 16:46:47初期化時に
pAMStreamConfig->SetFormat(*****);
で解像度を変更するには成功。
しかし、
pCaptureGraphBuilder2->RenderStream(****);
を実行してしまうと解像度の変更ができない。
これを解決する方法か、または
RenderStreamで接続したピンを未接続にする方法はないでしょうか?
再起動後ではなく、リアルタイムに解像度を変更したいので。
0018適当に答えてみる
2006/11/12(日) 18:01:27SetFormatして
プレビュー再開じゃだめなの?
0019デフォルトの名無しさん
2006/11/12(日) 19:30:42いえ、Runする前にでもRenderStream後だと
SetFormatが失敗するようなのです。
ですのでRun後、Stopしたとしても
それまでに一度RenderStreamが実行されていると
SetFormatがうまくいかず、苦労しています。
初期化の過程で、RenderStream前に
SetFormatした場合は成功しています。
しかし、リアルタイムに変更するからには
それができずにいます。
なので、RenderStreamをする前の状態に
戻すような方法はないのかと。
0020デフォルトの名無しさん
2006/11/12(日) 21:18:010021デフォルトの名無しさん
2006/11/12(日) 21:30:45再度初期化からやり直しても
やはり二回目のSetFormatが失敗します。
やはりRenderStreamを解除するような手段が必要な気がします。
0022デフォルトの名無しさん
2006/11/12(日) 21:57:59そうか、それは困るね。
CoUninitializeとかプロセス起動し直しでも失敗する?
0023デフォルトの名無しさん
2006/11/12(日) 22:22:39CoUninitializeまでやっても同様でした。
プロセス再起動というのは初耳ですが、
カメラに関する処理以外(DirectShow以外)には
影響を与えたくないんですが、大丈夫でしょうか?
いろいろ調べてますが、
IFilterChain::RemoveChainが怪しいのですがネット上の情報が皆無で
コンパイラを通すところですでに引っ掛かってます。
0024デフォルトの名無しさん
2006/11/12(日) 22:43:25CoUninitializeで無理なら駄目かもね。
インターフェイス使ってどうにかする方は俺には分からない。
0025デフォルトの名無しさん
2006/11/12(日) 22:50:091.IPin::Disconnectでピンの接続解除
2.SetFormat
3.RenderStream
0026デフォルトの名無しさん
2006/11/12(日) 22:55:41解像度変更するのはダメなの?
0027デフォルトの名無しさん
2006/11/12(日) 23:01:340028デフォルトの名無しさん
2006/11/13(月) 17:05:24うおーー!!
成功しました。ありがとうございます。
FindPinで2つのフィルタ間の出力ピンと入力ピンとを見つけ、
そのピンをDisconnectで接続を外し、SetFormat。
そののちRenderStreamでできました。
ヘルプのDisConnectの欄をを見るとIPin::Disconnectの方は
「アプリケーションからこのメソッドを呼び出さないこと」
とか書いてて「じゃあヘルプに載せるなよ」とか思いました。
なんとかIFilterGraph::Disconnectの方で成功。
本当に助かりました。1つの問題で何時間も悩み、
DirectShowのクセの強さを痛感しました。
0029デフォルトの名無しさん
2006/11/13(月) 19:51:12あれでちょっと調べてみれば接続済みのときには設定変更できないとか
あれこれ挙動もわかるし悩まずにプログラミングできるんだけど。
0030デフォルトの名無しさん
2006/11/13(月) 21:24:480031デフォルトの名無しさん
2006/11/14(火) 14:14:48前スレにも過去スレにも話題も出てないし
スレも立っていないようですが
もはや今の時代こんなの使うべきじゃない
って解釈でOKでしょうか?
0032デフォルトの名無しさん
2006/11/14(火) 23:03:160033デフォルトの名無しさん
2006/11/15(水) 00:20:58今後改善・改良されないだけ。
0034デフォルトの名無しさん
2006/11/15(水) 00:22:11フィルタも64bit用DLLを用意しないとダメ?
0035デフォルトの名無しさん
2006/11/15(水) 09:13:550036デフォルトの名無しさん
2006/11/15(水) 12:41:43DirectShowフィルタのプロパティー画面を制作しているのですが、
タブを追加する方法がわかりません。
CBasePropatyという基底クラスにタブ追加メソッドがないのでどうしたらいいのかがわからんです。
WindowsAPIでいうところの「TabContrl_InsertItem」みたいなことをするにはどうしたらよいでしょうか?
0037デフォルトの名無しさん
2006/11/15(水) 12:46:31どっかで廃止って見て、かなり前に作ったVideos for Windoews使いまくりのアプリを
どうしようって思ってたんだけど、勘違いだったか。
よかったよかった。
0038デフォルトの名無しさん
2006/11/15(水) 17:22:27正しく動作しないことも多いような...。
0039デフォルトの名無しさん
2006/11/15(水) 17:55:43ISpecifyPropertyPages::GetPagesで複数のCLSIDを返せば良いだけでは?
0040デフォルトの名無しさん
2006/11/15(水) 18:30:090041デフォルトの名無しさん
2006/11/15(水) 23:17:00せっかく教えてもらったのにヽ(´ー`)ノ
0042デフォルトの名無しさん
2006/11/16(木) 01:01:490043デフォルトの名無しさん
2006/11/16(木) 02:01:34入れて変換開始ボタンを押すと<DirectShowフィルタが構築されません>
とでて変換出来ません。どなたか親切な方教えて下さい。ちなみに私は初心者です。
宜しくお願いします
■ このスレッドは過去ログ倉庫に格納されています