HD Video Calls
The WebSocket version enables HD 1-on-1 video calls between users using WebRTC technology. Initiate from any conversation. Quality is high (720p+ on capable networks), latency is low, and screen sharing is available during the call.
Video calls are a WebSocket-version feature. For multi-party video, see group video chat.
What it adds#
- 1-on-1 HD video calls between any two users in any conversation
- WebRTC peer-to-peer streaming — media travels directly between participants when possible
- Low latency, high-quality video (adaptive 720p+) and audio (Opus codec)
- Screen sharing available during the call
- Initiate calls with one click from the conversation header
- Works in all modern browsers (Chrome, Firefox, Edge, Safari, mobile equivalents)
- Built-in call UI with mute, camera toggle, hang up, and timer
- Device settings to test and pick the camera, microphone and speaker, with background blur, virtual backgrounds and AI Noise Removal
- Keyboard shortcuts for every control
- Steady sound and video on weak connections, and a clear sign when someone's video or sound stops arriving
How it works#
When a user clicks the Video Call button:
- The WebSocket relay carries SDP and ICE signaling between the two browsers
- The browsers negotiate codecs and establish a direct WebRTC peer connection
- Video and audio streams flow peer-to-peer between the participants
- If direct P2P fails (corporate firewall, symmetric NAT), a TURN relay forwards the encrypted streams
| Network scenario | What happens |
|---|---|
| Normal home/office network | Direct peer-to-peer. Minimal latency |
| One participant behind a strict firewall | TURN relay forwards encrypted media |
| Both behind corporate proxies | TURN relay (slight added latency) |
All media is DTLS-SRTP encrypted between participants even when relayed.
Device settings#
The Device Settings button in the call controls, the gear (Alt+C, ⌥C on a Mac), opens Device Settings over the call, in one-to-one calls and group calls alike:
- Camera: Preview shows the camera in its row, only to the person testing it, with Only you see this on it. While the camera is on in the call it says Everyone sees this, and it shows the camera as everyone sees it even where the person hides their own picture in the call
- Background: none, blur, a picture, or a picture of their own, with Effect Settings to tune the edge. See video effects
- Microphone: Test shows its level while they speak, and nobody else hears it. Play Back plays the same seconds back, without and then with AI Noise Removal where it is on
- AI Noise Removal: takes typing, fans and other sounds out of the microphone. See video effects
- Speaker: Test plays a short sound
- Each device in use is a field under its name, and pressing the field opens the menu of the browser with the others, so a headset or another camera can be picked during the call
- A line under the camera and the microphone says whether the other person sees and hears them, or in a group call whether everyone does, and why not when the browser blocks a device or a moderator muted the microphone
Nothing in the settings sends the camera or the microphone to the call. They go live only from the camera and microphone buttons of the call controls, so a test is never shown to the others by mistake. The browser asks for its permission only when the person presses a button, never as the call opens. Where the browser blocks a device, the settings say so, with Allow Access or Try Again.
The browser keeps the background and AI Noise Removal for the next calls.
Keyboard shortcuts#
Every control of a call has a keyboard shortcut: Alt (⌥ Option on a Mac) and a letter. Each is named in the tooltip of its button, or at the end of its row in More. The shortcuts never act while the person is typing in a field, such as the reply box beside the call.
| Shortcut | What it does |
|---|---|
| Alt+A | Turns the microphone on or off |
| Alt+V | Turns the camera on or off |
| Alt+Y | Raises or lowers a hand |
| Alt+S | Shares the screen |
| Alt+U | Shows the participants |
| Alt+C | Opens the device settings |
| Alt+H | Shows or hides the chat |
| Alt+E | Expands the call |
| Alt+F | Takes the call to the whole screen |
| Alt+M | Opens Host Controls, for moderators |
| Alt+O | Opens More |
| Alt+P | Starts picture in picture |
| Alt+I | Adds a person |
| Alt+J | Answers a ringing call |
| Alt+B | Switches the camera of a phone |
| Alt+R | Starts or stops the recording, after asking |
| Alt+Q | Leaves the call, after asking |
| Hold Space | Talks while muted, as long as it is held |
A shortcut works only where its control is offered, so Host Controls answers moderators only, and recording only where it is turned on. The letters follow the position of the key, so they work on keyboards in other languages too.
Talking while muted#
Someone who mutes their microphone and then starts talking is told so. Two switches, both on by default, control it:
- WP Admin → Better Messages → Settings → Calls → Talking While Muted for one-to-one calls
- WP Admin → Better Messages → Settings → Group Calls → During the Call → Talking While Muted for group video and audio chats
With the switch on:
- When someone talks with their microphone muted, a You are muted pill appears above the call controls, with an Unmute button and a × that hides it for the rest of the call
- It needs about half a second of speech, so a quiet room, a cough or typing does not show it, and neither does sound heard while someone else in the call is speaking
- It does not show to someone a moderator muted, or to a listener in broadcast mode, as they cannot unmute themselves
- It starts only once the person had their microphone on in the call and muted it. Someone who joins a group chat with the microphone off did not mute it, so no microphone opens for the hint
To notice talking, the microphone has to stay open on the device of the person while they are muted. The sound is only measured in their browser and never reaches the call or any server until they press Unmute. The browser still sees an open microphone, though, and keeps its microphone or recording icon on while they stay muted, as video meeting apps with the same hint do. Some people read that as still being recorded. With the switch off, muting turns the microphone off completely and no hint shows.
- It opens only a microphone the browser has already allowed for the site, so it never brings up a permission prompt
- Unmute, the ×, or leaving the call closes that microphone
- The native mobile apps do not show the hint: muting there always turns the microphone off completely
Video interrupted and reconnecting#
When the video or the sound of someone stops arriving, the call says so within seconds, instead of a frozen picture until they leave:
- Video interrupted, over their blurred last picture, or over their avatar where no picture came, while their video does not arrive. It comes back by itself
- Reconnecting... when their sound stopped too
This works in one-to-one and group calls, in the browser and in the mobile app. On a connection that cannot carry everyone's video, a group call pauses videos and keeps the sound, and says so.
One-to-one calls also hold out better on weak connections. The microphone is sent with redundant audio, so a lost packet is played from the next one instead of breaking up the voice. The browser holds the picture a moment before it plays, longer while it keeps freezing and shorter once it plays smoothly, with the sound kept in step. When the connection of one side stalls for a while, as on a weak mobile network, the call waits for it and stays directly between the two.
On an upload too slow for both the sound and the picture, in one-to-one and group calls alike, the microphone gives way to the camera, so the picture freezes less. It goes back once the upload recovers.
When 1-on-1 video calls fit#
| Use case | Pattern |
|---|---|
| Coaching session | Coach-client face-to-face session in the existing thread |
| Customer support escalation | Video helps when explaining visual problems |
| Marketplace high-value deals | Buyer wants to see the product / vendor in person |
| Telemedicine consultation | Practitioner-patient with optional screen-share for charts/notes |
| Sales / consulting demo | Demo a product with screen-share during the call |
| Dating community | Video call as a verification / connection step |
Requirements#
- Website must use HTTPS (browsers require secure context for camera + microphone)
- Each participant needs a working webcam + microphone
- Modern browser with WebRTC support
- WebSocket-version license
Frequently asked questions#
Why does the call fail on HTTP sites?#
Browsers block camera and microphone access on non-HTTPS pages — a security requirement. There's no workaround. HTTPS is mandatory.
Can I restrict who can place video calls?#
Yes — WP Admin → Better Messages → Settings → Calls has per-role permissions. Common pattern: paid members can call, free members can't.
What if the recipient is offline?#
The caller sees a "user offline" notice. Better Messages doesn't queue ringing for offline users.
Are calls recorded?#
One-to-one calls are never recorded. Group calls can be recorded by moderators where the site turns it on, and everyone in the call is told. See Call recording.
Can I blur my background or use a virtual background?#
Yes, in the device settings of the call, where the site has downloaded the effects. See Video effects.
Does video quality adapt to poor networks?#
Yes — WebRTC adapts bitrate and resolution automatically based on bandwidth. Even on cellular, calls remain usable. For very poor connections, the video may downgrade to audio-only briefly.
Does the mobile app support video calls?#
Yes. Video calls work in the browser on phones and tablets, and the native iOS and Android apps have their own call screens, with the device settings, the moderator controls and calls that ring like a phone call. See Calls in the mobile app.
See also#
- Audio calls (1-on-1) — voice-only equivalent
- Group video chat — multi-party
- Group audio chat — multi-party voice
- Screen sharing — during video calls
- Video effects — background blur, virtual backgrounds and AI Noise Removal
- Calls in the mobile app — the app's own call screens
- WordPress video chat plugin blog post — feature overview
- How to add video chat to a WordPress site — every way to do it, compared





