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.

How it runs

Stream live video to your website in three steps

01 · Copy

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.

02 · Paste

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.

03 · Go Live

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.

Player on Your Page

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.

Player and Platform

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.

Developer working on a website and its embedded content

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.

Presenter recording a show with a camera and microphone

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.

Camera recording a church broadcast

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.

Developer comparing a website on a laptop and monitor

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.

Developer working on website code
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.

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

Shop owner presenting products on camera
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.

Web designer reviewing a page layout
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.

Source code in a website development editor

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.

Site owner reviewing a website layout

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.

Hands editing code on a laptop

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.

Code displayed on a development computer

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.

Presenter recording a broadcast on camera

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.

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.

PlatformWhere the code goesPlan neededNotes
Platform: Any HTML site or custom appWhere the code goes: Web Embed iframe in the page HTMLPlan needed: None on the site sideNotes: Keep the style attribute
Platform: SquarespaceWhere the code goes: Web Embed iframe in a Code blockPlan needed: Core, Plus, Advanced, Business, Commerce Basic or Commerce Advanced planNotes: Embed blocks want oEmbed; use a Code block
Platform: WebflowWhere the code goes: Web Embed iframe in a Code Embed elementPlan needed: Core, Growth, Agency or Freelancer Workspace, or a Site planNotes: 50,000-character limit; some embeds show only on the live site
Platform: WixWhere the code goes: WpStream Live & Video app, or Embed HTMLPlan needed: Free plan in the app; Wix bills its own plansNotes: Wix says Embed HTML isn't responsive; prefer the app
Platform: ShopifyWhere the code goes: WpStream Video Player app block, with the Content ID for ShopifyPlan needed: Free app; an Online Store 2.0 themeNotes: One block plays live and recorded video
Platform: AstroWhere the code goes: WpStreamPlayer component from @wpstream/astro, with the Content ID for AstroPlan needed: Astro 4 or newerNotes: Installed as an npm package
Pricing Plans

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.

FeaturePasted code or Content IDWordPress plugin
Feature: Live channels and recorded videosPasted code or Content ID: Yes, from the Web Embed tab or a Content IDWordPress plugin: Yes, through the player block, shortcode or widget
Feature: Where the player sits and its sizePasted code or Content ID: You set it in the page or site builderWordPress plugin: WpStream Player block, shortcode, Elementor or WPBakery element
Feature: Autoplay, start muted, viewer countPasted code or Content ID: Dashboard toggles don't apply todayWordPress plugin: Passed to the player by the plugin
Feature: Pay-per-view and subscriptionsPasted code or Content ID: No viewer paywall: anyone who opens the page can watchWordPress plugin: Pay-per-view and subscriptions with WooCommerce
Feature: Branded player skin and logoPasted code or Content ID: NoWordPress plugin: Yes, a branded skin and logo
Feature: Channel and video lists on a pagePasted code or Content ID: NoWordPress plugin: List shortcodes for channels and for videos

More on streaming to websites

Questions

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.