*** id: 37a798cc-097f-4527-a88c-54a04b5b6c2b title: Video sidebar-title: Overview position: 0 slug: /node/reference/video description: >- Access the Video API for building video conferencing applications. Manage room sessions, members, recordings, playback, and RTMP streaming. max-toc-depth: 3 ---------------- [video-client-1]: /docs/server-sdk/v3/node/reference/video/client [video-client]: /docs/server-sdk/v3/node/reference/video/client/events Access the Video API Consumer. You can instantiate a [Video.Client][video-client-1] to subscribe to Video events. Make sure to check the [full list of events][video-client] that a [Video.Client][video-client-1] can subscribe to. #### Example The following example logs whenever a room session is started or a user joins it: ```javascript import { Video } from "@signalwire/realtime-api"; const video = new Video.Client({ project, token }); // Listen for events: video.on("room.started", async (roomSession) => { console.log("Room has started:", roomSession.name); roomSession.on("member.joined", async (member) => { console.log("Member joined:", member.name); }); }); // Get active room sessions: const { roomSessions } = await video.getRoomSessions(); ``` ## Classes The main Video client for subscribing to room events and monitoring video sessions. Represents an active video room session with methods for managing members, recordings, and playback. Extended room session object containing the complete state including all members and metadata. Represents a participant in a video room with properties for audio/video state and metadata. Represents a playback instance in a video room for playing media content. Represents a recording instance in a video room with methods to control recording state. Represents an RTMP stream from a video room for streaming to external platforms.