2011年2月1日火曜日

[LabVIEW]DirectShowNET LibraryをLabVIEWから使うライブラリ

一連のエントリの総まとめとして、DirectShowNET LibraryをLabVIEWから利用するためのサブVIをLLBにまとめました。
ダウンロードと解説は続きから…



LLBとサンプルVIを含むZIPパッケージはココからダウンロードできます。

また、言うまでもないですが、「DirectShowNET Library」が必要ですので、適宜ダウンロードしてください。

パッケージには、
  • DShowNET.llb(サブVIをまとめたLLB)
  • Demo_CameraSnap.vi(ビデオ入力デバイスからのキャプチャ)
  • Demo_MoviePlayer.vi(シンプルな動画プレイヤー)
  • Readme.txt
 が含まれています。

LLBに含まれる各VIの使い方は、ブロックダイアグラムと各デモVIを参考にしてください。

「Demo_CameraSnap.vi」は、USB接続を含むビデオ入力デバイスからのキャプチャと画像合成ができるデモVIです。

 こんな感じで、ライブビュー画面のクリックした位置に紫色の円を重ね描きします。
また 、[Snap]ボタンをクリックすることで、現在のフレームをJPGファイルに保存します。


「Demo_MoviePlayer.vi」は、起動時に選んだ動画ファイルをリピート再生するプレイヤーのデモです。

このプレイヤーはスライダーを持ち、再生位置の表示と変更ができるようになっています。


使用や再配布等のライセンスに関しては、無償のフリーソフトウェアとしています。
詳細はReadme.txtを参照ください。



**2011-02-08 追記
「DS_PrepareFromCameraName.vi」をCaptureGraphBuilder2を利用するものに変更しました。
これにより、Webカメラだけでなく、「PC-SDVD/U2G」のようなNTSCキャプチャーデバイスからの映像も処理できるようになりました。
この変更は、『DirectShowでPC-SDVD/U2G』からの一連のエントリを参考にしました。

2 件のコメント:

  1. 便利です!USBカメラから動画も保存出来るのでしょうか?

    返信削除
  2. > USBカメラから動画も保存出来るのでしょうか?

    出来ると思いますよ
    (自分ではやってない&やる予定もないですが…)

    作例では、ライブビュー垂れ流しなので、
    出力をそのままウィンドウへ流していたのですが、
    これをファイルへ保存するようにすることは可能です。
    ただし、そのままですと非圧縮になってしまいます。

    これをコーデック使って圧縮するには、フィルタグラフに
    圧縮フィルターを追加してそこへ繋いでやれば良いんですが、
    このフィルター追加がどうも上手く行かないようです
    (試さされた方からの私信)。

    返信削除