VideoGrabberAPIs
From IGSTK
Contents |
Windows
DirectShow
- "The Microsoft® DirectShow® application programming interface (API) is a media-streaming architecture for the Microsoft Windows® platform. Using DirectShow, your applications can perform high-quality video and audio playback or capture."[1]
Media Foundation (MF)
- "Microsoft Media Foundation (MF) is a COM-based multimedia framework pipeline and infrastructure platform for digital media in Windows Vista. It is the intended replacement for Microsoft DirectShow, Windows Media SDK, DirectX Media Objects (DMOs) and all other legacy multimedia APIs such as Audio Compression Manager (ACM) and Video for Windows (VfW). The existing DirectShow technology is intended to be replaced by Media Foundation step-by-step, starting with a few features. For some time there will be a co-existence of Media Foundation and DirectShow. Media Foundation will not be available for previous Windows versions, including Windows XP."[2]
- "The Microsoft® Media Foundation software development kit (SDK) enables the development of applications and components for using digital media on Windows Vista™ and later."[3]
- "Migrating from DirectShow to Media Foundation" Application scenarios and recommandations.[4]
- "Media Foundation currently does not have built-in support for capturing from a device. Forum answere: 05 Dec 2007"[5]
VTK
- "vtkVideoSource" [6]
- "vtkWin32VideoSource" [7]
- "Video-for-Windows video digitizer. vtkWin32VideoSource grabs frames or streaming video from a Video for Windows compatible device on the Win32 platform. Warning: With some capture cards, if this class is leaked and ReleaseSystemResources is not called, you may have to reboot before you can capture again. vtkVideoSource used to keep a global list and delete the video sources if your program leaked, due to exit crashes that was removed." [8]
- "...Also please note you should be carefull on how you use this class."[9]
Imaging Control (IC)
- "... All imaging components manufactured by The Imaging Source ship with the SDK IC Imaging Control®..." [10]
- " Welcome to IC Imaging Control, the image acquisition toolkit for Visual Basic, Visual C++ and .NET. With IC Imaging Control your application immediately supports Firewire cameras from Sony, The Imaging Source and other vendors, USB cameras, DV cameras, PCI frame grabbers and video-to-Firewire converters."[11]
- "Concepts and Components (...) The IC Imaging Control class library is an API that covers all aspects of DirectShow that are related to managing, controlling and accessing imaging devices and image data. It simplifies the usage of DirectShow by maintaining its hardware independently. The abstraction implemented by the class library addresses all programmers who are familiar with frame grabbers. In other words: IC Imaging Control lets DirectShow look like a frame grabber." [12]
- "System requirements (...) One or more WDM compliant video devices." [13]
- "Class Library" [14]
- "Programmer's Guide" [15]
- "Possible colorformats" [16]
Ultrasonix
- "Smart ultrasound for better patient care." [17]
- "Ultrasonix SDK Page" [18]
- "Ulterius is a set of API's that provides remote access to the RP clinical software for retreiving data and setting parameters." [19]
- "vtkSonixVideoSource"
Mac
IGSTK
- "igstkVideoGrabber" - IgstkSandbox
Core Video
- "Core Video is the video processing model used by QuickTime 7 on Mac OS X to interface with the rendering and compositing layers in its graphics model. It delivers the images from QuickTime or other video source to the rest of the Quartz technologies in Mac OS X. (...) Since Core Video is responsible for passing the video frame data as images into the drawing context, it can maintain a buffer of image data - the frame buffer (...)" [20]
Cross-platform
QT
- "Qt 4.4 will improve on Qt's multimedia support by providing integration with KDE's Phonon multimedia framework project. The framework will enable basic audio & video playback, building on and abstracting existing formats and frameworks on the platforms (QuickTime on Mac, DirectShow on Windows, GStreamer on Linux). The API will focus on playback of multimedia content. The framework will make it possible and easier to use existing codecs but will not provide audio/video codecs."[21]
- "Qt uses the Phonon multimedia framework to provide functionality for playback of the most common multimedia formats.The media can be read from files or streamed over a network, using an URL to a file. ... Work in Progress: Phonon and its Qt backends, though fully functional for multimedia playback, are still under development. Functionality to come is the possibility to capture media and more processors for both music and video files. Another important consideration is to implement support for storing media to files; i.e., not playing back media directly. We also hope in the future to be able to support direct manipulation of media streams. This will give the programmer more freedom to manipulate streams than just through processors. Currently, the multimedia framework supports one input source. It will be possible to include several sources. This is useful in, for example, audio mixer applications where several audio sources can be sent, processed and output as a single audio stream."[22]
- Question sendt to Qt-support: "Hello support, I am curious, with Phonon and Qt, will I be able to grab video and store it as raw data, i.e. series of bitmaps? I've read about the work in progress, but it's not clear to me whether or not this functionality will be supported. If so, when can I expect a release with the desired functionality?" Work in progress Answer: "Indeed, capturing video or grabbing frames is not possible at the moment, that is, it will not be available in Qt 4.4. I would not expect it until Qt 4.5 or 4.6 the earliest, but I am afraid that I cannot guarantee that this will be implemented at all."
GStreamer
- "GStreamer is a multimedia framework written in the C programming language with the type system based on GObject. GStreamer serves a host of multimedia applications, such as video editors, streaming media broadcasters, and media players. Designed to be cross-platform, it is known to work on Linux (x86, PowerPC and ARM), Solaris (x86 and SPARC), Mac OS X, Microsoft Windows and OS/400. GStreamer is free software, licensed under the GNU Lesser General Public License." [23]
Phonon
- "Phonon is the cross platform multimedia API for KDE 4. Phonon was created as a solution to several problems commonly faced by unix desktops for multimedia. Phonon itself is not a multimedia framework, but interfaces with existing frameworks such as GStreamer or Xine via backends. Phonon allows all multimedia frameworks it supports to be accessed through a simple API. This prevents problems like frameworks becoming unmaintained, API instability, and KDE depending on a single framework. Phonon is not limited to unix and backends are being developed to support Windows and Mac OS X by Trolltech." [24]
