function info = getinfo(vr) %INFO=GETINFO(VR) % Returns a structure whose fields contain information about the opened % video object. The (minimum) set of fields in the INFO structure is % shown below: % url String specifying the data source, in the format preferred % by the plugin being used. Sometimes this will be a true % URL, sometimes it will be a filename. % % fps Non-negative number indicating the number of frames per % second. % % height Integer indicating the height of the video frames in % pixels. % % width Integer indicating the width of the video frames in pixels. % % numFrames Integer indicating an estimate of the total number of % frames in the video. For typical videos, this number is % exact. Users may attempt to read more than numFrames % frames at their own risk. If nHiddenFinalFrames is % non-zero, this will typically fail (meaning next/step/seek % will return 0) or worse, corrupted data such as an % all-black frame may be returned by the codec. Some plugins % and/or their codecs do not supply this information. If the % number of frames is unknown, a negative number is returned. % Older ffmpeg versions (notably version 0.4.9-pre1) do not % supply this number. % % fourcc 4- or fewer-character string roughly indicating the codec % used encode the video. See http://www.fourcc.org for % additional background information and an extensive, but % non-comprehensive list of FourCC codes. % % nHiddenFinalFrames % Non-negative integer. Many codecs make it difficult or % impossible to read the last few frames of a file. When % videoReader thinks that the last few cannot be read, it % automatically guesses how many frames cannot be read, % records this number as nHiddenFinalFrames, and sets % numFrames to be the number of frames the file claims to % contain minus nHiddenFinalFrames. An individual % videoReader plugin (like the ffmpegPopen2 plugin) may choose % to allow the user to try reading the frames that might be % hidden or it may choose not to allow even trying to read % them (like the DirectShow plugin). % % Due to limitations in some file formats, it is not always possible to % determine all of these values (or sometimes they are not constant). In % these cases, numerical values are given a value of NaN and string values % are blank. % %SEE ALSO % videoReader % %Copyright (c) 2006 Gerald Dalley %See "MIT.txt" in the installation directory for licensing details (especially %when using this library on GNU/Linux). %info = feval(vr.plugin, 'getinfo', vr.handle); [names, vals] = feval(vr.plugin, 'getinfo', vr.handle); info = cell2struct({vals{:}}, {names{:}}, 2);