指定されたインデックスのデバイスをオープンします
dsc_Open p1,p2,p3,p4,p5
p1 : デバイスのインデックス( 1 ~) p2 : 使用するビデオレンダラーモード p3 :(予約引数) 常に0を代入 p4 : レンダラーモード(数値) -> 『VMR7,9(1 or 2)』 のとき AVIファイル名(文字列) -> 『AVI保存モード(300 or 301)』のとき それ以外のモードのときは 0 を代入 p5 : オープンするピンの数(数値) -> 『VMR7,9(1 or 2)』 のとき コーデック名(文字列) -> 『AVI保存モード(300 or 301)』のとき それ以外のモードのときは 0 を代入
(プラグイン / モジュール : hspdsc.dll)
インデックス は 0 から始まります。 ( p1 ) 利用可能なデバイスの数を超えた数値の場合は、stat に -1 が返ります。 この命令ではデバイスをオープンするだけですので実際に表示されません。 表示するには dsc_Play 命令を実行する必要があります。 p2 には 使用するビデオレンダラー・モードを指定できます。 0 = VideoRenderer 1 = VMR7 2 = VMR9 6 = NullRenderer(表示なし) 300 = AVIファイルに保存(プレビューなし) 301 = AVIファイルに保存(プレビューあり) VMR7はWindows XP以降、 VMR9 はDirectX9以降が入っていないと使えません。 どのPCでも利用できるのはVideo Rendererになります。 Intel(R) 82815 Graphics Controller などの古いグラフィックチップは VMR7やVMR9が正しく機能しません。(場合によってはブルースクリーンになる。) 色数を16bitに下げるとうまく動くこともあるようです。 また一部NVIDIA社製グラフィックボード、NeoMagic 社製シリーズで再生できないものもあります。 システムエラー(1)になる場合 グラフィックボードを疑った方がよいです。 VMR7とVMR9の場合、ffdshowが入っている環境下だと強制終了する問題があります。 ffdshowの設定画面で該当プロセスを呼び出さないよう設定してください。 ■ p2 に 1 = VMR7, 2 = VMR9 を指定している場合は、 p4, p5 には以下の値を入れてください。 VMR7 や VMR9 を利用する際は、p4, p5 に 通常は 1 を代入します。 [p4] 1 = ウィンドウモード 2 = ウィンドウレスモード 4 = レンダーレスモード [p5] 0 = ミキシング不使用 1 = ミキシング使用 2以上を設定しても使用できません。 ■ p2 に 300 or 301 (AVIファイル保存モード)を指定している場合は、 p4 , p5 には以下の値を入れてく ださい。 [p4] p4 = 保存するAVIファイル名(文字列) [p5] p5 = コーデック名(文字列) or 0(数値) コーデック名の一覧は dsc_GetCodecList 命令で取得できます。 完全一致しないとエラー -49 が返ってきます。 無圧縮にする場合は 0 を指定します。 例:プレビューありで、HogeHogeというコーデックを使用 dsc_Open 0, 301, 0, "test.avi", "HogeHoge" 例:プレビューなしで、無圧縮で保存 dsc_Open 0, 300, 0, "test.avi", 0 また、システムに利用可能なデバイスがない場合は stat に -3 が返ります。 正常終了時には stat に 0 が返ります。 dsc_Open エラーコード一覧 1 = カメラの解像度・フレームレートの設定に失敗したので、デフォルトの値で動作中(続行可能なエラー) 0 = エラーなし -1 = 未初期化(dsc_Init) -2 = 使用中 -3 = 利用可能なデバイスが見つからない -4 = デバイスが見つからない -5 = 読み取りエラー -6 = 引数に問題があります -30= FilterGraph の生成に失敗(CoCreateInstance) -31= SampleGrabberFilter の生成に失敗(CoCreateInstance) -32= ISampleGrabber インターフェース取得失敗(QueryInterface) -33= メディアタイプの指定に失敗(SetMediaType) -34= Sample Grabber フィルタの挿入に失敗(AddFilter) -35= CaptureGraphBuilder2 の生成に失敗(CoCreateInstance) -36= FilterGraph のセットに失敗 (SetFiltergraph) -37= MediaControl インターフェース取得失敗(QueryInterface) -38= CreateDevEnum の生成に失敗(CoCreateInstance) -39= Video Renderer の生成に失敗(CoCreateInstance) -40= VideoMixingRenderer の生成に失敗(CoCreateInstance) -41= IVMRFilterConfig インターフェース取得失敗(QueryInterface) -42= VideoMixingRenderer9 の生成に失敗(CoCreateInstance) -43= IVMRFilterConfig9 インターフェース取得失敗(QueryInterface) -44= NullRenderer の生成に失敗(CoCreateInstance) -45= ファイル名の指定に失敗(SetOutputFileName) -46= AVIMUX グラフの追加に失敗(ICaptureGraphBuilder2::RenderStream) -47= CreateDevEnum の生成に失敗(CoCreateInstance) -48= 有効な VideoCompressorCategory が見つからない -49= 指定されたコーデックが見つかりません -50= ファイル名の指定に失敗(SetOutputFileName) -51= AVIMUX グラフの追加に失敗(ICaptureGraphBuilder2::RenderStream) -52= (AVI300) NullRenderer の生成に失敗(CoCreateInstance) -53= (AVI300) NullRenderer フィルタの挿入に失敗(AddFilter) -54= (AVI300) AVIMUX グラフの追加に失敗(ICaptureGraphBuilder2::RenderStream) -55= (AVI301) AVIMUX グラフの追加に失敗(ICaptureGraphBuilder2::RenderStream) -56= NR グラフの追加に失敗(ICaptureGraphBuilder2::RenderStream) -57= カメラの解像度・フレームレートの設定失敗(致命的なエラー) -58= IVideoWindow インターフェース取得失敗(QueryInterface) -59= NR レンダラフィルタ追加に失敗 -76= VR グラフの追加に失敗(ICaptureGraphBuilder2::RenderStream) -79= VR レンダラフィルタ追加に失敗 -86= VMR7 グラフの追加に失敗(ICaptureGraphBuilder2::RenderStream) -87= VMR7 レンダリングモード設定失敗 (IVMRFilterConfig::SetRenderingMode) -88= VMR7 ピンの設定失敗 (IVMRFilterConfig::SetNumberOfStreams) -89= VMR7 レンダラフィルタ追加に失敗(IGraphBuilder::AddFilter) -96= VMR9 グラフの追加に失敗 -97= VMR9 レンダリングモード設定失敗 -98= VMR9 ピンの設定失敗 -99= VMR9 レンダラフィルタ追加に失敗
dsc_Init | HSPDSCを初期化します | (hspdsc.dll) |
dsc_Play | dsc_Open で 指定されたデバイスを表示します | (hspdsc.dll) |
dsc_Play2 | dsc_Open で 指定されたデバイスを表示します | (hspdsc.dll) |
dsc_Close | dsc_Open で 指定されたデバイスをクローズします | (hspdsc.dll) |
dsc_FilterProp | デバイスなどのプロパティページを表示します | (hspdsc.dll) |
dsc_DevPinProp | デバイスの解像度プロパティページを表示します。 | (hspdsc.dll) |
dsc_GetDeviceList | キャプチャデバイスの一覧を取得 | (hspdsc.dll) |
プラグイン / モジュール | hspdsc.dll |
バージョン | 2.13 |
作成日 | 2021/6/13 |
著作者 | イノビア(inovia) |
URL | https://hsp.moe/ |
備考 | HSP向け DirectShow キャプチャプラグイン
【32bit版ランタイムの場合】 hspdsc.asをインクルード バーコードを使用する場合はhspbar.asをインクルード 【64bit版ランタイムの場合】 hsp3_64.asをインクルード hspdsc64.asをインクルード バーコードを使用する場合はhspbar64.asをインクルード |
グループ | DirectShowキャプチャ命令 |
対応環境 |
|
移植のヒント | Windows |
hs ファイル | hsphelp\hspdsc.hs |