videoIO-r531-windowsBin

所属分类:matlab编程
开发工具:matlab
文件大小:6187KB
下载次数:28
上传日期:2009-01-01 22:46:20
上 传 者GoogleEarth
说明:  Video IO toolbox for matlab. 用directshow做的,比matlab自己的video IO函數強很多。
(Video IO toolbox for matlab. Do with DirectShow than matlab own video IO function a lot stronger.)

文件列表:
@videoReader\close.m (1006, 2007-07-31)
@videoReader\disp.m (660, 2008-02-23)
@videoReader\display.m (243, 2008-02-23)
@videoReader\getframe.m (856, 2007-07-31)
@videoReader\getinfo.m (3420, 2008-02-23)
@videoReader\getnext.m (1009, 2007-07-31)
@videoReader\next.m (986, 2007-07-31)
@videoReader\seek.m (1285, 2007-07-31)
@videoReader\step.m (1322, 2007-07-31)
@videoReader\videoReader.m (10750, 2008-02-19)
@videoWriter\addframe.m (8657, 2008-02-19)
@videoWriter\close.m (1053, 2007-07-31)
@videoWriter\disp.m (660, 2008-02-23)
@videoWriter\display.m (243, 2008-02-23)
@videoWriter\getinfo.m (985, 2008-02-23)
@videoWriter\videoWriter.m (11446, 2008-02-19)
ChangeLog.txt (6093, 2008-02-23)
clearVideoIO.m (1396, 2007-07-31)
defaultVideoIOPlugin.m (1311, 2008-02-19)
FAQ.txt (13069, 2008-02-22)
GPL.txt (18051, 2007-07-31)
INSTALL.dshow.html (38072, 2008-02-23)
make32.sh (256, 2008-02-19)
make32and64.sh (735, 2008-02-19)
make64.sh (241, 2008-02-19)
MIT.txt (1715, 2007-07-31)
private\getFileList.m (2477, 2008-01-14)
private\split.m (617, 2008-01-11)
pvtVideoIO_mexName.m (3796, 2008-02-22)
pvtVideoIO_parsePlugin.m (1272, 2008-01-11)
releaseProcess.txt (1264, 2008-02-23)
tests\addFrameDemo.m (5492, 2008-02-14)
tests\analyzeNumFinalHiddenFrames.m (5290, 2007-07-31)
tests\divxSeekExpmt.m (1782, 2008-01-11)
tests\doFullRead.m (995, 2007-07-31)
tests\doMultiFullReadTest.m (3135, 2008-01-14)
tests\doMultiFullReadTestOnAllLoadables.m (1167, 2007-07-31)
tests\doPreciseSeekTests.m (4074, 2007-11-13)
tests\extractFrames.m (498, 2008-02-04)
... ...

=============================================================================== videoIO -- granting easy, flexible, and efficient read/write access to video files in Matlab on Windows and GNU/Linux platforms. by Gerald Dalley =============================================================================== Contents -------- 1) Legalese (MIT license on Windows, GPL on Linux) 2) Quick Description 3) Motivation 4) Similar projects 5) Acknowledgments Legalese -------- This software is released under the MIT license (see MIT.txt) whenever possible. If linked against the GPL version of ffmpeg, this software inherits the GPL license as well (see MIT.txt and GPL.txt). Quick Description ----------------- videoIO is a library designed to allow easy and efficient reading and writing of video files in Matlab on Windows and Linux. It is designed to enhance and/or complement other options that were available at the time it was originally written (summer 2006). To install the library on Microsoft Windows, see INSTALL.dshow.html. To install the library on GNU/Linux and similar operating systems, see INSTALL.ffmpeg.txt. If you only wish to read videos from individual frames (in a format readable by IMREAD or in .mat files), you need only add the directory containing this README.txt file to your Matlab path. Note: if you do this, you will not be able to use the videoIO toolbox to write videos of any type or read true video files (e.g. .mpg, .avi, etc.). As a quick usage example, here's how to animate one of the test movies: fname = fullfile(videoIODir, 'tests', 'numbers.uncompressed.avi'); vr = videoReader(fname); % create read object while (next(vr)) % read next frame img = getframe(vr); % extract frame imshow(img); pause(0.01); end vr = close(vr); % release resources For more detailed usage examples and instructions, type the following in Matlab: help buildVideoIO help videoReader help videoWriter help videoread and see tests/testAll.m % Master test script (see all scripts it calls % for various usage examples) tests/videoWriterDemo.m % Example showing how to create videos Motivation ---------- Matlab's Image Processing Toolbox ships with the AVIREAD function which provides limited video reading functionality. Specifically, as of version 2006a, AVIREAD has the following key limitations: 1) Inability to decode many stream types on Windows (e.g. try using AVIREAD on the supplied tests/numbers.3ivx.avi file) 2) Only uncompressed AVI files are supported on non-Windows platforms, and uncompressed AVI files are poorly supported on Windows. 3) Only AVI files are supported (not WMV, MP4, MPG, etc.) 4) All frames are read at once, meaning that if the user doesn't have enough RAM to hold the entire file's uncompressed contents in memory, it must be it must be read in chunks, resulting in a O(n^2) performance cost (where n is the number of chunks). The Matlab Image Processing Toolbox also ships with AVIFILE, a function for writing videos. As of version 2006a, AVIFILE has the following key limitations that are overcome by this library: 1) Very limited codec support on Windows: only Indeo3, Indeo5, Cinepak, MSVC, RLE, and no compression are available. All of these codecs are quite dated and provide poor compression relative to newer codecs. 2) No codec support on Unix/Linux platforms. Only uncompressed videos may be created. AVIFILE only writes to AVI files, and depending on the operating system, videoIO shares this limitation. Mathworks has also created some Simulink filters in the Video and Image Processing Blockset. These filters require purchasing extra packages and the usage of the Simulink framework. They also seem to share the same codec restrictions as AVIREAD and AVIFILE. videoIO either overcomes or provides a mechanism to overcome all of these limitations. When reading, it is designed to stream in frames one at a time so that large amounts of memory need not be allocated for the video. It currently supports virtually any video file that can be played in Windows Media Player (on Windows) or ffmpeg (on Linux). The library has been designed so that it is (relatively) easy to add support for other video files. For example, if an ambitious person wanted to add support for QuickTime files, that could be done in a way that is largely transparent to the end user. Similar Projects ---------------- aviread, avifile (Mathworks) In the Description section above, we described the relationship between videoIO and aviread/avifile. mplayerMex (http://cs-people.bu.edu/tvashwin/mplayerMex/) The idea is very similar to ours, in principle. mplayerMex attempts to tie into the powerful MPlayer application instead of using ffmpeg (like we do). Unfortunately, mplayerMex is not fully implemented (e.g. closing files is not supported as of July 2006). We also had difficulty getting mplayerMex to work with the current version of MPlayer as mplayerMex is not being actively maintained. Does not support writing new video files. dxAvi (http://cs-people.bu.edu/tvashwin/dx_avi/) Written by the same person that wrote mplayerMex, this mex function works on Windows. This implementation uses the one-shot mode of DirectShow and performs an explicit seek for every frame that's read. In the past, we've noticed performance and/or round-off problems when using this approach, but it would be instructive to do a head-to-head experiment again using many different codecs, then switch to their approach if it is better. By using the one-shot mode, dxAvi avoids many of the threading headaches we encounter, but potentially exposes itself to more imprecise seeking issues. Starting with DirectX 8.1, Microsoft recommends not using the oneshot mode. Does not support writing new video files. NetAvi (http://cs-people.bu.edu/tvashwin/netAvi/) Also written by the author of mplayerMex and dxAvi, a server process is run on 32-bit Windows for decoding videos. Clients read decoded frames over a socket connection. Installation appears to be very easy. The networked approach requires that all video files be accessible from the server box and creates additional network traffic as it transmits uncompressed frames. Does not support writing new video files. Acknowledgments --------------- We would like to thank Josh Midgal (jmigdal@mit.edu) for figuring out how to get DirectShow to behave in a pull-mode instead of a push-mode. The general design and especially the core interaction model between DirectShowVideo::seek and DirectShowVideo::SampleCB is based off his work. We would also like to thank all those who have donated time to the ffmpeg, xvid, and x2*** projects.

近期下载者

相关文件


收藏者