onvif
Version:
Client to ONVIF NVT devices Profile S: cameras
4,073 lines (1,117 loc) • 275 kB
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: Cam</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: Cam</h1>
<section>
<header>
<h2>Cam</h2>
</header>
<article>
<div class="container-overview">
<h4 class="name" id="Cam"><span class="type-signature"></span>new Cam<span class="signature">(options, callback<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
Camera class
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>options</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>hostname</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>username</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>password</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>port</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
80
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>path</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
/onvif/device_service
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>timeout</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
120000
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="Cam_.html#~ConnectionCallback">Cam~ConnectionCallback</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<h5 class="subsection-title">Properties:</h5>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>presets</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="cam.js.html">cam.js</a>, <a href="cam.js.html#line68">line 68</a>
</li></ul></dd>
</dl>
<h5>Fires:</h5>
<ul>
<li>Cam#event:rawRequest</li>
<li><a href="Cam_.html#event:rawResponse">Cam#event:rawResponse</a></li>
<li>Cam#event:connect</li>
<li><a href="Cam_.html#event:event">Cam#event:event</a></li>
</ul>
<h5>Example</h5>
<pre class="prettyprint"><code>var
http = require('http'),
Cam = require('onvif').Cam;
new Cam({
hostname: <CAMERA_HOST>,
username: <USERNAME>,
password: <PASSWORD>
}, function(err) {
this.absoluteMove({x: 1, y: 1, zoom: 1});
this.getStreamUri({protocol:'RTSP'}, function(err, stream) {
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('<html><body>' +
'<embed type="application/x-vlc-plugin" target="' + stream.uri + '"></embed>' +
'</body></html>');
}).listen(3030);
});
});</code></pre>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li>events.EventEmitter</li>
</ul>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id="activeSource"><span class="type-signature"></span>activeSource<span class="type-signature"> :<a href="Cam_.html#~ActiveSource">Cam~ActiveSource</a></span></h4>
<div class="description">
Current active video source
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="Cam_.html#~ActiveSource">Cam~ActiveSource</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="cam.js.html">cam.js</a>, <a href="cam.js.html#line520">line 520</a>
</li></ul></dd>
</dl>
<h4 class="name" id="activeSources"><span class="type-signature"></span>activeSources<span class="type-signature"> :Array.<<a href="Cam_.html#~ActiveSource">Cam~ActiveSource</a>></span></h4>
<div class="description">
Active video sources
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.<<a href="Cam_.html#~ActiveSource">Cam~ActiveSource</a>></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="cam.js.html">cam.js</a>, <a href="cam.js.html#line475">line 475</a>
</li></ul></dd>
</dl>
<h4 class="name" id="capabilities"><span class="type-signature"></span>capabilities<span class="type-signature"> :<a href="Cam_.html#~Capabilities">Cam~Capabilities</a></span></h4>
<div class="description">
Device capabilities
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="Cam_.html#~Capabilities">Cam~Capabilities</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="cam.js.html">cam.js</a>, <a href="cam.js.html#line380">line 380</a>
</li></ul></dd>
</dl>
<h4 class="name" id="defaultProfile"><span class="type-signature"></span>defaultProfile<span class="type-signature"> :<a href="Cam_.html#~Profile">Cam~Profile</a></span></h4>
<div class="description">
Default selected profile for the device
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="Cam_.html#~Profile">Cam~Profile</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="cam.js.html">cam.js</a>, <a href="cam.js.html#line499">line 499</a>
</li></ul></dd>
</dl>
<h4 class="name" id="defaultProfiles"><span class="type-signature"></span>defaultProfiles<span class="type-signature"> :Array.<<a href="Cam_.html#~Profile">Cam~Profile</a>></span></h4>
<div class="description">
Default profiles for the device
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.<<a href="Cam_.html#~Profile">Cam~Profile</a>></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="cam.js.html">cam.js</a>, <a href="cam.js.html#line469">line 469</a>
</li></ul></dd>
</dl>
<h4 class="name" id="events"><span class="type-signature"></span>events<span class="type-signature"> :object</span></h4>
<div class="description">
Events namespace for the device, stores all information about device events
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">object</span>
</li>
</ul>
<h5 class="subsection-title">Properties:</h5>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>properties</code></td>
<td class="type">
<span class="param-type"><a href="Cam_.html#~EventProperties">Cam~EventProperties</a></span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>subscription</code></td>
<td class="type">
<span class="param-type"><a href="Cam_.html#~CreatePullPointSubscriptionResponse">Cam~CreatePullPointSubscriptionResponse</a></span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>terminationTime</code></td>
<td class="type">
<span class="param-type">Date</span>
</td>
<td class="description last">Time when pull-point subscription is over</td>
</tr>
<tr>
<td class="name"><code>messageLimit</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="description last">Pull message count</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="events.js.html">events.js</a>, <a href="events.js.html#line16">line 16</a>
</li></ul></dd>
</dl>
<h4 class="name" id="profiles"><span class="type-signature"></span>profiles<span class="type-signature"> :Array.<<a href="Cam_.html#~Profile">Cam~Profile</a>></span></h4>
<div class="description">
Array of all device profiles
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.<<a href="Cam_.html#~Profile">Cam~Profile</a>></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="media.js.html">media.js</a>, <a href="media.js.html#line462">line 462</a>
</li></ul></dd>
</dl>
<h4 class="name" id="scopes"><span class="type-signature"></span>scopes<span class="type-signature"> :undefined|Array.<<a href="Cam_.html#~Scope">Cam~Scope</a>></span></h4>
<div class="description">
Device scopes
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">undefined</span>
|
<span class="param-type">Array.<<a href="Cam_.html#~Scope">Cam~Scope</a>></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="cam.js.html">cam.js</a>, <a href="cam.js.html#line672">line 672</a>
</li></ul></dd>
</dl>
<h4 class="name" id="services"><span class="type-signature"></span>services<span class="type-signature"> :Array.<<a href="Cam_.html#~Service">Cam~Service</a>></span></h4>
<div class="description">
Supported services and their URLs
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.<<a href="Cam_.html#~Service">Cam~Service</a>></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="cam.js.html">cam.js</a>, <a href="cam.js.html#line572">line 572</a>
</li></ul></dd>
</dl>
<h4 class="name" id="uri"><span class="type-signature"></span>uri<span class="type-signature"></span></h4>
<div class="description">
Device service URIs
</div>
<h5 class="subsection-title">Properties:</h5>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>PTZ</code></td>
<td class="type">
<span class="param-type">url</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>media</code></td>
<td class="type">
<span class="param-type">url</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>imaging</code></td>
<td class="type">
<span class="param-type">url</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>events</code></td>
<td class="type">
<span class="param-type">url</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>device</code></td>
<td class="type">
<span class="param-type">url</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="cam.js.html">cam.js</a>, <a href="cam.js.html#line388">line 388</a>
</li></ul></dd>
</dl>
<h4 class="name" id="videoSources"><span class="type-signature"></span>videoSources<span class="type-signature"> :<a href="Cam_.html#~VideoSource">Cam~VideoSource</a>|Array.<<a href="Cam_.html#~VideoSource">Cam~VideoSource</a>></span></h4>
<div class="description">
Video sources
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="Cam_.html#~VideoSource">Cam~VideoSource</a></span>
|
<span class="param-type">Array.<<a href="Cam_.html#~VideoSource">Cam~VideoSource</a>></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="media.js.html">media.js</a>, <a href="media.js.html#line39">line 39</a>
</li></ul></dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="absoluteMove"><span class="type-signature"></span>absoluteMove<span class="signature">(options, callback<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
/PTZ/ absolute move
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>options</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>profileToken</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
Cam#activeSource.profileToken
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>x</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Pan, float within -1 to 1</td>
</tr>
<tr>
<td class="name"><code>y</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Tilt, float within -1 to 1</td>
</tr>
<tr>
<td class="name"><code>zoom</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Zoom, float within 0 to 1</td>
</tr>
<tr>
<td class="name"><code>speed</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">If the speed argument is omitted, the default speed set by the PTZConfiguration will be used.
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>x</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">Pan speed, float within 0 to 1</td>
</tr>
<tr>
<td class="name"><code>y</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">Tilt speed, float within 0 to 1</td>
</tr>
<tr>
<td class="name"><code>zoom</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">Zoom speed, float within 0 to 1</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="Cam_.html#~RequestCallback">Cam~RequestCallback</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ptz.js.html">ptz.js</a>, <a href="ptz.js.html#line319">line 319</a>
</li></ul></dd>
</dl>
<h4 class="name" id="connect"><span class="type-signature"></span>connect<span class="signature">(callback)</span><span class="type-signature"></span></h4>
<div class="description">
Connect to the camera and fill device information properties
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="Cam_.html#~ConnectionCallback">Cam~ConnectionCallback</a></span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="cam.js.html">cam.js</a>, <a href="cam.js.html#line89">line 89</a>
</li></ul></dd>
</dl>
<h4 class="name" id="continuousMove"><span class="type-signature"></span>continuousMove<span class="signature">(options, callback)</span><span class="type-signature"></span></h4>
<div class="description">
/PTZ/ Operation for continuous Pan/Tilt and Zoom movements
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>options</code></td>
<td class="type">
</td>
<td class="description last">
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>profileToken</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
Cam#activeSource.profileToken
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>x</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
0
</td>
<td class="description last">pan velocity, float within 0 to 1</td>
</tr>
<tr>
<td class="name"><code>y</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
0
</td>
<td class="description last">tilt velocity, float within 0 to 1</td>
</tr>
<tr>
<td class="name"><code>zoom</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
0
</td>
<td class="description last">zoom velocity, float within 0 to 1</td>
</tr>
<tr>
<td class="name"><code>timeout</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
Infinity
</td>
<td class="description last">timeout in milliseconds</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="Cam_.html#~RequestCallback">Cam~RequestCallback</a></span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ptz.js.html">ptz.js</a>, <a href="ptz.js.html#line349">line 349</a>
</li></ul></dd>
</dl>
<h4 class="name" id="createProfile"><span class="type-signature"></span>createProfile<span class="signature">(options, callback)</span><span class="type-signature"></span></h4>
<div class="description">
Create an empty new deletable media profile
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>options</code></td>
<td class="type">
</td>
<td class="description last">
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>name</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
</td>
<td class="description last">Profile name</td>
</tr>
<tr>
<td class="name"><code>token</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">Profile token</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="Cam_.html#~MessageCallback">Cam~MessageCallback</a></span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="media.js.html">media.js</a>, <a href="media.js.html#line484">line 484</a>
</li></ul></dd>
</dl>
<h4 class="name" id="createPullPointSubscription"><span class="type-signature"></span>createPullPointSubscription<span class="signature">(callback)</span><span class="type-signature"></span></h4>
<div class="description">
Create pull-point subscription
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="events.js.html">events.js</a>, <a href="events.js.html#line85">line 85</a>
</li></ul></dd>
</dl>
<h4 class="name" id="deleteProfile"><span class="type-signature"></span>deleteProfile<span class="signature">(token, callback)</span><span class="type-signature"></span></h4>
<div class="description">
Delete a profile
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>token</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="Cam_.html#~MessageCallback">Cam~MessageCallback</a></span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="media.js.html">media.js</a>, <a href="media.js.html#line505">line 505</a>
</li></ul></dd>
</dl>
<h4 class="name" id="getAudioEncoderConfigurations"><span class="type-signature"></span>getAudioEncoderConfigurations<span class="signature">(callback)</span><span class="type-signature"></span></h4>
<div class="description">
Get all available audio encoder configurations of a device
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="media.js.html">media.js</a>, <a href="media.js.html#line326">line 326</a>
</li></ul></dd>
</dl>
<h4 class="name" id="getAudioOutputConfigurations"><span class="type-signature"></span>getAudioOutputConfigurations<span class="signature">(callback)</span><span class="type-signature"></span></h4>
<div class="description">
Get all existing audio output configurations of a device
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="media.js.html">media.js</a>, <a href="media.js.html#line392">line 392</a>
</li></ul></dd>
</dl>
<h4 class="name" id="getAudioOutputs"><span class="type-signature"></span>getAudioOutputs<span class="signature">(callback)</span><span class="type-signature"></span></h4>
<div class="description">
Get all available audio outputs of a device
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="media.js.html">media.js</a>, <a href="media.js.html#line370">line 370</a>
</li></ul></dd>
</dl>
<h4 class="name" id="getAudioSourceConfigurations"><span class="type-signature"></span>getAudioSourceConfigurations<span class="signature">(callback)</span><span class="type-signature"></span></h4>
<div class="description">
Get all existing audio source configurations of a device
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="media.js.html">media.js</a>, <a href="media.js.html#line348">line 348</a>
</li></ul></dd>
</dl>
<h4 class="name" id="getAudioSources"><span class="type-signature"></span>getAudioSources<span class="signature">(callback)</span><span class="type-signature"></span></h4>
<div class="description">
Get all available physical audio iutputs of a device
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="media.js.html">media.js</a>, <a href="media.js.html#line304">line 304</a>
</li></ul></dd>
</dl>
<h4 class="name" id="getCapabilities"><span class="type-signature"></span>getCapabilities<span class="signature">(callback<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
Receive cam capabilities
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="Cam_.html#~GetCapabilitiesCallback">Cam~GetCapabilitiesCallback</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="cam.js.html">cam.js</a>, <a href="cam.js.html#line371">line 371</a>
</li></ul></dd>
</dl>
<h4 class="name" id="getConfigurationOptions"><span class="type-signature"></span>getConfigurationOptions<span class="signature">(configurationToken, callback)</span><span class="type-signature"></span></h4>
<div class="description">
/PTZ/ Get options for the PTZ configuration
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>configurationToken</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="ty