com.esri.arcgis.analyst3d
Interface IVideoExporterProperties

All Superinterfaces:
Serializable
All Known Implementing Classes:
AVIExporter, QuickTimeExporter

public interface IVideoExporterProperties
extends Serializable

Provides access to members that are associated with exporting a video.

Description

Codec is an acronym for 'compressor/decompressor'. An algorithm or scheme used when recording digital video. They are essentially programs to read and write animation videos. Different video formats (e.g. AVI, QuickTime) require different sets of codecs. A codec is required for a video to be exported. Windows has several codecs for AVI export. Installing the QuickTime player also installs QuickTime codecs. Additional codecs may reside on a machine when certain programs are installed and if third-party codecs are added.

CodecCode is the four character code (FOURCC) that uniquely identifies a codec.

CodecCodeList refers to the list of codec codes for the codecs available on a machine.

CodecList is the list of codec names for the codecs available on a machine. Each entry in the list is in the format CodecCode:CodecName (codec name prefixed with the four character code, separated by a colon).

ColorDepth means the color or gray scale resolution value to be used when exporting the video.

DataRate refers to the maximum number of bytes of data per second in the video. This can be used to adjust for hardware limitations during video playback.

FrameDuration indicates the duration of each video frame, in milliseconds.

IsInstalled property is currently applicable only to the QuickTime video exporter. If QuickTime player is not installed on a machine, QuickTime codecs would be unavailable. As a result, QuickTime videos can not be exported. This property checks if QuickTime codecs are available on a machine.

KeyFrameRate is the frequency with which key frames are inserted into the video.

Quality: Once a codec is selected, video can be exported at different qualities ranging from 1 to 100. The quality setting is directly propotional to the resolution and the video file size. A quality value of 200 allows lossless compression to be used if available in the codec.

RecordOffScreen specifies if the video export would be unaffected by other application windows that obscure the scene or globe viewer.

RecordWindow specifies if the whole application window (ArcScene or ArcGlobe) rather than just the scene or globe viewer would be exported.

ShowSettingsDialog specifies if the codec settings dialog would be displayed when exporting using ISceneExport3D::ExportScene() method. The default is off.

Remarks

Some of the properties in this interface may not be applicable to the AVI exporter. They include IsInstalled, ColorDepth, KeyFrameRate, DataRate, and FrameDuration.

For AVI, all codec codes use upper cases. So querying a codec code always returns a string in upper case. When you assign a codec code, however, you can assign it in either case (but internally it always uses the upper case).

For QuickTime, codec code cases are mixed. Some use upper cases while others use lower cases. Therefore a developer needs to be careful because it's case sensitive. Pay special attention to some peculiar codecs when a four-letter codec code appears to only contain three letters - the last letter is actually a blank space. There're also some other rare codecs that have no codec names; they only have codec code used as an identifier.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux


Method Summary
 String getCodec()
          The current video codec.
 String getCodecCode()
          The current video codec's unique code.
 IStringArray getCodecCodeList()
          The list of unique codes of available codecs.
 IStringArray getCodecList()
          The list of names of available codecs.
 short getColorDepth()
          The number of bits per pixel in each video frame.
 int getDataRate()
          The maximum number of bytes per second.
 int getFrameDuration()
          The duration of each frame in milliseconds.
 int getKeyFrameRate()
          The frequency of keyframes in the video.
 int getQuality()
          The quality of video compression (1-100).
 boolean isInstalled()
          Indicates if the video exporter is installed.
 boolean isRecordOffScreen()
          Indicates if video is to be recorded offscreen.
 boolean isRecordWindow()
          Indicates if entire window is to be recorded.
 boolean isShowSettingsDialog()
          Indicates if video compression settings dialog is to be displayed.
 void setCodec(String pCodecName)
          The current video codec.
 void setCodecCode(String pCodecCode)
          The current video codec's unique code.
 void setColorDepth(short pColorDepth)
          The number of bits per pixel in each video frame.
 void setDataRate(int pDataRate)
          The maximum number of bytes per second.
 void setFrameDuration(int pFrameDuration)
          The duration of each frame in milliseconds.
 void setKeyFrameRate(int pKeyFrameRate)
          The frequency of keyframes in the video.
 void setQuality(int pQualityPercent)
          The quality of video compression (1-100).
 void setRecordOffScreen(boolean pbRecordOffScreen)
          Indicates if video is to be recorded offscreen.
 void setRecordWindow(boolean pbRecordAppWindow)
          Indicates if entire window is to be recorded.
 void setShowSettingsDialog(boolean pbShowSettingsDialog)
          Indicates if video compression settings dialog is to be displayed.
 

Method Detail

isInstalled

boolean isInstalled()
                    throws IOException,
                           AutomationException
Indicates if the video exporter is installed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pbIsInstalled
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCodecList

IStringArray getCodecList()
                          throws IOException,
                                 AutomationException
The list of names of available codecs.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.system.IStringArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCodecCodeList

IStringArray getCodecCodeList()
                              throws IOException,
                                     AutomationException
The list of unique codes of available codecs.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.system.IStringArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCodec

void setCodec(String pCodecName)
              throws IOException,
                     AutomationException
The current video codec.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pCodecName - The pCodecName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCodec

String getCodec()
                throws IOException,
                       AutomationException
The current video codec.

Remarks

The Codec property is an identifier showing what the current codec is used when exporting to a video format. When you check for the Codec property, be it an AVI or QuickTime video, it's always in Code:Codec format, where the Code is a four-letter string that uniquely identifies a particular codec. The codec name proper (i.e. the codec name without the four-letter code name and the colon in front), however, may not be unique in some situations. For some AVI codecs, the name proper could even be blank. In this scenario the only identifier for that codec would be the four-letter code. Some codec code names (i.e. the four-letter string) may appear as three-letter codes - the fourth one is just a blank space, which is also a valid character. All the four-letter code names are not case sensitive.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pCodecName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCodecCode

void setCodecCode(String pCodecCode)
                  throws IOException,
                         AutomationException
The current video codec's unique code.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pCodecCode - The pCodecCode (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCodecCode

String getCodecCode()
                    throws IOException,
                           AutomationException
The current video codec's unique code.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pCodecCode
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setColorDepth

void setColorDepth(short pColorDepth)
                   throws IOException,
                          AutomationException
The number of bits per pixel in each video frame.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pColorDepth - The pColorDepth (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getColorDepth

short getColorDepth()
                    throws IOException,
                           AutomationException
The number of bits per pixel in each video frame.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pColorDepth
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setQuality

void setQuality(int pQualityPercent)
                throws IOException,
                       AutomationException
The quality of video compression (1-100). 200 - Lossless.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pQualityPercent - The pQualityPercent (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getQuality

int getQuality()
               throws IOException,
                      AutomationException
The quality of video compression (1-100). 200 - Lossless.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pQualityPercent
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setKeyFrameRate

void setKeyFrameRate(int pKeyFrameRate)
                     throws IOException,
                            AutomationException
The frequency of keyframes in the video.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pKeyFrameRate - The pKeyFrameRate (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getKeyFrameRate

int getKeyFrameRate()
                    throws IOException,
                           AutomationException
The frequency of keyframes in the video.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pKeyFrameRate
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDataRate

void setDataRate(int pDataRate)
                 throws IOException,
                        AutomationException
The maximum number of bytes per second.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pDataRate - The pDataRate (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDataRate

int getDataRate()
                throws IOException,
                       AutomationException
The maximum number of bytes per second.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pDataRate
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFrameDuration

void setFrameDuration(int pFrameDuration)
                      throws IOException,
                             AutomationException
The duration of each frame in milliseconds.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pFrameDuration - The pFrameDuration (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFrameDuration

int getFrameDuration()
                     throws IOException,
                            AutomationException
The duration of each frame in milliseconds.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pFrameDuration
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRecordWindow

void setRecordWindow(boolean pbRecordAppWindow)
                     throws IOException,
                            AutomationException
Indicates if entire window is to be recorded.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pbRecordAppWindow - The pbRecordAppWindow (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isRecordWindow

boolean isRecordWindow()
                       throws IOException,
                              AutomationException
Indicates if entire window is to be recorded.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pbRecordAppWindow
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRecordOffScreen

void setRecordOffScreen(boolean pbRecordOffScreen)
                        throws IOException,
                               AutomationException
Indicates if video is to be recorded offscreen.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pbRecordOffScreen - The pbRecordOffScreen (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isRecordOffScreen

boolean isRecordOffScreen()
                          throws IOException,
                                 AutomationException
Indicates if video is to be recorded offscreen.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pbRecordOffScreen
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShowSettingsDialog

void setShowSettingsDialog(boolean pbShowSettingsDialog)
                           throws IOException,
                                  AutomationException
Indicates if video compression settings dialog is to be displayed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pbShowSettingsDialog - The pbShowSettingsDialog (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShowSettingsDialog

boolean isShowSettingsDialog()
                             throws IOException,
                                    AutomationException
Indicates if video compression settings dialog is to be displayed.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pbShowSettingsDialog
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.