Configuring video capture in ARToolKit Professional
From ARToolworks support library
Main Page > ARToolKit Professional > Configuring video capture in ARToolKit Professional
About libARvideo's configuration options
ARToolKit Professional includes libARvideo, a cross-platform library which captures video from a variety of different sources. In general, most users of ARToolKit Professional who have a single webcam attached to their system will never delve into the workings of this library. However, the module or modules inside this library generally allow for a degree of configuration to control parameters of the capture sources with which they interface.
This section of the manual details some of the configuration options available with libARvideo.
How to change the video configuration in your program, or in an ARToolKit Professional example
Setting the configuration at run-time
Video configurations are passed to libARvideo in a standard way; as a c-string containing text. What to put in the contents of the string depends on your capture source.
The contents of the string are different for different capture sources because although libARvideo presents a standard API for passing video to other code (e.g. libAR, libARgsub_lite and libARgsub), there is custom code inside libARvideo for each capture source (e.g. QuickTime, DirectShow, libdc1394). The capture sources generally implement a variety of different approaches to video stream acquisition. So, the configuration parameters are different depending on the underlying capture module being used.
The simplest way to specify the video configuration (without recompiling the example applications) is to create an environment variable "ARTOOLKIT_4_CONFIG" with the video configuration you wish to use. See Setting an environment variable for more information on how to set environment variables.
ARToolKit Utilities
Some of the ARToolKit utilities (including calib_camera, calib_stereo and check_id) accept video configuration(s) as command-line parameters. The desired configuration is passed after a parameter "--vconf" (or --vconfL or --vconfR for calib_stereo). Note that if the video configuration string includes spaces, it must be quoted to prevent the shell passing it as multiple parameters.
Setting the configuration programmatically
Video configuration can also be passed to libARvideo programmatically (as the sole parameter to the arVideoOpen() call). When no string (NULL) or an empty string ("") is passed, libARvideo looks for an environment variable "ARTOOLKIT_4_CONFIG" (as mentioned above) for the string. If this environment variable is not found, the video module will use a default configuration.
In most of the ARToolKit Professional examples, the video config is specified in a string named "vconf". Do a search in your source editor for "vconf" to see this. So in most of the examples, editing the vconf string in the sourcecode will change the video configuration being used.
Of course, editing sourcecode requires recompiling for the changes to take effect, so a few of the examples accept a command-line parameter and use this as vconf. You can look at the sourcecode to see if a given example does so.
Available capture sources and switching between them
There is one standard configuration option (which is new to ARToolKit Professional, and not found in any version of ARToolKit v2.x). Where more than one capture source has been compiled into libARvideo on a given platform, this option allows switching between the options.
This table lists the capture sources available on each platform. (N.B. if you have a binary release of ARToolKit Professional, not all of these capture sources may have been compiled into your copy):
Platform | Capture source (descriptive name) | Constant required in <AR/config.h> for this source to be compiled into libARvideo | video config string to select this capture source | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|---|
All | Dummy input | AR_INPUT_DUMMY | -device=Dummy | 4.0.0 | |
Mac OS X, Windows, Linux | JPEG image input | AR_INPUT_IMAGE | -device=Image | 4.6.2 | |
Linux | Video4Linux | AR_INPUT_V4L | -device=LinuxV4L | 4.0.0 | |
Linux | GStreamer | AR_INPUT_GSTREAMER | -device=GStreamer | 4.3.2 | |
Linux | libdc1394 | AR_INPUT_1394CAM | -device=Linux1394Cam | 4.0.0 | |
Mac OS X, Windows | QuickTime® (enhanced) | AR_INPUT_QUICKTIME | -device=QUICKTIME | 4.3.0 | |
Windows | DirectShow® | AR_INPUT_WINDOWS_DIRECTSHOW | -device=WinDS | 4.0.0644 | 4.0.065,4.1.x |
Windows | DSVideoLib | AR_INPUT_WINDOWS_DSVIDEOLIB | -device=WinDSVL | 4.1.0 | |
Windows | DragonFly FlyCapture® | AR_INPUT_WINDOWS_DRAGONFLY | -device=WinDF | 4.0.0644 | 4.0.065 |
Mac OS X | QuickTime® | AR_INPUT_QUICKTIME_OLD | -device=QUICKTIME_OLD | 4.0.0 | |
Windows | HDCam64 | AR_INPUT_WINDOWS_HDCAM | -device=WinHD | 4.0.0644 | 4.0.065 |
Linux | libdv | AR_INPUT_DV | -device=LinuxDV | 4.0.0 | 4.1.x, 4.3.x |
SGI Irix | SGI video input | AR_INPUT_SGI | -device=SGI | 4.0.0 | 4.1.x, 4.3.x |
Mac OS X | QuickTime® (v7.0 and later) | AR_INPUT_QUICKTIME7 | -device=QuickTime7 | 4.5.0 | |
iOS | iOS video input | AR_INPUT_IPHONE | -device=iPhone | 4.4.3 (iOS release 1.0) | |
Windows | Media Foundation | AR_INPUT_WINDOWS_MEDIA_FOUNDATION | -device=WinMF | 5.1.5 |
(1): First version of ARToolKit Professional in which this capture source became available. (2):Version(s) of ARToolKit Professional in which this source is/was unavailable or unusable.
Video configuration options
Notes on the tables below
- Items inside square brackets ("[" and "]") are optional modifications to parameters, e.g. an option listed below as "-[no]foo" means that option "-foo" activates some option "foo", and option "-nofoo" deactivates it.
- Items separated by a vertical bar ("|") are mutually-exclusive options. Use only one.
- Items in italic typeface are placeholders, which you should replace. E.g. N indicates an integer number should be inserted.
AR_VIDEO_DEVICE_DUMMY
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=Dummy | Select this device for use. | 4.0.0 | ||
-width=N | Specify the width of the returned image. | 640 | 4.0.0 | |
-height=N | Specify the height of the returned image. | 480 | 4.0.0 | |
-bufferpow2 | Requests that images are returned in a buffer which has power-of-two dimensions. | Buffers are same size as image. | 4.4.3 | |
-pixelformat=X | Return images with pixels in format X, where X is one of the following format tokens:
BGRA, RGBA, RGBA_5551, RGBA_4444, y420 | BGRA | 4.4.3 |
AR_VIDEO_DEVICE_IMAGE
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=Image | Select this device for use. | 4.6.2 | ||
-width=N | Specify the width of the returned image. | Width of first JPEG in image list. | 4.6.2 | |
-height=N | Specify the height of the returned image. | Height of first JPEG in image list. | 4.6.2 | |
-bufferpow2 | Requests that images are returned in a buffer which has power-of-two dimensions. | Buffer of same size as first JPEG in image list. | 4.6.2 | |
-format=X | Return images with pixels in format X, where X is one of the following format tokens:
RGB, RGBA, MONO. Note that where the format requires a conversion from the native JPEG format (usually RGB) to anything other than MONO, there is a performance penalty imposed by the conversion. ARToolKit can natively handle RGB, RGBA and MONO JPEG formats, however in some circumstances, displaying RGB format images may have a performance penalty compared to RGBA format images because of data alignment issues. Benchmarking is recommended if performance is of concern. | RGB for RGB-format JPEGs, RGBA for RGBA-format JPEGs, or MONO for monochrome JPEGs. | 4.6.2 | |
-[no]loop | In loop mode, after reading last image, the next read will return the first image. In noloop mode, no after reading the last image, no further images will be returned. May be used multiple times; later invocations will override earlier. | -noloop | 4.6.2 | |
-image=pathname -image="pathname with spaces" | Specifies image to be read from file. Pathname is relative to the current working directory, or an absolute pathname in the system-native format. May be used an arbitrary number of times in a single config. string. | 4.6.2 |
AR_VIDEO_DEVICE_V4L
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=LinuxV4L | Select this device for use. | 4.0.0 | ||
-width=N | Specify the width of the returned image. | 640 | 4.0.0 | |
-height=N | Specify the height of the returned image. | 480 | 4.0.0 | |
-contrast=N | specifies contrast. (0.0 <-> 1.0) | 4.0.0 | ||
-brightness=N | specifies brightness. (0.0 <-> 1.0) | 4.0.0 | ||
-color=N | specifies color. (0.0 <-> 1.0) | 4.0.0 | ||
-hue=N | specifies hue. (0.0 <-> 1.0) | 4.0.0 | ||
-whiteness=N | specifies whiteness. (0.0 <-> 1.0) | 4.0.0 | ||
-channel=N | specifies source channel. | 3 | 4.0.0 | |
-dev=filepath | specifies device file. | /dev/video0 | 4.0.0 | |
-mode=[PAL|NTSC|SECAM] | specifies TV signal mode. | NTSC | 4.0.0 | |
-format=[BGR|BGRA] | specifies pixel format. | BGR | 4.0.0 |
AR_VIDEO_DEVICE_DV
AR_VIDEO_DEVICE_1394CAM
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=Linux1394Cam | Select this device for use. | 4.0.0 | ||
-port=N | specifies a FireWire adaptor port (-1: Any). | 0 | 4.0.0 | |
-euid=N | specifies EUID of a FireWire camera (-1: Any). | 0 | 4.0.0 | |
-mode=[320x240_YUV422 | 640x480_YUV422 | 640x480_RGB | 640x480_YUV411 | 640x480_YUV411_HALF | 640x480_MONO | 640x480_MONO_COLOR | 640x480_MONO_COLOR2 | 640x480_MONO_COLOR3 | 640x480_MONO_COLOR_HALF | 640x480_MONO_COLOR_HALF2 | 640x480_MONO_COLOR_HALF3 | 1024x768_MONO | 1024x768_MONO_COLOR] | specifies input image format. | Depends on camera selected during execution of configure. | 4.0.0 | |
-rate=N | specifies desired framerate of a FireWire camera. (1.875, 3.75, 7.5, 15, 30, 60) | 30 | 4.0.0 | |
-reset | resets camera to factory default settings. This is required for DFK21AF04 when it has been connected. | 4.0.0 |
AR_VIDEO_DEVICE_SGI
AR_VIDEO_DEVICE_WINDOWS_DIRECTSHOW
Extra help on building this video capture module can be found on the page Building libARvideo using DirectShow.
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=WinDS | Select this device for use. | 4.0.0644 | 4.0.065 | |
-showDialog | Request that the WDM capture PIN (configuration sheet) be shown to the user when the video stream is opened. | -showDialog (only if no config string is supplied). | 4.0.0644 | 4.0.065 |
-showDeviceList | Do not actually open the device, but instead dump a list of device numbers and device names to the standard output. The format of the dump is up to 2 decimal digits (beginning with '1' for the first device), followed by a colon and a space, and the remaining characters before the new line constituting the device name, as known to WDM. | 4.0.0644 | 4.0.065 | |
-devNum=n | Open device n, rather than the default device. | 1 | 4.0.0644 | 4.0.065 |
-flipH | Flip camera image horizontally. | 4.0.0644 | 4.0.065 | |
-flipV | Flip camera image vertically. | -flipV (only if no config string is supplied). | 4.0.0644 | 4.0.065 |
AR_VIDEO_DEVICE_WINDOWS_DRAGONFLY
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=WinDF | Select this device for use. | |||
-rate=N | Specifies desired input framerate. (1.875, 3.75, 7.5, 15, 30, 60, 120) | 15 | 4.6.0 | |
-mode=[160x120YUV444|320x240YUV422|640x480YUV411|640x480YUV422| 640x480RGB|640x480Y8|640x480Y16|800x600YUV422|800x600RGB| 800x600Y8|800x600Y16|1024x768YUV422|1024x768RGB|1024x768Y8| 1024x768Y16|1280x960YUV422|1280x960RGB|1280x960Y8|1280x960Y16| 1600x1200YUV422|1600x1200RGB|1600x1200Y8|1600x1200Y16] | Specifies input image format. N.B. Not all formats listed may be supported by ARToolKit. | 1024x768RGB | 4.6.0 | |
-index=N | Specifies bus index of device to use. (Range is from 0 to number of connected devices minus one.) | 0 | 4.6.0 |
AR_VIDEO_DEVICE_WINDOWS_HDCAM
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=WinHD | Select this device for use. |
AR_VIDEO_DEVICE_QUICKTIME7
The QuickTime7 video plugin uses the QTKit API introduced with QuickTime version 7 on Mac OS X. It offers improved performance over the previous QuickTime modules, however as of ARToolKit Professional v4.5.0, it does not yet support reading from file or network stream, so the previous QUICKTIME module should still be used in that case.
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=QuickTime7 | Select this device for use. | 4.5.0 | ||
-width=w | Scale camera native image to width w. | camera native image width | 4.5.0 | |
-height=h | Scale camera native image to height h. | camera native image height | 4.5.0 | |
-pixelformat=cccc | Return images with pixels in format cccc, where cccc is either a
numeric pixel format number or a valid 4-character-code for a pixel format. The following numeric values are supported: 24 (24-bit RGB), 32 (32-bit ARGB), 40 (8-bit grey) The following 4-character-codes are supported: BGRA, RGBA, ABGR, 24BG, 2vuy, yuvs. (See http://developer.apple.com/library/mac/#technotes/tn2010/tn2273.html.) | Depends on camera; for many USB video-class devices, either '2vuy' or 'yuvs'. | 4.5.0 | |
-source=N | Acquire video from connected source device with index N. | 0 | 4.5.0 | |
-nomuxed | Do not search for video from multiplexed video/audio devices (e.g. DV cams). | Off (i.e. muxed sources are included in the search). | 4.6.0 |
AR_VIDEO_DEVICE_QUICKTIME
Extra help on building this video capture module can be found on the page Building libARvideo using QuickTime.
The QuickTime video plugin can operate in two modes.
- In the first mode (the default), it acquires live video from a video capture source via QuickTime's video grabber. (Note that QuickTime for Windows does not come with a video digitizer component, and a third party component (e.g. WinVDIG [1] must be installed.)
- In the second mode, specified by passing a video configure parameter "-movie=pathnameOrURL", the plugin can open any valid QuickTime resource, including movies from disk, or movies streamed via http, rtsp or ftp protocols.
QuickTime video input from VDIG
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=QUICKTIME | Select this device for use. | 4.3.0 | ||
-[no]dialog | Don't display video settings dialog. | -dialog | 4.3.0 | |
-[no]standarddialog | Don't remove unnecessary panels from video settings dialog. | -nostandarddialog | 4.3.0 | |
-width=w | Scale camera native image to width w. | 640 | 4.3.0 | |
-height=h | Scale camera native image to height h. | 480 | 4.3.0 | |
-[no]fps | Overlay camera frame counter on image. | -nofps | 4.3.0 | |
-grabber=n | With multiple QuickTime video grabber components installed,
use component n (default n=1). N.B. It is NOT necessary to use this option if you have installed more than one video input device (e.g. two cameras) as the default QuickTime grabber can manage multiple video channels. | 1 | 4.3.0 | |
-pixelformat=cccc | Return images with pixels in format cccc, where cccc is either a
numeric pixel format number or a valid 4-character-code for a pixel format. The following numeric values are supported: 24 (24-bit RGB), 32 (32-bit ARGB), 40 (8-bit grey) The following 4-character-codes are supported: BGRA, RGBA, ABGR, 24BG, 2vuy, yuvs. (See http://developer.apple.com/library/mac/#technotes/tn2010/tn2273.html.) | Depends on platform; default for Mac OS X is 32 (i.e. ARGB), default for Windows is BGRA. | 4.3.0 | |
-[no]fliph | Flip camera image horizontally. | -nofliph | 4.3.0 | |
-[no]flipv | Flip camera image vertically. | -noflipv | 4.3.0 | |
-[no]singlebuffer | Use single buffering of captured video instead of triple-buffering. | -nosinglebuffer | 4.3.0 |
QuickTime video input from movie file or stream
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=QUICKTIME | Select this device for use. | 4.3.0 | ||
-movie=file:///path/to/file -movie="file:///path/to/file" | Specifies that video should be acquired from a QuickTime movie resource.
This can be any valid movie resource that QuickTime can open, including files and streams. If a movie file is to be opened, supply a file URI specifying the full pathname. Pathnames must be URI-encoded, i.e. if the pathname contains spaces, these should be replaced with '+' characters. e.g. -movie="file:///C:/Program+Files/QuickTime/Sample.mov" or -movie=file:///Developer/Examples/WebKit/WebKitMoviePlugIn/sample.mov . If a movie stream is to be opened, it may be specified via an "http://", "rtsp://" or "ftp://" URL, or it can be referred to in a stream description file (a .sdp file). In ARToolKit versions 4.3.0 - 4.4.4, the maximum URL length was 255 characters. As of ARToolKit 4.5.0, this has been increased to 1023 characters. | 4.3.0 | ||
-[no]1to1 | Do not fit the movie to the window or buffer size, but
instead display it at its original size (1 to 1 scaling). | -no1to1 | 4.3.0 | |
-[no]fill | Rather than fitting the movie into the window so that all
the movie is visible, scale it so that it completely fills the window or buffer. The movie's aspect ratio will be maintained, and this may result in some of the movie being clipped at the top and bottom or left and right. | -nofill | 4.3.0 | |
-[no]stretch | Rather than fitting the movie into the window so that all
the movie is visible, scale it so that it completely fills the window or buffer. The movie's aspect ratio will be stretched if necessary so that no pixels are clipped. | -nostretch | 4.3.0 | |
-[no]loop | Request that the movie loop continuously. This
parameter has no effect for streaming movies. Unless this parameter is specified, calls to arVideoQuickTimeMovieIdle() will return AR_E_EOF when the movie has finished playing. | -loop | 4.3.0 | |
-[no]showcontroller | Show the QuickTime movie controller in the frame.
(Unfortunately, the user will not be able to interact with the controller to pause and jog the movie.) | -showcontroller | 4.3.0 | |
-[no]mute | Set movie audio volume to 0. | -nomute | 4.3.0 | |
-[no]pause | Open movie in paused state. A call to arVideoCapStart()
would be required to unpause the movie. | -pause | 4.3.0 | |
-width=w | Scale movie native frame to width w. | Width of movie frame. | 4.3.0 | |
-height=h | Scale movie native frame to height h. | Height of movie frame. | 4.3.0 | |
-[no]fliph | Flip movie frame horizontally. | -nofliph | 4.3.0 | |
-[no]flipv | Flip movie frame vertically. | -noflipv | 4.3.0 | |
-pixelformat=cccc | Ignored unless -offscreen is also passed, requests return of
movie frames with pixels in format cccc, where cccc is either a numeric pixel format number or a valid 4-character-code for a pixel format. The following values are supported: 32, BGRA, RGBA, ABGR, 24, 24BG, 2vuy, yuvs. (See http://developer.apple.com/quicktime/icefloe/dispatch020.html.) | Depends on platform; default for Mac OS X is 32 (i.e. ARGB), default for Windows is BGRA. | 4.3.0 | |
-[no]singlebuffer | Ignored unless -offscreen is also passed, use single buffering of
captured movie instead of triple-buffering. | -nosinglebuffer | 4.3.0 |
AR_VIDEO_DEVICE_QUICKTIME_OLD
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=QUICKTIME_OLD | Select this device for use. | 4.0.0 | ||
-width=N | Specify the width of the returned image. | 640 | 4.0.0 | |
-height=N | Specify the height of the returned image. | 480 | 4.0.0 |
AR_VIDEO_DEVICE_WINDOWS_DSVIDEOLIB
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=WinDSVL | Select this device for use. | 4.1.0 | ||
remainder of config string | Specify either an XML string (i.e. beginning '<?xml') or a pathname to an XML file (e.g. 'config.XML'), conforming to the DSVideoLib XML Schema (DsVideoLib.xsd). Click here to load an interactive SVG view of the DSVideoLib XML Schema. | <?xml version="1.0" encoding="UTF-8"?><dsvl_input><camera show_format_dialog="true" friendly_name=""><pixel_format><RGB32 flip_h="false" flip_v="true"/></pixel_format></camera></dsvl_input> | 4.1.0 |
AR_VIDEO_DEVICE_GSTREAMER
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=GStreamer | Select this device for use. | 4.3.2 | ||
remainder of config string | Specifies a configuration string following the gst-launch syntax.
A variety of GStreamer pipelines can be constructed, for example to pull video from a webcam, local file, or network stream. These are the important points to observe regarding where ARToolKit fits into a GStreamer pipeline:
Putting these points together, the last part of the GStreamer pipeline for ARToolKit will usually be: ! ffmpegcolorspace ! video/x-raw-rgb,bpp=24 ! identity name=artoolkit sync=true ! fakesink Note also that ARToolKit will respect the size of incoming video, so you can add the 'width=' and 'height=' properties to the capsfilter element, should you so desire. Some more examples:
Further interesting reading concerning webcam control can be found here: http://www.oz9aec.net/index.php/gstreamer/345-a-weekend-with-gstreamer and here: http://www.oz9aec.net/index.php/gstreamer/367-webcam-pixel-formats-and-gstreamer-caps-filters . | 4.3.2 |
AR_VIDEO_DEVICE_IPHONE
The iOS video plugin is available on Apple iOS devices including iPhone 3G, iPhone 3GS, iPhone 4, iPod touch 4G and iPad 2.
As of ARToolKit for iOS version 4.5.5 (release 4) the iOS video plugin can operate in either two modes; either acquiring live video from a camera on the iOS device, or playing a pre-recorded video file stored in the app's bundle resource directory.
iOS video input from camera
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=iPhone | Select this device for use. | 4.4.3 (release 1.0) | ||
-format=X | Return images with pixels in format X, where X is one of the following format tokens:
420v, 420f, BGRA, RGBA, RGBA_5551, RGBA_4444 | 420f (ARToolKit v5.0 and later.) BGRA (ARToolKit version pre-5.0) | 4.4.3 (release 1.0) | |
-preset=X | Specify use of camera settings preset X, where X is one of:
cif, 480p, 720p, 1080p, low, medium, high, photo. (N.B.:480p=640x480, i.e. 4:3 aspect ratio, 720p=1280x720 and 1080p=1920x1080 i.e. 16:9 aspect ratio). | medium | 4.5.1 (release 2.0) | |
-position=X | Choose between rear/back and front-mounted camera (where available).
Allowable values for X include: rear, back, front. (N.B.:rear is a synonym for back). Front is not supported on iPhone 3G or iPhone 3GS. | rear | 4.5.1 (release 2.0) | |
-[no]flipv | Flip the incoming image from the camera vertically. On front mounted-cameras, this option is on by default (but can be overridden by specifying -noflipv). Flipping the video vertically matches the orientation of the video image (when displayed on the screen of the device) to the physical orientation of the device. | noflipv (on rear camera). flipv (on front camera) | 4.5.4 (release 3.0) | |
-[no]fliph | Flip the incoming image from the camera horizontally. | nofliph | 4.6.6 (release 16) | |
-width=w | Crop native camera image width to w. | camera native image width for given preset (see above.) | 4.4.3 (release 1.0) | 4.5.0- |
-height=h | Crop native camera image height to h. | camera native image height for given preset (see above.) | 4.4.3 (release 1.0) | 4.5.0- |
-bufferpow2 | Requests that images are returned in a buffer which has power-of-two dimensions. | camera native image size for given preset (see below.) | 4.4.3 (release 1.0) | 4.5.0- |
iOS video input from movie file
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=iPhone | Select this device for use. | 4.5.5 (release 4.0) | ||
-movie=pathname -movie="pathname" | Specifies that video should be acquired from a movie resource.
This can be any valid movie file resource that iOS can open, but typically MPEG-4 (h.264 video with optional AAC audio). The pathname is relative to the resources directory of the app bundle. If the pathname contains spaces, it must be surrounded with double quotes ("). e.g. -movie="My great sample.mov". | 4.5.5 (release 4.0) | ||
-[no]1to1 | N.B. CURRENTLY IGNORED. Do not fit the movie to the window or buffer size, but
instead display it at its original size (1 to 1 scaling). | -no1to1 | 4.5.5 (release 4.0) | |
-[no]fill | N.B. CURRENTLY IGNORED. Rather than fitting the movie into the window so that all
the movie is visible, scale it so that it completely fills the window or buffer. The movie's aspect ratio will be maintained, and this may result in some of the movie being clipped at the top and bottom or left and right. | -nofill | 4.5.5 (release 4.0) | |
-[no]stretch | N.B. CURRENTLY IGNORED. Rather than fitting the movie into the window so that all
the movie is visible, scale it so that it completely fills the window or buffer. The movie's aspect ratio will be stretched if necessary so that no pixels are clipped. | -stretch | 4.5.5 (release 4.0) | |
-[no]loop | Request that the movie loop continuously. | -loop | 4.5.5 (release 4.0) | |
-[no]mute | Set movie audio volume to 0. | -nomute | 4.5.5 (release 4.0) | |
-[no]pause | Open movie in paused state. A call to arVideoCapStart()
would be required to unpause the movie. | -pause | 4.5.5 (release 4.0) | |
-width=w | Scale movie native frame to width w. | Width of movie frame. | 4.5.5 (release 4.0) | |
-height=h | Scale movie native frame to height h. | Height of movie frame. | 4.5.5 (release 4.0) | |
-[no]fliph | N.B. CURRENTLY IGNORED. Flip movie frame horizontally. | -nofliph | 4.5.5 (release 4.0) | |
-[no]flipv | Flip movie frame vertically. | -noflipv | 4.5.5 (release 4.0) | |
-pixelformat=cccc | Ignored unless -offscreen is also passed, requests return of
movie frames with pixels in format cccc, where cccc is either a numeric pixel format number or a valid 4-character-code for a pixel format. The following values are supported: 32, BGRA, RGBA, ABGR, 24, 24BG, 2vuy, yuvs. (See http://developer.apple.com/quicktime/icefloe/dispatch020.html.) | BGRA | 4.5.5 (release 4.0) |
AR_VIDEO_DEVICE_WINDOWS_MEDIA_FOUNDATION
video config string | usage notes | Default value | Avail.: (1) | Unavail.: (2) |
---|---|---|---|---|
-device=WinMF | Select this device for use. | 5.1.5 | ||
-showDeviceList | Do not actually open the device, but instead dump a list of device numbers and device names to the standard output. The format of the dump is up to 2 decimal digits (beginning with '1' for the first device), followed by a colon and a space, and the remaining characters before the new line constituting the device name, as known to WDM. | -noShowDeviceList | 5.1.5 | |
-noShowDeviceList | Override a previous -showDeviceList option | -noShowDeviceList | 5.1.5 | |
-devNum=n | Open device n, rather than the default device. E.g. if two cameras are connected, use -devNum=2 to access the second camera. | 1 | 5.1.5 | |
-format=X | Return images with pixels in format X, where X is one of: BGRA, BGR, NV12/420f, 2vuy/UYVY, yuvs/YUY2, RGB_565, RGBA_5551. The most reliable format is BGRA, due to support within Media Foundation for conversion from YUV-colour spaces to RGB colour space. Other formats must be supported natively on the device in order for the request to succeed. | Default pixel format. | 5.1.5 | |
-width=w | Request video format of width w pixels | Default frame width | 5.1.5 | |
-height=h | Request video format of width h pixels | Default frame height | 5.1.5 | |
-flipV | Flip image vertically. | -noFlipV | 5.1.5 | |
-noFlipV | Override a previous -flipV option and do not flip image vertically. | -noFlipV | 5.1.5 | |
-showFormats | Dump the full list of native formats to the console. This is helpful in determining device capabilities. | -noShowFormats | 5.1.5 | |
-noShowFormats | Override a previous -showFormats option | -noShowFormats | 5.1.5 |