[Yellowstone](../README.md) > ["RTSPClient"](../modules/_rtspclient_.md) > [RTSPClient](../classes/_rtspclient_.rtspclient.md)

# Class: RTSPClient

## Hierarchy

 `EventEmitter`

**↳ RTSPClient**

↳  [ONVIFClient](_onvifclient_.onvifclient.md)

## Index

### Constructors

* [constructor](_rtspclient_.rtspclient.md#constructor)

### Properties

* [_cSeq](_rtspclient_.rtspclient.md#_cseq)
* [_client](_rtspclient_.rtspclient.md#_client)
* [_keepAliveID](_rtspclient_.rtspclient.md#_keepaliveid)
* [_nextFreeInterleavedChannel](_rtspclient_.rtspclient.md#_nextfreeinterleavedchannel)
* [_nextFreeUDPPort](_rtspclient_.rtspclient.md#_nextfreeudpport)
* [_session](_rtspclient_.rtspclient.md#_session)
* [_unsupportedExtensions](_rtspclient_.rtspclient.md#_unsupportedextensions)
* [_url](_rtspclient_.rtspclient.md#_url)
* [clientSSRC](_rtspclient_.rtspclient.md#clientssrc)
* [headers](_rtspclient_.rtspclient.md#headers)
* [isConnected](_rtspclient_.rtspclient.md#isconnected)
* [messageBytes](_rtspclient_.rtspclient.md#messagebytes)
* [password](_rtspclient_.rtspclient.md#password)
* [readState](_rtspclient_.rtspclient.md#readstate)
* [rtspContentLength](_rtspclient_.rtspclient.md#rtspcontentlength)
* [rtspHeaders](_rtspclient_.rtspclient.md#rtspheaders)
* [rtspPacket](_rtspclient_.rtspclient.md#rtsppacket)
* [rtspPacketLength](_rtspclient_.rtspclient.md#rtsppacketlength)
* [rtspPacketPointer](_rtspclient_.rtspclient.md#rtsppacketpointer)
* [rtspStatusLine](_rtspclient_.rtspclient.md#rtspstatusline)
* [username](_rtspclient_.rtspclient.md#username)
* [defaultMaxListeners](_rtspclient_.rtspclient.md#defaultmaxlisteners)

### Methods

* [_emptyReceiverReport](_rtspclient_.rtspclient.md#_emptyreceiverreport)
* [_netConnect](_rtspclient_.rtspclient.md#_netconnect)
* [_onData](_rtspclient_.rtspclient.md#_ondata)
* [_sendInterleavedData](_rtspclient_.rtspclient.md#_sendinterleaveddata)
* [_sendUDPData](_rtspclient_.rtspclient.md#_sendudpdata)
* [addListener](_rtspclient_.rtspclient.md#addlistener)
* [close](_rtspclient_.rtspclient.md#close)
* [connect](_rtspclient_.rtspclient.md#connect)
* [emit](_rtspclient_.rtspclient.md#emit)
* [eventNames](_rtspclient_.rtspclient.md#eventnames)
* [getMaxListeners](_rtspclient_.rtspclient.md#getmaxlisteners)
* [listenerCount](_rtspclient_.rtspclient.md#listenercount)
* [listeners](_rtspclient_.rtspclient.md#listeners)
* [off](_rtspclient_.rtspclient.md#off)
* [on](_rtspclient_.rtspclient.md#on)
* [once](_rtspclient_.rtspclient.md#once)
* [pause](_rtspclient_.rtspclient.md#pause)
* [play](_rtspclient_.rtspclient.md#play)
* [prependListener](_rtspclient_.rtspclient.md#prependlistener)
* [prependOnceListener](_rtspclient_.rtspclient.md#prependoncelistener)
* [rawListeners](_rtspclient_.rtspclient.md#rawlisteners)
* [removeAllListeners](_rtspclient_.rtspclient.md#removealllisteners)
* [removeListener](_rtspclient_.rtspclient.md#removelistener)
* [request](_rtspclient_.rtspclient.md#request)
* [respond](_rtspclient_.rtspclient.md#respond)
* [setMaxListeners](_rtspclient_.rtspclient.md#setmaxlisteners)
* [listenerCount](_rtspclient_.rtspclient.md#listenercount-1)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new RTSPClient**(username: *`string`*, password: *`string`*, headers: *`object`*): [RTSPClient](_rtspclient_.rtspclient.md)

*Defined in [RTSPClient.ts:77](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L77)*

**Parameters:**

| Name | Type |
| ------ | ------ |
| username | `string` |
| password | `string` |
| headers | `object` |

**Returns:** [RTSPClient](_rtspclient_.rtspclient.md)

___

## Properties

<a id="_cseq"></a>

###  _cSeq

**● _cSeq**: *`number`* = 0

*Defined in [RTSPClient.ts:49](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L49)*

___
<a id="_client"></a>

### `<Optional>` _client

**● _client**: *`net.Socket`*

*Defined in [RTSPClient.ts:48](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L48)*

___
<a id="_keepaliveid"></a>

### `<Optional>` _keepAliveID

**● _keepAliveID**: *`any`*

*Defined in [RTSPClient.ts:53](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L53)*

___
<a id="_nextfreeinterleavedchannel"></a>

###  _nextFreeInterleavedChannel

**● _nextFreeInterleavedChannel**: *`number`* = 0

*Defined in [RTSPClient.ts:54](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L54)*

___
<a id="_nextfreeudpport"></a>

###  _nextFreeUDPPort

**● _nextFreeUDPPort**: *`number`* = 5000

*Defined in [RTSPClient.ts:55](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L55)*

___
<a id="_session"></a>

### `<Optional>` _session

**● _session**: *`undefined` \| `string`*

*Defined in [RTSPClient.ts:52](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L52)*

___
<a id="_unsupportedextensions"></a>

### `<Optional>` _unsupportedExtensions

**● _unsupportedExtensions**: *`string`[]*

*Defined in [RTSPClient.ts:50](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L50)*

___
<a id="_url"></a>

### `<Optional>` _url

**● _url**: *`undefined` \| `string`*

*Defined in [RTSPClient.ts:47](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L47)*

___
<a id="clientssrc"></a>

###  clientSSRC

**● clientSSRC**: *`number`* =  generateSSRC()

*Defined in [RTSPClient.ts:77](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L77)*

___
<a id="headers"></a>

###  headers

**● headers**: *`object`*

*Defined in [RTSPClient.ts:41](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L41)*

#### Type declaration

[key: `string`]: `string`

___
<a id="isconnected"></a>

###  isConnected

**● isConnected**: *`boolean`* = false

*Defined in [RTSPClient.ts:43](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L43)*

___
<a id="messagebytes"></a>

###  messageBytes

**● messageBytes**: *`number`[]* =  []

*Defined in [RTSPClient.ts:61](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L61)*

___
<a id="password"></a>

###  password

**● password**: *`string`*

*Defined in [RTSPClient.ts:40](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L40)*

___
<a id="readstate"></a>

###  readState

**● readState**: *[ReadStates](../enums/_rtspclient_.readstates.md)* =  ReadStates.SEARCHING

*Defined in [RTSPClient.ts:57](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L57)*

___
<a id="rtspcontentlength"></a>

###  rtspContentLength

**● rtspContentLength**: *`number`* = 0

*Defined in [RTSPClient.ts:66](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L66)*

___
<a id="rtspheaders"></a>

###  rtspHeaders

**● rtspHeaders**: *[Headers](../modules/_rtspclient_.md#headers)*

*Defined in [RTSPClient.ts:68](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L68)*

___
<a id="rtsppacket"></a>

###  rtspPacket

**● rtspPacket**: *`Buffer`* =  new Buffer("")

*Defined in [RTSPClient.ts:73](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L73)*

___
<a id="rtsppacketlength"></a>

###  rtspPacketLength

**● rtspPacketLength**: *`number`* = 0

*Defined in [RTSPClient.ts:72](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L72)*

___
<a id="rtsppacketpointer"></a>

###  rtspPacketPointer

**● rtspPacketPointer**: *`number`* = 0

*Defined in [RTSPClient.ts:74](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L74)*

___
<a id="rtspstatusline"></a>

###  rtspStatusLine

**● rtspStatusLine**: *`string`* = ""

*Defined in [RTSPClient.ts:67](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L67)*

___
<a id="username"></a>

###  username

**● username**: *`string`*

*Defined in [RTSPClient.ts:39](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L39)*

___
<a id="defaultmaxlisteners"></a>

### `<Static>` defaultMaxListeners

**● defaultMaxListeners**: *`number`*

*Inherited from EventEmitter.defaultMaxListeners*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:18*

___

## Methods

<a id="_emptyreceiverreport"></a>

###  _emptyReceiverReport

▸ **_emptyReceiverReport**(): `Buffer`

*Defined in [RTSPClient.ts:673](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L673)*

**Returns:** `Buffer`

___
<a id="_netconnect"></a>

###  _netConnect

▸ **_netConnect**(hostname: *`string`*, port: *`number`*): `Promise`<`Object`>

*Defined in [RTSPClient.ts:97](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L97)*

**Parameters:**

| Name | Type |
| ------ | ------ |
| hostname | `string` |
| port | `number` |

**Returns:** `Promise`<`Object`>

___
<a id="_ondata"></a>

###  _onData

▸ **_onData**(data: *`Buffer`*): `void`

*Defined in [RTSPClient.ts:507](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L507)*

**Parameters:**

| Name | Type |
| ------ | ------ |
| data | `Buffer` |

**Returns:** `void`

___
<a id="_sendinterleaveddata"></a>

###  _sendInterleavedData

▸ **_sendInterleavedData**(channel: *`number`*, buffer: *`Buffer`*): `void`

*Defined in [RTSPClient.ts:647](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L647)*

**Parameters:**

| Name | Type |
| ------ | ------ |
| channel | `number` |
| buffer | `Buffer` |

**Returns:** `void`

___
<a id="_sendudpdata"></a>

###  _sendUDPData

▸ **_sendUDPData**(host: *`string`*, port: *`number`*, buffer: *`Buffer`*): `void`

*Defined in [RTSPClient.ts:665](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L665)*

**Parameters:**

| Name | Type |
| ------ | ------ |
| host | `string` |
| port | `number` |
| buffer | `Buffer` |

**Returns:** `void`

___
<a id="addlistener"></a>

###  addListener

▸ **addListener**(event: *`string` \| `symbol`*, listener: *`function`*): `this`

*Inherited from EventEmitter.addListener*

*Overrides EventEmitter.addListener*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:20*

**Parameters:**

| Name | Type |
| ------ | ------ |
| event | `string` \| `symbol` |
| listener | `function` |

**Returns:** `this`

___
<a id="close"></a>

###  close

▸ **close**(isImmediate?: *`boolean`*): `Promise`<`this`>

*Defined in [RTSPClient.ts:482](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L482)*

**Parameters:**

| Name | Type | Default value |
| ------ | ------ | ------ |
| `Default value` isImmediate | `boolean` | false |

**Returns:** `Promise`<`this`>

___
<a id="connect"></a>

###  connect

▸ **connect**(url: *`string`*, __namedParameters?: *`object`*): `Promise`<`any`>

*Defined in [RTSPClient.ts:149](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L149)*

**Parameters:**

**url: `string`**

**`Default value` __namedParameters: `object`**

| Name | Type | Default value |
| ------ | ------ | ------ |
| connection | "udp" \| "tcp" | &quot;udp&quot; |
| keepAlive | `boolean` | true |

**Returns:** `Promise`<`any`>

___
<a id="emit"></a>

###  emit

▸ **emit**(event: *`string` \| `symbol`*, args: *`any`[]*): `boolean`

*Inherited from EventEmitter.emit*

*Overrides EventEmitter.emit*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:32*

**Parameters:**

| Name | Type |
| ------ | ------ |
| event | `string` \| `symbol` |
| `Rest` args | `any`[] |

**Returns:** `boolean`

___
<a id="eventnames"></a>

###  eventNames

▸ **eventNames**(): `Array`<`string` \| `symbol`>

*Inherited from EventEmitter.eventNames*

*Overrides EventEmitter.eventNames*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:33*

**Returns:** `Array`<`string` \| `symbol`>

___
<a id="getmaxlisteners"></a>

###  getMaxListeners

▸ **getMaxListeners**(): `number`

*Inherited from EventEmitter.getMaxListeners*

*Overrides EventEmitter.getMaxListeners*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:29*

**Returns:** `number`

___
<a id="listenercount"></a>

###  listenerCount

▸ **listenerCount**(type: *`string` \| `symbol`*): `number`

*Inherited from EventEmitter.listenerCount*

*Overrides EventEmitter.listenerCount*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:34*

**Parameters:**

| Name | Type |
| ------ | ------ |
| type | `string` \| `symbol` |

**Returns:** `number`

___
<a id="listeners"></a>

###  listeners

▸ **listeners**(event: *`string` \| `symbol`*): `Function`[]

*Inherited from EventEmitter.listeners*

*Overrides EventEmitter.listeners*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:30*

**Parameters:**

| Name | Type |
| ------ | ------ |
| event | `string` \| `symbol` |

**Returns:** `Function`[]

___
<a id="off"></a>

###  off

▸ **off**(event: *`string` \| `symbol`*, listener: *`function`*): `this`

*Inherited from EventEmitter.off*

*Overrides EventEmitter.off*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:26*

**Parameters:**

| Name | Type |
| ------ | ------ |
| event | `string` \| `symbol` |
| listener | `function` |

**Returns:** `this`

___
<a id="on"></a>

###  on

▸ **on**(event: *`string` \| `symbol`*, listener: *`function`*): `this`

*Inherited from EventEmitter.on*

*Overrides EventEmitter.on*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:21*

**Parameters:**

| Name | Type |
| ------ | ------ |
| event | `string` \| `symbol` |
| listener | `function` |

**Returns:** `this`

___
<a id="once"></a>

###  once

▸ **once**(event: *`string` \| `symbol`*, listener: *`function`*): `this`

*Inherited from EventEmitter.once*

*Overrides EventEmitter.once*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:22*

**Parameters:**

| Name | Type |
| ------ | ------ |
| event | `string` \| `symbol` |
| listener | `function` |

**Returns:** `this`

___
<a id="pause"></a>

###  pause

▸ **pause**(): `Promise`<`this`>

*Defined in [RTSPClient.ts:473](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L473)*

**Returns:** `Promise`<`this`>

___
<a id="play"></a>

###  play

▸ **play**(): `Promise`<`this`>

*Defined in [RTSPClient.ts:464](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L464)*

**Returns:** `Promise`<`this`>

___
<a id="prependlistener"></a>

###  prependListener

▸ **prependListener**(event: *`string` \| `symbol`*, listener: *`function`*): `this`

*Inherited from EventEmitter.prependListener*

*Overrides EventEmitter.prependListener*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:23*

**Parameters:**

| Name | Type |
| ------ | ------ |
| event | `string` \| `symbol` |
| listener | `function` |

**Returns:** `this`

___
<a id="prependoncelistener"></a>

###  prependOnceListener

▸ **prependOnceListener**(event: *`string` \| `symbol`*, listener: *`function`*): `this`

*Inherited from EventEmitter.prependOnceListener*

*Overrides EventEmitter.prependOnceListener*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:24*

**Parameters:**

| Name | Type |
| ------ | ------ |
| event | `string` \| `symbol` |
| listener | `function` |

**Returns:** `this`

___
<a id="rawlisteners"></a>

###  rawListeners

▸ **rawListeners**(event: *`string` \| `symbol`*): `Function`[]

*Inherited from EventEmitter.rawListeners*

*Overrides EventEmitter.rawListeners*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:31*

**Parameters:**

| Name | Type |
| ------ | ------ |
| event | `string` \| `symbol` |

**Returns:** `Function`[]

___
<a id="removealllisteners"></a>

###  removeAllListeners

▸ **removeAllListeners**(event: *`string` \| `symbol`*): `this`

*Inherited from EventEmitter.removeAllListeners*

*Overrides EventEmitter.removeAllListeners*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:27*

**Parameters:**

| Name | Type |
| ------ | ------ |
| `Optional` event | `string` \| `symbol` |

**Returns:** `this`

___
<a id="removelistener"></a>

###  removeListener

▸ **removeListener**(event: *`string` \| `symbol`*, listener: *`function`*): `this`

*Inherited from EventEmitter.removeListener*

*Overrides EventEmitter.removeListener*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:25*

**Parameters:**

| Name | Type |
| ------ | ------ |
| event | `string` \| `symbol` |
| listener | `function` |

**Returns:** `this`

___
<a id="request"></a>

###  request

▸ **request**(requestName: *`string`*, headersParam?: *[Headers](../modules/_rtspclient_.md#headers)*, url: *`undefined` \| `string`*): `Promise`<`object` \| `void`>

*Defined in [RTSPClient.ts:339](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L339)*

**Parameters:**

| Name | Type | Default value |
| ------ | ------ | ------ |
| requestName | `string` | - |
| `Default value` headersParam | [Headers](../modules/_rtspclient_.md#headers) |  {} |
| `Optional` url | `undefined` \| `string` | - |

**Returns:** `Promise`<`object` \| `void`>

___
<a id="respond"></a>

###  respond

▸ **respond**(status: *`string`*, headersParam?: *[Headers](../modules/_rtspclient_.md#headers)*): `void`

*Defined in [RTSPClient.ts:443](https://github.com/mbullington/yellowstone/blob/702293d/lib/RTSPClient.ts#L443)*

**Parameters:**

| Name | Type | Default value |
| ------ | ------ | ------ |
| status | `string` | - |
| `Default value` headersParam | [Headers](../modules/_rtspclient_.md#headers) |  {} |

**Returns:** `void`

___
<a id="setmaxlisteners"></a>

###  setMaxListeners

▸ **setMaxListeners**(n: *`number`*): `this`

*Inherited from EventEmitter.setMaxListeners*

*Overrides EventEmitter.setMaxListeners*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:28*

**Parameters:**

| Name | Type |
| ------ | ------ |
| n | `number` |

**Returns:** `this`

___
<a id="listenercount-1"></a>

### `<Static>` listenerCount

▸ **listenerCount**(emitter: *`EventEmitter`*, event: *`string` \| `symbol`*): `number`

*Inherited from EventEmitter.listenerCount*

*Defined in /Users/spider/Documents/OWS/Development/Souzou/ag888-dev/yellowstone/node_modules/@types/node/events.d.ts:17*

**Parameters:**

| Name | Type |
| ------ | ------ |
| emitter | `EventEmitter` |
| event | `string` \| `symbol` |

**Returns:** `number`

___

