synchronization, improve capture device support.
here how to use it to display a capture device:
osg::Options* options = new osg::Options;
options->setPluginStringData("captureWantedWidth", "800");
options->setPluginStringData("captureWantedHeight", "600");
options->setPluginStringData("captureWantedFps", "30");
options->setPluginStringData("captureVideoDevice", "USB Video Device" );
options->setPluginStringData("captureSoundDevice", "");
then
osgDB::readImageFile("capture.directshow", options)
you can use a graphedit application to list devices available in
directshow.
for classic avi file you just need to do a
osgDB::readImageFile("file.avi.directshow");
You will need of course to install the codec needed by directshow to
read the avi files.
I recommand this tool http://avicodec.duby.info/, that check which
video/sound codec is needed to play an avi file.
You can test it with the osgmovie example.
"
59 lines
2.0 KiB
CMake
59 lines
2.0 KiB
CMake
# Locate directshow
|
|
# This module defines
|
|
# DIRECTSHOW_LIBRARIES
|
|
# DIRECTSHOW_FOUND, if false, do not try to link to directshow
|
|
# DIRECTSHOW_INCLUDE_DIR, where to find the headers
|
|
#
|
|
# $DIRECTSHOW_DIR is an environment variable that would
|
|
# point to the this path in the plateform devkit (Samples\Multimedia\DirectShow)
|
|
#
|
|
# Created by Cedric Pinson.
|
|
#
|
|
|
|
|
|
SET(DIRECTSHOW_FOUND "NO")
|
|
SET(DIRECTSHOW_SAMPLE_ROOT "$ENV{DIRECTSHOW_DIR}" CACHE PATH "Location of DirectShow sample in devkit")
|
|
|
|
IF(WIN32)
|
|
FIND_PATH(DIRECTSHOW_STRMBASE_INCLUDE_DIRS renbase.h
|
|
PATHS
|
|
${DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/
|
|
$ENV{DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/
|
|
DOC "Location of DirectShow Base include on the windows devkit"
|
|
)
|
|
|
|
FIND_LIBRARY(DIRECTSHOW_STRMBASE_LIBRARY_RELEASE strmbase
|
|
PATHS
|
|
${DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Release_MBCS/ # sdk 6.1
|
|
$ENV{DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Release_MBCS/ # sdk 6.1
|
|
${DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Release/ # sdk 2003
|
|
$ENV{DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Release/ # sdk 2003
|
|
DOC "Location of DirectShow Base library on the windows devkit"
|
|
)
|
|
|
|
FIND_LIBRARY(DIRECTSHOW_STRMBASE_LIBRARY_DEBUG strmbasd
|
|
PATHS
|
|
${DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Debug_MBCS/ # sdk 6.1
|
|
$ENV{DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Debug_MBCS/ # sdk 6.1
|
|
${DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Debug/ # sdk 2003
|
|
$ENV{DIRECTSHOW_SAMPLE_ROOT}/BaseClasses/Debug/ # sdk 2003
|
|
DOC "Location of DirectShow Base library on the windows devkit"
|
|
)
|
|
|
|
IF (DIRECTSHOW_STRMBASE_INCLUDE_DIRS AND DIRECTSHOW_STRMBASE_LIBRARY_RELEASE)
|
|
SET(WIN_LIBS winmm d3d9 d3dx9 kernel32 user32 gdi32 winspool shell32 ole32 oleaut32 uuid comdlg32 advapi32)
|
|
SET(DIRECTSHOW_FOUND "YES")
|
|
SET(DIRECTSHOW_LIBRARY_DEBUG
|
|
${DIRECTSHOW_STRMBASE_LIBRARY_DEBUG}
|
|
)
|
|
SET(DIRECTSHOW_LIBRARY
|
|
${DIRECTSHOW_STRMBASE_LIBRARY_RELEASE}
|
|
)
|
|
SET(DIRECTSHOW_INLUDE_DIRS
|
|
${DIRECTSHOW_STRMBASE_INCLUDE_DIRS}
|
|
)
|
|
|
|
ENDIF()
|
|
|
|
ENDIF()
|