cvl-robot's diary

研究ノート メモメモ https://github.com/dotchang/

openFrameworks v0.8(Visual Studio2012版x64)の64ビット化できるかな?(その4)

QuickTimeの代わりにofDirectShowPlayerを使うといいよ!と教えてもらったものの、どう使えば良いのでしょうか?試行錯誤してみましょう。

準備

ソースをダウンロードしてきて、

of_v0.8.0_vs_release\libs\openFrameworks\video

の下にコピーします。

プロジェクトのソリューションエクスプローラーからopenFrameworksLibのopenframeworks/videoの下に既存のファイルからofDirectShowPlayer.cppとofDirectShowPlayer.hを追加します。

ソースコードの修正

ofVideoPlayer.hの最初の方で、OF_VID_PLAYER_TYPEを指定している箇所がありますので、

#include "ofDirectShowPlayer.h"

#define OF_VID_PLAYER_TYPE ofDirectShowPlayer

を他のライブラリの代わりに強制的に選択するようにします。

direct showのライブラリをリンクしないと一部の関数が見つからないとエラーで怒られるので、ofDirectShowPlayer.cppの最初の方に次の行を追加します。

#pragma comment(lib, "C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.1A\\Lib\\x64\\strmiids.lib")

テスト 

addon/opencvExampleでは上手く動きました。念のため、openCVはバージョン2.4.8のx64ライブラリを使いました。