View All docsVideo APIOverviewTechnical DetailsGetting StartedBuild Your SolutionHow-to GuidesMigration GuidesTwilio Migration GuidesOverviewAndroidiOSWebOpenTok Server SDK Transition GuidesRuby Server SDKJava Server SDK.NET Server SDKPHP Server SDKPython Server SDKNode Server SDKTransition from OpenTok to Vonage API DashboardBasic Video API FunctionalityCreate a SessionCreate a TokenJoin a SessionOverviewPublishing a StreamSubscribing to a StreamRecording VideosPublishing StreamsBasicsSettings & DevicesPreflight & PermissionsDiagnosticsSubscribe to StreamsBasicsQuality & AdaptationManagement & EventsDiagnosticsCustomizationSession CustomizationPublisher SettingsSubscriber SettingsFilters and EffectsCustom Video CapturingCustom Video RenderingCustom Audio DriverUI CustomizationGeneral customizationSwiftWeb OnlyDirectly accessing the video element for a Publisher or SubscriberDisplaying a custom UI element when Subscriber audio is blockedAdjusting video cropping and letterboxingHiding all built-in user interface controls for videosDisplaying or hiding the name in a videoSetting an image to display in audio-only modeSetting the initial position and dimensions of a videoAccessing MediaStream objectsAccessing MediaStream objects for SubscribersResizing or repositioning a videoGetting a snapshot image of a videoAdvanced FeaturesFrameworksAngularAstroReactSvelteVanillaJSVueMedia ProcessorOverviewAndroidiOSiOS (Swift)macOSReact NativeWebWindowsScreen SharingGeneral conceptsScreen sharing using the Web SDKAndroid code exampleiOS code exampleModerationVideo ModerationSignalingUse SignalingSecurityVerifying WebhooksTools & DebuggingDebugging Your ApplicationSession InspectorInsights APIException Handling - JavaScript SDKReferencesGlossaryREST API ReferenceClient SDKsAndroid SDKiOS SDKLinux SDKReact Native SDKWeb SDKWindows SDKmacOS SDKServer SDKOverview.NETJavaNodeJSPHPPythonRubyVideo Insights GraphQL APIvonage-video-expressOverviewDeveloper GuideSDK ReferenceRelease NotesUsage ReportsConceptual GuidesClient SDKsAndroidiOSLinuxReact NativewebWindowsmacOSBasic Video API FunctionalityAuthenticationSessionsConnection TokensAdvanced FeaturesArchivingOverviewCustomizing the video layout for composed archivesLayouts for composed archives and live streaming broadcastsAmazon S3 server-side encryptionArchive EncryptionArchiving using a Windows Azure containerArchiving using AWS S3Post Processing Composed ArchivesBroadcastOverviewLive Interactive Video BroadcastsLive streaming broadcastsLayouts for composed archives and live streaming broadcastsAI ConnectorsAudio ConnectorLive CaptionsSecuritySecuring Your AppAdvanced Media Stream Encryption (AES-256)End-to-End EncryptionNetworking & EnvironmentIP Allowed ListRestricted Network GuidelinesConfigurable TURN ServersRegional Media ZonesIP Proxy RoutingEU Proxy RoutingCodecs and ScalabilityVideo CodecsScalable VideoVP9 Scalable Video CodingAudio fallbackSignalingSession MonitoringServer Rotation and Session MigrationClient ObservabilityExperience ComposerSIP InterconnectAdditional ResourcesVideo Best PracticesEventsMobile Guidelines1080p VideoTutorialsBuilding a Chat AppCreating a Basic Video Chat AppCreating a Text Chat AppCustomizationCreating a Basic Video RendererCreating a Custom Audio DriverRelease NotesGeneral Release NotesSDK Release NotesAndroidiOSLinuxReact NativeWebWindowsmacOSOther Helpful ResourcesUse CasesOverviewOne-on-One Video with the Vonage Video APIMultiparty Video with Archiving with the Vonage Video APIBridging Phone Calls into Video MeetingsLive Broadcasting with the Vonage Video APIDeveloper ToolsOverviewArchive InspectorInsights GraphiQL ExplorerSession InspectorPlaygroundPre-Call TestCommunity Sample AppsPricingBilling & PaymentsGet help with ideas & developmentRelated Blog PostsVideo API Reference AppOverviewWebGetting StartedRelease NotesMobileAndroidGetting StartedRelease NotesiOSGetting StartedRelease NotesVideo + AIOverviewAudio ConnectorLive CaptionsPost-call TranscriptionsSupported Languages for Post-Call Transcriptions Navigation