Streaming for any website
Live Stream on Any Website, Replays Included
Copy the code. Paste it on your site. Go live.
Put a live stream on any website that accepts an iframe, with replays from the same channel, or take the ready-made route for WordPress, Shopify, Wix or Astro.
Tonight's station broadcast
Playing on your own websiteStream live video to your website in three steps
Copy the player code
Open My Account > Live Channels, pick the channel and find its embed card. The Web Embed tab has a Copy code button.
For a recorded video, use the Share card under My Account > Videos.
Paste it into your page
Drop the snippet into the HTML block, code block or custom-code element of your site builder or CMS.
On a hand-coded site, paste it straight into the page's HTML, where the player should sit. There's no plugin to install.
Go live from browser or encoder
Broadcast from the browser, or from streaming software with a custom RTMP destination such as OBS.
That's the whole setup for a live stream on your website: the player on your page plays it while the channel is on air.
One player, any site that takes HTML
WpStream hosts the player page at player.wpstream.net and runs the stream.
The snippet on your site only frames that page, so a live stream on your website needs no video library and no streaming server of your own.
A video player for website owners, hosting included
A standalone player is the kind of library a web developer installs: it plays a file or a stream you already host somewhere else. WpStream works the other way round.
The live channel, the streaming, the recordings and the player come in one account, and the player page is served from player.wpstream.net.
To run a live stream on your website, you go live to a channel, WpStream carries the stream, and the snippet you paste on your page frames the hosted player.
Plans count broadcast, viewer and recording hours. The pricing page answers the video quality question: hours are based on time only, so a sharper picture doesn't cost more hours.
Which code you paste depends on your site. Any HTML page takes the Web Embed iframe.
The Astro package, the Shopify app and the Wix app take a Content ID instead, and WordPress gets the plugin.
Stations, churches and
the agencies that build their sites
Radio and TV stations
Your live program plays on the station's own site, whatever it's built on: a custom CMS, a site builder or plain HTML.
Turn on Record this stream for the shows your audience asks about.
Each recording gets its own code, so last night's show can sit on the program page next to tonight's live player.

Churches and faith broadcasters
The Sunday service plays on the church's site, pasted into a code block on whatever site builder the volunteers already use.
Record the service, then post the replay on the page for members who couldn't be there in person.

Agencies and web developers
Drop the snippet into each client site, in whatever CMS it runs. The same steps work for a club's match page or a studio's class page.
When a client asks to sell tickets, the answer is the WordPress route, with WooCommerce.

Five routes to a live stream on your website
Four routes start in the same place: a live channel or a recorded video in your WpStream dashboard, with the code copied from its embed card or Share card.
The fifth is the WordPress plugin.
Any HTML site
Copy the iframe from the Web Embed tab and paste it wherever the site accepts HTML: a hand-coded page, a custom app, or the HTML element of your CMS or page builder.
The player opens at 560 by 315 pixels, shrinks with its column and keeps a 16:9 shape. Squarespace, Webflow and the rest are in the table below.

WordPress
Install the WpStream plugin and place the player with the WpStream Player block, an Elementor or WPBakery element, or a shortcode.
This is the only route with pay-per-view, subscriptions through WooCommerce, a branded player skin and logo, and lists of your channels and videos on a page.

Shopify
Install the free WpStream Video Player app.
It adds a theme app block for Online Store 2.0 themes: place the block in the theme editor, paste the Content ID for Shopify and save.
The same block plays live channels and recorded videos. The step-by-step Shopify guide walks through it.

Wix
Add the WpStream Live & Video app from the Wix App Market and open the widget's Settings panel. Paste the Content ID for Wix there.
Wix bills the app's own plans, a free one included, separate from wpstream.net.

Astro
Install @wpstream/astro from npm, import the WpStreamPlayer component and pass the Content ID for Astro as its contentId prop.
The package needs Astro 4 or newer and plays live channels and recorded videos. The Astro guide covers the setup in more detail.

Put the player on any HTML page
Four steps to stream live video to your website, on any page that takes HTML. You need a WpStream account, a live channel and edit access to the page.
The full embedding guide compares the other ways to embed a live stream.

Channel
Open the live channel
Go to My Account > Live Channels and open the channel you'll broadcast to, or create one.
On new accounts, the embed card on the channel page holds the Web Embed code, open by default, and three Content IDs.

Copy
Copy the Web Embed code
Click Copy code on the Web Embed tab. That puts the whole iframe on your clipboard: the player address, a 560 by 315 size and a style attribute.
For a recording, open My Account > Videos, pick the video and use the same tab on its Share card.

Paste
Paste it where HTML goes
Paste the snippet into an HTML block, a code block, a custom-code element or straight into the page source. Keep the style attribute as it is. It matters on phones.

Live
Go live and check the page
Start broadcasting to the channel from the browser or from OBS.
Then open the published page and watch the stream the way visitors will, not only in the editor preview: some embeds show up only on the live site, as Webflow's help page notes.
Check the page at phone width too, before you send the link to anyone.
Before you publish the page
Keep the style attribute
It holds max-width 100% and the 16:9 ratio. If an editor strips it, the 560 by 315 size still keeps the player's shape, but the player stops shrinking on narrow screens.
Add a title
MDN notes that people using assistive technology can use an iframe's title attribute to label its content. The snippet ships without one, so add a title such as your channel name.
Give it room
The player opens 560 pixels wide and shrinks to fit a narrower column. Want it bigger? Raise the width value in the code.
As long as the style attribute stays on the iframe, the height follows the 16:9 ratio.
One code per channel or video
Each live channel and each recording has its own code. To change what plays on the page, paste a different code or Content ID in place of the old one.
Settings stay on WordPress
The dashboard's Auto play, Start muted and Display viewer count toggles apply on WordPress only. Pasted code plays without them.
Wix shows HTTPS only
Wix's help page says its embed element displays only HTTPS codes and URLs. The WpStream snippet already points at an https address, so paste it unchanged.
Live, then replay
Record the live, post the replay
Turn on Record this stream while the channel is stopped, before you go live.
After the stream ends, the recording shows up under Videos with its own Share card, carrying its own Web Embed code and Content ID.
Paste that code on the page, next to the live player or in its place: a program page for a station, a sermon page for a church, a class page for a studio.
Two codes, one channel: the live stream and its replay.
Video unavailable. Please try again later.
Where to paste
Where does the code go on your site builder?
Most site builders have a box for raw HTML, each with its own name, and that box is where the live stream on your website goes.
The table below lists the spot and the plan it needs, taken from each builder's help page or the WpStream app listing. That's the builder's rule, not WpStream's.
Squarespace's help center says iframes in code blocks need a Core, Plus, Advanced, Business, Commerce Basic or Commerce Advanced plan, and that embed blocks want services that use the oEmbed standard.
So the code block is the spot for the snippet. Webflow's Code Embed element needs a Core, Growth, Agency or Freelancer Workspace, or a Site plan, and holds up to 50,000 characters.
The Shopify, Wix and Astro routes run on the Content ID instead of HTML, through the WpStream app block, the WpStream Live & Video app and the Astro package.
WordPress uses the plugin, not a paste, so it isn't in the table.
| Platform | Where the code goes | Plan needed | Notes |
|---|---|---|---|
| Platform: Any HTML site or custom app | Where the code goes: Web Embed iframe in the page HTML | Plan needed: None on the site side | Notes: Keep the style attribute |
| Platform: Squarespace | Where the code goes: Web Embed iframe in a Code block | Plan needed: Core, Plus, Advanced, Business, Commerce Basic or Commerce Advanced plan | Notes: Embed blocks want oEmbed; use a Code block |
| Platform: Webflow | Where the code goes: Web Embed iframe in a Code Embed element | Plan needed: Core, Growth, Agency or Freelancer Workspace, or a Site plan | Notes: 50,000-character limit; some embeds show only on the live site |
| Platform: Wix | Where the code goes: WpStream Live & Video app, or Embed HTML | Plan needed: Free plan in the app; Wix bills its own plans | Notes: Wix says Embed HTML isn't responsive; prefer the app |
| Platform: Shopify | Where the code goes: WpStream Video Player app block, with the Content ID for Shopify | Plan needed: Free app; an Online Store 2.0 theme | Notes: One block plays live and recorded video |
| Platform: Astro | Where the code goes: WpStreamPlayer component from @wpstream/astro, with the Content ID for Astro | Plan needed: Astro 4 or newer | Notes: Installed as an npm package |
Every live stream on your website is metered in hours, by time only.
Lite
Lite, $24 a month or $190 a year: 100 broadcast and 500 viewer hours a month, 200 viewers at once, 5 channels, 25 recording hours; a $36 one-time pack of the same hours doesn't expire.
By our math, a weekly 2-hour service watched in full by 50 viewers uses 8 to 10 broadcast and 400 to 500 viewer hours a month.
A five-Sunday month takes all 500 viewer hours, so a watched test broadcast that month would go over. Recording each service fills the recording hours in about three months.
Plus
Plus, $59 a month or $490 a year: 250 broadcast and 2,000 viewer hours a month, 1,000 viewers at once, 15 channels, 100 recording hours; an $89 one-time pack of the same hours doesn't expire.
By our math, an agency's 3 client channels, each with a weekly 1-hour event watched in full by 100 viewers, use 12 to 15 broadcast and 1,200 to 1,500 viewer hours a month.
Stored recordings grow about 13 hours a month, filling the 100 recording hours in about seven to eight months.
The trial
New accounts start on a free trial with 100 viewer, 20 broadcast and 10 recording hours and all features. Building on Wix?
The WpStream app there has its own plans, billed by Wix. See the pricing page.
Launch check for a client site
Nine checks an agency or web developer runs before handing the page over to the client.
Run them on the published page, not in the editor, and run them before the first real broadcast, not during it.
Nine checks before launch
01
The channel page shows the Web Embed tab with a code in it. New accounts get the embed code and the Content IDs.
If the Web Embed tab or the Content ID tabs are empty, or the code doesn’t point at player.wpstream.net, contact WpStream support before launch day.
02
The client’s plan on the site builder allows iframes or custom code. Squarespace and Webflow both tie this to specific plans, so check the builder’s own help page.
03
The code sits in an HTML, code or custom-code block, not a text block.
Use the element your builder names for HTML or code, then confirm the player shows on the published page.
04
The style attribute survived the editor. Inspect the player on the published page: max-width 100% and the 16:9 ratio should still be on the iframe.
05
A title attribute names the player, for example the channel or program name, so people using assistive technology know what the frame holds.
06
The page was checked at phone width on the published site, not only in the builder’s preview, since some embeds show up only on the live site, as Webflow’s help page notes.
07
A test broadcast played on the published page before the first real event, from the same browser or encoder setup the client will use on the day.
08
Record this stream is on if the client wants replays. After each event, the recording’s own code goes on the page, because the live code plays the channel, not the recording.
09
The client knows the pasted player is free to watch for anyone who opens the page. Tickets or members-only viewing mean the WordPress route.
Nine checks, and the client's page is ready for the first broadcast.
WordPress-only
What stays on WordPress, and why sellers go there
For a live stream on any website that isn't WordPress, pasted code and the Content ID show the player, and that's the whole job. Anyone who can open the page can watch.
There's no viewer paywall and no login check, whether the page lives on Squarespace, Wix, Shopify or a hand-coded site.
The dashboard's Auto play, Start muted and Display viewer count toggles don't reach pasted code today. On WordPress, the plugin passes them to the player.
The branded player skin and logo, and the lists of your channels and videos on a page, are plugin features too.
Selling tickets, pay-per-view or subscriptions? That runs through WooCommerce on WordPress, with the WpStream plugin, whose page says: "Pay-per-view requires WooCommerce."
If a client needs paid access, WordPress is the site to build, and the pasted player stays the free-to-watch option.
| Feature | Pasted code or Content ID | WordPress plugin |
|---|---|---|
| Feature: Live channels and recorded videos | Pasted code or Content ID: Yes, from the Web Embed tab or a Content ID | WordPress plugin: Yes, through the player block, shortcode or widget |
| Feature: Where the player sits and its size | Pasted code or Content ID: You set it in the page or site builder | WordPress plugin: WpStream Player block, shortcode, Elementor or WPBakery element |
| Feature: Autoplay, start muted, viewer count | Pasted code or Content ID: Dashboard toggles don't apply today | WordPress plugin: Passed to the player by the plugin |
| Feature: Pay-per-view and subscriptions | Pasted code or Content ID: No viewer paywall: anyone who opens the page can watch | WordPress plugin: Pay-per-view and subscriptions with WooCommerce |
| Feature: Branded player skin and logo | Pasted code or Content ID: No | WordPress plugin: Yes, a branded skin and logo |
| Feature: Channel and video lists on a page | Pasted code or Content ID: No | WordPress plugin: List shortcodes for channels and for videos |
More on streaming to websites
Complete Guide To Embedding Live Streaming Videos On Your Website (2026)
Five methods compared for a live stream on your website: self-hosting on WordPress, a YouTube or Facebook embed, a plain iframe and a raw HLS player.
How to Add Live Video to Shopify
Add live or recorded video to a Shopify store with one app block and one Content ID, step by step in the theme editor.
How to Set Up 24/7 Live Streaming on Your Website
Keep a station's channel on air around the clock: the 24/7 live streaming setup on a WordPress site with WpStream.
Live stream on any website: questions
Any site that accepts an iframe or custom HTML can carry the live stream. On Squarespace that’s a code block on a Core, Plus, Advanced, Business, Commerce Basic or Commerce Advanced plan.
On Webflow it’s the Code Embed element on the Workspace and Site plans its help page lists.
Wix has the WpStream Live & Video app, Shopify the WpStream Video Player app, Astro the @wpstream/astro package, and WordPress the plugin.
Open My Account > Live Channels, pick the channel and go to its embed card. The Web Embed tab is open by default: click Copy code.
For a recording, open My Account > Videos, pick the video and use its Share card. New accounts get the embed code and the three Content IDs in both places.
If the Web Embed tab or the Content ID tabs are empty, or the code doesn’t point at player.wpstream.net, contact WpStream support.
No. The WpStream channel’s code plays the channel.
With Record this stream turned on, the recording shows up under Videos after the stream ends, with its own Share card, its own Web Embed code and its own Content ID.
Paste that second code on the page when you want the replay there, next to the live player or instead of it.
The WpStream player stays on the page, and it doesn’t play a stream until the channel is on air.
Add a line of page text next to the player with the date and time of the next broadcast.
That way, people who land on the page between broadcasts know when to come back, and nobody wonders whether the site is broken.
No. When the player runs from pasted code or a Content ID integration, there’s no viewer paywall: anyone who can open the page can watch.
Pay-per-view and subscriptions run through WooCommerce on a WordPress site with the WpStream plugin, which checks each viewer’s purchase before the player plays.
If you need to charge for access, build that page on WordPress.
Not today. The Auto play, Start muted and Display viewer count toggles in the WpStream dashboard don’t reach a pasted iframe. On WordPress, the plugin passes them to the player.
Browsers add their own rules: Chrome’s autoplay policy says “Muted autoplay is always allowed”, while autoplay with sound is allowed only in the cases that policy lists.
Yes, when the builder keeps the code’s inline style.
The snippet sets 560 by 315 pixels plus max-width 100% and a 16:9 aspect ratio, so the player shrinks with its column and keeps its shape.
If an editor strips the style, the 560 by 315 size still keeps the 16:9 shape, but the player stops shrinking on narrow screens.
Wix is the exception to plan for: its help page says the Embed HTML element isn’t responsive, so use the WpStream Live & Video app there.
A Content ID is one string from the Content ID tabs on a WpStream channel’s embed card or a video’s Share card.
The Astro package, the Shopify app and the Wix app take it instead of HTML, and it tells the player which live channel or recorded video to show.
Each channel and each recording has its own Content ID, just as each has its own iframe. Copy it exactly as it is: you never decode it or edit it by hand.
Ready when you are
Start your free trial
Try live broadcasting and replays on your website.