> For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

# startStream

> startStream method for the RoomSession class.

### startStream

* **startStream**(): `Promise<RoomSessionStream>` - See [RoomSessionStream documentation](/docs/browser-sdk/v3/js/reference/video/room-session-stream) for more details.

Starts streaming the audio/video of this room to an external service. You can
use the returned [RoomSessionStream](/docs/browser-sdk/v3/js/reference/video/room-session-stream) object to
interact with the stream.

#### Parameters

**`params`** `object`

Object containing the parameters of the method.

---

**`url`** `string`

RTMP or RTMPS url. This must be the address of a server accepting incoming RTMP/RTMPS streams.

---

#### Returns

`Promise<RoomSessionStream>` - See [RoomSessionStream documentation](/docs/browser-sdk/v3/js/reference/video/room-session-stream) for more details.

#### Permissions

* `room.stream` (or the more specific `room.stream.start`)

You need to specify the permissions when [creating the Video Room Token](/docs/apis/rest/video/room-tokens/create-room-token) on the server side.

#### Example

```javascript
const stream = await roomSession.startStream({ url: "rtmp://example.com" });

// Stop the stream after 60 seconds
setTimeout(() => stream.stop(), 60000);
```