Streaming for any website
Live Stream on Any Website, Replays Included
Copy the code. Paste it on your site. Go live.
You can add a live stream to any website that accepts an iframe. This includes replays from the same channel. For easier setup, use the ready-made options for WordPress, Shopify, Wix, or Astro.
Tonight's station broadcast
Playing on your websiteStream live video to your website in three steps
Copy the player code
Go to My Account > Live Channels. Choose the channel and find its embed card. The Web Embed tab has a "Copy code" button.
For recorded videos, use the Share card in My Account > Videos.
Paste it into your page
Put the snippet into the HTML block, code block, or custom code element of your site builder or CMS.
For hand-coded sites, paste it directly into the page's HTML where the player should display. No plugin is needed.
Broadcast from browser or encoder
You can go live using your browser or streaming software like OBS with a custom RTMP destination.
That's how easy it is to set up a live stream on your site. The player on your page will show the stream while the channel is live.
One player, any site that takes HTML
Add a player snippet to your website while WpStream hosts the player and delivers the stream. You do not need to run your own streaming server.
A video player for website owners, hosting included
A standalone player is a library a web developer installs to play a file or stream from elsewhere. WpStream works differently.
With WpStream, your live channel, streaming, recordings, and player come from one account. The player page is served from player.wpstream.net.
To run a live stream, you go live to a channel, WpStream carries the stream, and the snippet you paste frames the player.
Plans include broadcast, viewer, and recording hours. The pricing page covers video quality: hours are based on time, so better picture quality doesn’t cost more hours.
The code you paste depends on your site. Any HTML page can use the Web Embed iframe. The Astro package, Shopify app, and Wix app use a Content ID instead. WordPress requires the plugin.

Stations, churches, and
agencies that build their sites
Radio and TV Stations
Your live program plays on the station's site, regardless of its setup. Turn on "Record this stream" for shows your audience asks about. Each recording gets its own code, so last night's show can sit alongside tonight's live player.

Churches and Faith Broadcasters
The Sunday service streams on the church's site, pasted into a code block on their site builder. Record the service and post the replay for members who couldn’t attend.

Agencies and Web Developers
Drop the snippet into each client site, regardless of CMS. These steps also work for a club's match page or a studio's class page. If a client wants to sell tickets, use the WordPress route with WooCommerce.

Five Routes to a Live Stream on Your Website
Four routes start the same way: a live channel or recorded video in your WpStream dashboard. Copy the code from its embed or Share card. The fifth route uses the WordPress plugin.
Any HTML Site
Copy the iframe from the Web Embed tab and paste it where 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 and keeps a 16:9 shape. Squarespace, Webflow, and others 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 route offers pay-per-view, subscriptions through WooCommerce, a branded player skin and logo, and lists of your channels and videos.

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. This block plays live channels and recorded videos. The Shopify guide walks you through it.

Wix
Add the WpStream Live & Video app from the Wix App Market. Open the widget's Settings panel and paste the Content ID for Wix there. Wix has its own billing plans, including a free one, 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. This 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 accepts HTML. You need a WpStream account, a live channel, and edit access to the page.
The full embedding guide compares other ways to embed a live stream.

Channel
Open the live channel
Go to My Account > Live Channels. Open the channel you’ll broadcast to, or create a new one. New accounts have the embed card on the channel page with 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. This puts the whole iframe on your clipboard: the player address, size, and style attribute. For recordings, go to My Account > Videos, choose the video, and use the same tab on its Share card.

Paste
Paste it where HTML goes
Paste the snippet into an HTML block, code block, or directly 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 your browser or OBS. Then open the published page and watch the stream as visitors will see it. Some embeds only show up on the live site.
Check the page width on mobile before sharing the link.
Before You Publish the Page
Keep the style attribute
This holds max-width 100% and the 16:9 ratio. If an editor strips it, the size still keeps the player's shape, but it won’t shrink on narrow screens.
Add a title
MDN notes that assistive technology can use an iframe's title attribute. The snippet doesn’t include one, so add a title like 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 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 on WordPress
The dashboard's Auto play, Start muted, and Display viewer count settings apply only on WordPress. Pasted code plays without them.
Wix Shows HTTPS Only
Wix's help page states its embed element displays only HTTPS codes and URLs. The WpStream snippet 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 going live. After the stream ends, the recording appears 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, or 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. This is where the live stream goes. The table below lists the spot and plan needed from each builder's help page or the WpStream app listing.
Squarespace's help says iframes in code blocks need specific plans, and embed blocks want services that use the oEmbed standard. Use the code block for the snippet.
Webflow's Code Embed element needs specific plans and holds up to 50,000 characters.
The Shopify, Wix, and Astro routes run on the Content ID instead of HTML through their respective apps. WordPress uses the plugin method, 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. This includes 100 broadcast and 500 viewer hours a month, 200 viewers at once, 5 channels, and 25 recording hours. A $36 one-time pack doesn't expire.
Plus
Plus: $59 a month or $490 a year. This includes 250 broadcast and 2,000 viewer hours a month, 1,000 viewers at once, 15 channels, and 100 recording hours. An $89 one-time pack doesn't expire.
The trial
New accounts start with a free trial of 100 viewer hours, 20 broadcast hours, and 10 recording hours.
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, like the channel or program name. This helps users with assistive technology know what the frame contains.
06
The page was checked at phone width on the live site, not just in the builder’s preview. Some embeds only show up on the live site, as noted on Webflow’s help page.
07
A test broadcast played on the published page before the first real event. This used 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 code goes on the page, since the live code plays the channel, not the recording.
09
The client knows the pasted player is free for anyone who opens the page. Tickets or members-only viewing means using 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 site that isn't WordPress, pasted code and the Content ID show the player. That's all that's needed. Anyone who can open the page can watch.
There's no paywall or login check, whether the page is on Squarespace, Wix, Shopify, or a hand-coded site.
The dashboard's Auto play, Start muted, and Display viewer count toggles don’t affect pasted code today. On WordPress, the plugin passes them to the player.
The branded player skin, logo, and lists of your channels and videos are also plugin features.
Selling tickets, pay-per-view, or subscriptions? That runs through WooCommerce on WordPress with the WpStream plugin, which states: "Pay-per-view requires WooCommerce."
If a client needs paid access, WordPress is the site to build, while the pasted player remains 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 are 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 24/7 with the live streaming setup on a WordPress site using 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 Core, Plus, Advanced, Business, Commerce Basic, or Commerce Advanced plans.
On Webflow, it’s the Code Embed element on the Workspace and Site plans listed on its help page.
Wix has the WpStream Live & Video app, Shopify has the WpStream Video Player app, Astro uses the @wpstream/astro package, and WordPress uses 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 recordings, open My Account > Videos, select 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 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 live channel.
With Record this stream turned on, the recording shows up under Videos after the stream ends. It will have its own Share card, Web Embed code, and Content ID.
Paste that second code on the page when you want the replay there, next to or instead of the live player.
The WpStream player stays on the page but doesn’t play a stream until the channel is live.
Add a line of text next to the player with the date and time of the next broadcast.
This way, visitors who land on the page between broadcasts know when to return, and no one wonders if the site is broken.
No. When the player runs from pasted code or a Content ID integration, there’s no 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 affect a pasted iframe. On WordPress, the plugin passes them to the player.
Browsers have their own rules: Chrome’s autoplay policy says “Muted autoplay is always allowed,” while autoplay with sound is allowed only in certain cases.
Yes, if 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. This allows the player to shrink with its column and keep its shape.
If an editor strips the style, the 560 by 315 size still keeps the 16:9 shape, but the player won’t shrink on narrow screens.
Wix is the exception: its help page states that the Embed HTML element isn’t responsive, so use the WpStream Live & Video app there.
A Content ID is a string from the Content ID tabs on a WpStream channel’s embed card or a video’s Share card.
The Astro package, Shopify app, and Wix app take it instead of HTML. It tells the player which live channel or recorded video to show.
Each channel and recording has its own Content ID, just like each has its own iframe. Copy it exactly: do not decode or edit it by hand.
Ready when you are
Start your free trial
Try live broadcasting and replays on your website.