Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

DirectShowを利用した透明ウィンドウでのビデオ再生

動画データをリアルタイムで処理する簡易プログラム

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2006/02/23 12:00

本稿では、DirectShowと透明なウィンドウを組み合わせる事により、透明なウィンドウでビデオ再生を行う方法を解説します。

目次

はじめに

 簡易にストリームデータを取り出す事ができるDirectShowを利用する事により、取得したフレーム画像をリアルタイムでGDI描画に利用する事ができます。

 今回はこの機能をWindows2000、XPの透明なウィンドウと組み合わせてみます。

対象読者

 C++のコードを使える事とWINAPIをある程度理解している必要があります。それと、かじった事がある程度でいいのですが、DirectShowを使った事が前提となります。

 DirectShowについては、次のサイトが一番参考になると思います。

  • Geekなぺーじ
  • 「プログラミング」→「DirectShowプログラミング」
  • MSDNライブラリ
  • 「Win32およびCOM開発」→「グラフィックスおよびマルチメディア」→「DirectX」→「DirectX9」→「技術文書」→「DirectShow」

必要な環境

 とりあえず、Windows 2000(未検証)またはWindows XP(検証済)上でしか動きません。ですが、ウィンドウを透明にしたいと思わない場合はその限りではありません。

 制作にはPlatformSDKが必要になります。ヘッダ、ライブラリはパスを通しリンクして下さい。

 また、再生するビデオデータは何でも良いわけではありません。とりあえず、MPEG1、WMV辺りは再生できるのですが、AVIはコーデックとの相性により音だけしか出ない場合があります。また、通常に再生できてもこのプログラムでは再生できないと言う場合もあります。他のソースでの再生テストをお願いします。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 利都(りと)

    陸奥でプログラムをしている学生。 LOGOからVB6.0へ。 現在は主にC系言語を利用。 Atelier BlueにてManaged DirectXについてのTipsを書いている。 http://www.atelier-blue.com/ IL(CIL,MSIL)もしているのでそちらに興味...

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5