MARKETPLACE
PLUGINS
STREAMING/VIDEO CONFERENCE - MOBILE
Streaming/Video Conference - Mobile logo

Streaming/Video Conference - Mobile

Published September 2026
   β€’    Updated this month

Plugin details

πŸŽ₯ Amazing video conferencing and live streaming plugin for Bubble Native Mobile apps
Two elements in one plugin. Conference Room is a real video call β€” faces in a grid, whoever is speaking gets a ring, and a control bar for mute, camera, flip and hang up. Live Stream Player is the other half: one person broadcasts and everybody watches, with a LIVE badge, a Go to live button and no limit on how many people are in the audience.

This plugin is great for: video conferencing apps, online education platforms, live streaming apps, webinars, social apps, coaching platforms, telehealth, and remote collaboration tools

────────────────────────────────
🎬 DEMO
────────────────────────────────

DEMO: https://plugins-demo-2.bubbleapps.io/version-test/api/1.1/mobile/preview?debug_mode=true&preview_view=streaming_video
EDITOR: https://bubble.io/page?id=plugins-demo-2&app_type=mobile&tab=Design&name=streaming_video&type=page&elements=bTGli1

────────────────────────────────
πŸ“˜ DOCUMENTATION
────────────────────────────────

Please don’t forget to check our documentation to learn about all the plugin’s features and how to configure everything correctly.

We’ve created a comprehensive step-by-step guide with detailed instructions, images, and practical examples to make the setup process as simple and straightforward as possible.

We highly recommend going through the documentation before getting started.

πŸ“„ Documentation: https://wide-finch-c12.notion.site/Streaming-Video-Conference-Documentation-3de61f4cca3a80e4ada0f163e1d67cf5

Stuck on something, or need it to do something it does not do yet? Write to us at info@technocode.agency β€” a real person answers.

────────────────────────────────
RISK FREE TRIAL
────────────────────────────────

To try any plugin, simply subscribe to its monthly plan. Bubble's pro-rata billing ensures you only pay for the days you use it (e.g., only ~$0.27 per day for this $8/month plugin).

────────────────────────────────
✨ FEATURES
────────────────────────────────

βœ… Two-way video calls on iPhone and Android, inside your own app β€” not a browser window, not a redirect to another service.
βœ… Three layouts: Grid gives everyone the same size, Spotlight makes the speaker big, Filmstrip keeps a row of fixed-width tiles that runs past the edge so a dozen people stay readable.
βœ… A blue ring follows whoever is talking, and switches the moment someone else speaks.
βœ… A control bar drawn natively over the video β€” mute, camera, flip camera, layout and a red hang-up button. It moves like an app, not like a web page.
βœ… Glass, Solid or Floating control bar, in your accent colour, with any button hidden if you do not want it.
βœ… A check-yourself screen before joining β€” camera preview, microphone and camera switches, and your own title and button text. It is the cheapest thing you can add to stop calls that start badly, and almost nothing else ships with one.
βœ… Flip between front and back camera without the picture ever going black.
βœ… Sound-only mode for a weak connection, switchable mid-call without leaving the room.
βœ… Speaker or earpiece, and background noise filtered out of the microphone.
βœ… Connection quality on every tile, so a frozen picture reads as bad signal and not as a broken app.
βœ… Chat built into the call itself β€” send text through the video connection with no database and no extra service. Good for messages, raised hands or reactions.
βœ… Watch a screen shared from a computer: it arrives as a tile and goes big on its own.
βœ… A refused camera is explained, not black β€” its own event, its own message, and your workflow decides what to say.
βœ… Reconnects by itself when the signal drops, and tells your workflow when it goes and when it comes back.

βœ… Live broadcasts with no WebView at all β€” the player uses the phone's own video engine, so it holds any number of viewers and costs a fraction of a video call per person.
βœ… It knows a broadcast from a recording and changes what it shows: a red LIVE badge for one, a running time for the other. You give it one address and it works the rest out.
βœ… A Go to live button that actually works β€” the player measures how far behind you have fallen and jumps exactly that far, instead of guessing.
βœ… Keeps playing in the background with controls on the lock screen, and pops out into a floating window.
βœ… A stream that has not started is not an error: it shows your own message over the cover image and quietly retries on its own until it goes live.
βœ… The replay is free β€” when the broadcast ends, the same address serves the recording, and the same element plays it with a scrub bar.
βœ… A viewer count beside the LIVE badge, fed from your own data and formatted for you: 1,200 shows as 1.2K.
βœ… Works with any HLS provider β€” Cloudflare Stream, Mux, Bunny, LiveKit egress or your own server. Change provider later without touching your app.
βœ… Full screen, mute, scrub and quality, with controls that fade out and come back on a tap.

βœ… Both elements take your colours β€” accent, background, corner radius and spacing β€” so the video looks like your app and not like a stock widget.
βœ… Built-in diagnostics: one checkbox writes what is really happening over the video, including the last action received and whether it found the element. A support question has an answer instead of a guess.

────────────────────────────────
πŸ”§ FULL WORKFLOW CONTROL
────────────────────────────────

βœ… 38 states β€” who is in the room, who is speaking, connection state and quality, call duration, microphone and camera status, last message and sender, permission status, and for the player: live or not, seconds behind live, position, duration, buffering, full screen, picture in picture.
βœ… 25 events β€” connected, disconnected, participant joined, participant left, active speaker changed, message received, permission denied, reconnecting, reconnected, screen share started and stopped, and for the player: playback started, paused, ended, stream offline, stream recovered, fell behind live, returned to live, and more.
βœ… 28 actions β€” Join, Leave, Toggle Microphone, Toggle Camera, Switch Camera, Set Layout, Spotlight Participant, Send Message, Set Audio Output, Set Video Quality, Set Audio Only, Mute Participant For Me, Play, Pause, Go To Live, Seek To, Set Source, Enter Fullscreen, Picture In Picture, and the rest.
βœ… Or build no buttons at all β€” both elements come with controls that already work, and you only reach for the actions when you want your own design.

────────────────────────────────
πŸ“Œ GOOD TO KNOW
────────────────────────────────

βœ… For Bubble native mobile apps, iPhone and Android.
βœ… Nothing to install: it uses the libraries the mobile runtime already ships.
βœ… The video calls run on LiveKit, which is open source and has a free tier of 5,000 minutes a month. You can also self-host it.
βœ… The broadcasts need no account from us and no account from you β€” just an address ending in .m3u8 from whichever provider you like.
βœ… A phone cannot share its own screen. That needs native system libraries Bubble does not open to plugins. Watching a screen shared from a computer works and is built in.
βœ… A video call does not survive the app going to the background β€” the phone freezes it. The broadcast player does not have this limit.
βœ… About nine live videos at once is what a phone can carry. Past that, people are still in the room and still heard. For a bigger audience, broadcast instead β€” that is what the second element is for.


πŸ“„ Documentation: https://wide-finch-c12.notion.site/Streaming-Video-Conference-Documentation-3de61f4cca3a80e4ada0f163e1d67cf5
Questions or something you need it to do? Get in touch β€” info@technocode.agency

$80

One time  β€’  Or  $8/mo

stars   β€’   0 ratings
0 installs  
This plugin does not collect or track your personal data.

Platform

Native mobile

Contributor details

Technocode logo
Technocode
Joined 2020   β€’   23 Plugins
View contributor profile

Instructions

πŸŽ₯ Streaming & Video Conference β€” setup
There are two elements and they are set up very differently. Pick the one you need β€” most apps only need one.

────────────────────────────────
πŸ“Ί LIVE BROADCASTS
────────────────────────────────

Start here. It needs no account and no server.

1. Drop the element on a page
Drag Live Stream Player onto a mobile page and set player_height to around 220. Without a height it measures zero and you see nothing.

2. Give it an address
Paste a broadcast address into stream_url. It ends in .m3u8. To try it right now, use this public test broadcast:
https://demo.unified-streaming.com/k8s/live/stable/live.isml/.m3u8

3. Open it in BubbleGo
It plays, with a red LIVE badge. That is the whole setup.

When you want your own broadcasts, open an account with Cloudflare Stream, Mux or Bunny. The person broadcasting sends video from their computer with free software like OBS, and the service gives you the address for stream_url.

────────────────────────────────
πŸ“ž VIDEO CALLS
────────────────────────────────

A video call needs a pass, called a token, that says who a person is and which room they may join. It is signed with a secret that must never live inside your app, so a small server makes it. We give you that server β€” you copy and paste it.

1. Create a LiveKit account
Go to cloud.livekit.io and make a project. Free plan: 5,000 minutes a month.
Write down three things:
  • The server address β€” at the top of your project's front page, like wss://yourproject.livekit.cloud. It is not in Settings, which is where everyone looks.
  • The API key and API secret β€” Settings β†’ Keys. The secret is shown once only, so copy it right away.

2. Deploy the token server
Go to dash.cloudflare.com β†’ Compute β†’ Workers. (Cloudflare renamed this from "Workers & Pages", so ignore any guide that says otherwise.)
Create a Worker from the Hello World example, open Edit code, delete everything and paste the code from our documentation. Click Deploy.

3. Add three values to the Worker
Settings β†’ Runtime variables and secrets:
  • LIVEKIT_API_KEY β€” type Variable
  • LIVEKIT_API_SECRET β€” type Secret
  • APP_SHARED_SECRET β€” type Secret, any long random string you invent
Then click Deploy again. Variables do not reach the code until you do, and this is the step people miss.

4. Connect Bubble to it
Install the API Connector plugin. Add an API called LiveKit with one call:
POST to your Worker address, header x-app-secret with your shared secret, and this JSON body:
{"room":"<room>","identity":"<identity>","name":"<name>"}
Untick Private on all three parameters, fill in test values and hit Initialize.

5. Allow the camera and microphone
In your app's mobile settings, turn on Camera and Microphone with a sentence saying why. Apple rejects generic wording.

6. Place the element
Drag Conference Room onto a page. Fill in server_url, point token at wherever your page stores the token, and set element_height to 480.

7. Get the token when someone enters
On your Enter button: run LiveKit - Get room token, then set a page state to the result's token. With auto_join on, the room joins by itself the moment the token arrives.

That's it. Two people in the same room name see and hear each other.

────────────────────────────────
πŸ’‘ TIPS
────────────────────────────────

  • Use Current User's unique id as the identity. If two people join with the same one, LiveKit throws the first one out β€” it looks like a bug and is not.
  • Want the check-yourself screen before joining? Tick show_prejoin. The title and button fields do nothing until you do.
  • Do not build mute and hang-up buttons. They are already drawn over the video. Turn show_control_bar off only if you want your own design.
  • last_message means the last message received. Your own messages never come back to you β€” add them to your chat yourself when you send.
  • Testing alone? Generate a second token with a different identity and open meet.livekit.io/custom in a browser tab as the other person.
  • For a webinar, send "can_publish": false for the audience. They watch and listen but cannot turn their camera on.
  • A broadcast with no signal shows your offline_message and retries on its own. That is not an error, so do not treat it as one.
  • Always test on a real phone with BubbleGo. The browser preview uses a fallback and is only good for laying out the screen.

Types

This plugin can be found under the following types:
Element   β€’   Event   β€’   Action

Categories

This plugin can be found under the following categories:
Chart   β€’   Productivity   β€’   Visual Elements

Resources

Support contact
Documentation
Tutorial

Rating and reviews

No reviews yet

This plugin has not received any reviews.
Bubble