How to hide HTML5 video controls completely
How to hide HTML5 video controls: an HTML video with no controls, blocking the context menu, disabling single buttons with controlsList, and what each browser honours.
Senior DevOps Engineer at Meetrix
Builds and scales the cloud infrastructure Meetrix customers run on.
Hiruna is the senior DevOps engineer at Meetrix, responsible for the infrastructure customers actually run on. He builds and maintains the AWS Marketplace AMIs and Google Cloud images the company ships, packages new open source products for both marketplaces, and keeps that catalogue patched, reproducible and working after each upstream release.
A good part of his week is customer engineering rather than product work. He handles large-scale Jitsi Meet deployments, on AWS and Google Cloud as much as on-premise, which means scaling videobridges, sizing the media path and keeping the thing stable once real load arrives. On-premise brings its own constraints on top: firewalled networks, restricted systems, hardened Linux hosts and security review, with the Docker setup, the TLS and reverse proxy layer and the identity integration all on his side.
He is an AI enthusiast, and what he actually does with it is build tooling. Using Claude Code and similar, he has automated the repetitive end of getting a product to market: packaging it, shipping it and publishing the listing to the AWS and Google Cloud marketplaces, work that used to be done by hand every single time.
He studied Computer Science at the University of Moratuwa. The deployment guides he writes here come out of the same infrastructure work.
Most recently published Sep 2026. Newest first.
How to hide HTML5 video controls: an HTML video with no controls, blocking the context menu, disabling single buttons with controlsList, and what each browser honours.
Fix VcpuLimitExceeded on EC2. How AWS vCPU quotas are counted, what an applied account-level quota value of 0 means, and how to increase the vCPU limit in the console or CLI.
Useful React libraries we still use: Material UI, the best React toolbar options, dnd kit vs React DnD, React-Bootstrap, Recharts and routing.
How to record a Zoom meeting on a laptop: Zoom's local recording, what to do when you're not the host, built-in Windows and Mac recorders, and audio.
CSS has child selector explained: style a parent by its children with :has(), direct child vs descendant, selecting all children, and browser support.
Benefits of Ansible automation in practice: agentless, idempotent playbooks, repeatable deploys, what Automation Platform adds, and where Terraform fits.
Openfire video conferencing with the ofmeet plugin, and how to connect Jibri to record and stream it: Jicofo brewery, toolbar buttons and base-url.
Jitsi Meet APK guide: get the official Jitsi APK, use the Android SDK instead, or build a branded Jitsi Meet Android app with your own server.
Jitsi FAQ from a team that runs it: participant limits, webinars, encryption and E2EE, recording, Jitsi vs Zoom and Google Meet, server requirements.
Jitsi Meet Terraform scripts for JVB and Jibri autoscaling on AWS: what the code builds, how bridges register and drain, and keeping big meetings cheap.
Jitsi SSL certificate renewal: check expiry, how acme.sh or certbot renews Let's Encrypt, why renewal fails, and renewing multi-shard setups.
Monitor the Jitsi video bridge with AWS CloudWatch: read JVB stats, publish participants, conferences and stress level as metrics, and set useful alarms.
How to set a billing alarm in AWS: enable CloudWatch billing alerts, create the alarm in us-east-1, fix missing notifications, or use AWS Budgets.
Set up a GitLab CI/CD pipeline for Jitsi deployment: build the customized Jitsi Meet front end, deploy to staging on push and production on tags, over SSH.
Serve Jitsi Meet by region: Route 53 latency or geolocation routing to shards, userRegion in config.js, and region-based bridge selection with relays.
Useful tools to create and edit YouTube content on a small budget: screen recorders, free video editors, audio cleanup, thumbnails and captions.
Useful CSS functions with examples: calc() for mixed units, var() for themes, clamp(), min() and max() for fluid sizes, and cubic-bezier() timing.
Git for dummies: the basic Git commands for beginners in the order you use them, what branches, commits, merges and pull requests are, and how to undo mistakes.
Set up Jitsi LDAP authentication with Prosody and saslauthd for OpenLDAP or Active Directory: how the LDAP login flow works, LDAPS, guests and group filters.
3 dots CSS guide: add three dots with text-overflow: ellipsis, fix it inside flexbox and grid, clamp text to a few lines, and use the HTML codes for 3 dots.
Jitsi Meet install guide: how to install Jitsi Meet on Ubuntu 22.04, 24.04 or 26.04, with firewall, Prosody repo, Let's Encrypt and Videobridge NAT setup.
Jitsi load testing with Malleus from Jitsi Meet Torture on Selenium Grid 4: build fake-media browser images, run a Jitsi test at scale and read the results.
XMPP stanza guide: what XMPP is, how JIDs and streams work, message, presence and iq stanzas with examples, XMPP server options and how Jitsi uses it.
WebRTC getUserMedia guide: access camera and mic devices with navigator.mediaDevices, set WebRTC constraints, switch devices, handle errors and stub tests.
What the components of responsive web design include: viewport, fluid grids, responsive elements, media and container queries, and the sizes that matter.
Set up Jitsi SSO with Okta over SAML: Jitsi Meet token authentication, the Okta SAML app, and the middleware that turns an Okta login into a JWT Jitsi accepts.
How Jibri recording works in Jitsi Meet: the brewery room, the Chrome and ffmpeg capture, Jitsi Jibri recording quality settings, streaming and scaling.
Jitsi Meet horizontal scaling: add multiple videobridges to a shard with jvb.conf, tune Jicofo bridge selection, and route rooms across shards with HAProxy.
How to screen record without downloading anything: the built-in recorders on Windows, macOS, ChromeOS and phones, browser recording, and screen sharing too.
A checklist for hiring Jitsi Meet support: capacity evidence, cloud account ownership, security defaults, upgrades, handover and vendor lock-in red flags.
Openfire Ubuntu install for 22.04, 24.04 and 26.04: Java 17, the .deb package, PostgreSQL or MySQL 8, the setup wizard over SSH, and the ports to open.
Stop Jitsi Meet servers outside working hours: the savings math, what keeps billing, ASG scheduled actions, EC2 schedules, and the safe morning start order.
BigBlueButton install on AWS EC2 with bbb-install: system requirements, instance type, security group and IPv6, the HTML5 client, Greenlight and TURN options.
Jitsi scaling on AWS: videobridge Auto Scaling groups driven by bridge stress, graceful scale-in with lifecycle hooks, a Jibri pool, and what to monitor.
What a WebRTC signaling server does, the open source options, and how to build a signaling server for WebRTC with Node.js and ws behind nginx and TLS.
Fix jitsi-meet ERR_CONNECTION_REFUSED after install on Debian, plus 'You have been disconnected', videobridgeNotAvailable, certificate and camera errors.
Jitsi recording without a server: enable Jitsi Meet local recording in config.js, record a Jitsi meeting from Chrome, and know when you need Jibri instead.
A WebRTC troubleshooter guide: read Chrome WebRTC internals and dumps, Firefox about:webrtc and Safari WebRTC logs, and test whether users can reach TURN.
How to run Jibri recording for Jitsi Meet on an internal network with no public domain and no trusted certificate, using jibri.conf instead of the old source patches.
A jicofo configuration error is nearly always one of four values: xmpp-domain, the auth domain, the brewery MUC JID, or jvb.conf. Here is how to tell which one.
Learn how to integrate JSON Web Tokens (JWT) with Jitsi Meet for enhanced security, authentication, and access control in your video conferencing platform.
How the Jitsi Meet architecture fits together: Nginx, Jicofo, Prosody, the Jitsi Videobridge (JVB), Jigasi, Jibri, and the React frontend, and how the Jitsi Videobridge architecture routes media between participants.
We load-tested the Jitsi Meet limit for a single shard: how many users a single conference can hold, the hardware and bandwidth requirements at scale, and whether Jitsi has a low-bandwidth mode.
How Jitsi Meet authentication works: JWT token authentication (the current default), the deprecated Secure Domain method, LDAP, and SSO/OIDC through an identity provider like Keycloak.
Upgrading the Jitsi infrastructure within the same domain can significantly enhance your video conferencing system. However, during such upgrades, users often encounter cache issues from the previous setup.
Discover Meetrix's powerful transcription engine for accurate, real-time speech-to-text conversion in video conferencing and multimedia applications.
How to embed Jitsi Meet with the IFrame API: the constructor options that matter, the events worth listening for, the commands you can send into a call, and the cleanup step most integrations forget.
How to wire AWS Step Functions to Lambda: invoking functions, reading the Lambda return value, passing data between Lambdas, and scheduling work that fires hours later.
A Jitsi Kubernetes deployment lives or dies on JVB networking. How UDP 10000, hostPort, Octo relay, and bridge selection strategy actually fit together.
Set up a Jitsi SIP gateway with Jigasi on Ubuntu 24.04. Add dial-in and dial-out telephony to Jitsi Meet, pick a SIP provider, and fix the common errors.
Compare all 8 Meetrix Jitsi Meet products on the GCP Marketplace by concurrent capacity, server architecture (how many JVBs and Jibri VMs), recording, and which plan actually fits your team.
Deploy and self-host Jitsi Meet on Google Cloud Platform with our step-by-step developer guide. Launch from the GCP Marketplace, point your domain, secure it with SSL, and manage the server for reliable, high-performance video conferencing.
Is Jitsi Meet end-to-end encrypted? How DTLS-SRTP and E2EE work in Jitsi, how to turn on end-to-end encryption, its browser support and limits, and how it compares to Zoom and Signal.
Step-by-step Jibri setup for Jitsi Meet recording and live streaming on Ubuntu 22.04: Prosody and Jicofo configuration, jibri.conf, S3 uploads, Docker, and troubleshooting.
Learn how to deploy and configure a Coturn TURN/STUN server on Google Cloud Platform using the Meetrix pre-configured GCP image. This guide covers deployment, SSL setup, Coturn configuration, testing, and troubleshooting.
Deploy OpenClaw on AWS with our step-by-step guide. Configure, optimize, and secure it as an autonomous AI agent framework.
Deploy Llama 4 on AWS with our step-by-step guide. Learn how to launch, configure, secure with SSL, and operate it reliably in your AWS environment.
A comprehensive guide to deploying, configuring, and optimizing Mattermost on AWS for secure and scalable team collaboration.
Discover how to install and set up Nextcloud on AWS with our detailed developer guide. Nextcloud is an open-source, self-hosted file storage and sync platform with powerful collaboration tools.
Welcome to the Meetrix Authentik Developer Guide! Authentik is an open-source Identity Provider designed for flexibility and versatility, making it an excellent choice for implementing sign-up, recovery, and other authentication features in your application. In this guide, we'll walk you through the step-by-step process of setting up Authentik from the AWS Marketplace. Let's dive in!
Learn how to install and configure Strapi on AWS with our step-by-step developer guide. This guide covers everything from setting up the environment to optimizing your Strapi deployment for scalability and performance in the cloud.
Discover how to install and configure Llama 3 on AWS with our comprehensive developer guide. From initial setup to advanced configurations, this guide equips you with everything you need to successfully deploy Llama 3 and maximize its potential for your applications.
A comprehensive guide to setting up Jitsi Meet with recording capabilities on AWS, including detailed steps for deployment, configuration, and management.
A comprehensive guide to integrating Rustdesk into your AWS environment.
A step-by-step guide on how to update SSL certificates for Jitsi Meet and TURN servers in Kubernetes deployments.
Hiruna Kumara is a Senior DevOps Engineer at Meetrix, with 65 published articles on the Meetrix blog. Senior DevOps engineer at Meetrix. Builds and maintains the AWS and Google Cloud marketplace images the company ships, and handles large-scale Jitsi deployments on AWS, GCP and on-premise.
Mainly Development, Collaboration, IAM & Security. Development makes up the largest share of the work, with 47 published articles.
Yes. Meetrix maintains production images for AWS Marketplace and Google Cloud Marketplace, and the guides published here are written while deploying those products on live infrastructure. Screenshots and command output come from that run rather than from vendor documentation.
Technical claims are checked against our own deployments and reviewed by the engineer who maintains the relevant image before an article goes live. Corrections are applied to the article itself, and the publish date moves with any substantive update.
Email support@meetrix.io with the article URL and your question. If a step no longer works, tell us which one - that is how most of our updates get triggered.