Skip to content
Launch offer: Free installation on every Extended license this month! Shop now
  1. Home
  2. Blog
  3. How to Add Live TV to Website With M3U8 and HLS Streams

How to Add Live TV to Website With M3U8 and HLS Streams

A beginner-friendly guide to adding live TV channels to your website with M3U8 links and HLS players, plus tips on legal streams, hosting and OTT scripts.

November 01, 2026 7 min read Tutorials
How to Add Live TV to Website With M3U8 and HLS Streams

If you want to add live TV to website pages for your business, community or media brand, the good news is that it is easier than most people think. With an M3U8 link and a free HLS player, you can show a live channel in a few minutes. In this guide, we explain what you need, how it works and how to grow from one channel to a full streaming platform.

We will keep things simple, so even if you are new to websites, you can follow along step by step.

What Do M3U8 and HLS Mean?

Before you start, it helps to understand two words you will see everywhere in live streaming.

HLS (HTTP Live Streaming)

HLS is a streaming method that breaks live video into small chunks, usually a few seconds long. The viewer's device downloads these chunks one by one, so the video keeps playing smoothly. HLS can also switch between quality levels depending on the viewer's internet speed.

M3U8 playlist

An M3U8 file is the playlist that tells the player where those chunks are. When someone gives you a live TV link ending in .m3u8, that is the address your player needs. Think of it as the "remote control" that points to the channel.

What You Need Before You Add Live TV to Website Pages

Here is a short checklist to get ready:

  • A legal stream source: a stream from your own encoder or a channel that gave you permission to embed it.
  • A website with HTTPS: modern browsers often block HTTP streams on secure pages.
  • A web player: such as hls.js or Video.js, both free and widely used.
  • Reliable hosting: for your website pages, player files and any channel list or admin panel.
  • A domain name: so viewers can easily find and remember your channel.

If you are still choosing a name for your TV site, you can search and register a domain first.

Step-by-Step: How to Embed an M3U8 Stream

This is the simplest way to add live TV to website pages using an HLS player.

  1. Get your M3U8 link. Test it first in a player like VLC to make sure it works.
  2. Add a video element to your page. This is the box where the stream will appear.
  3. Load an HLS library such as hls.js. Safari can play HLS on its own, but Chrome, Firefox and Edge usually need this library.
  4. Connect the player to your link. The script attaches your M3U8 address to the video element and starts playback.
  5. Add controls and a poster image so visitors see a nice preview before they press play.
  6. Test on mobile and desktop. Check different browsers and slow connections.

Most website builders and CMS platforms let you paste custom HTML and JavaScript into a page or block. If yours does not, a developer can add it to your theme in a short time.

A quick tip on autoplay

Many browsers block autoplay with sound. If you want the channel to start automatically, set it to start muted and let users turn the sound on.

Common Problems and How to Fix Them

Live streams can be tricky. Here are the issues beginners run into most often.

The stream will not load

The link may be dead, changed or geo-blocked (only available in some countries). Test it in VLC from your location. Free public links often stop working without warning.

CORS errors

If the browser console shows a CORS error, the stream server is not allowing other websites to play it. Only the stream owner can fix this, which is another reason to use streams you control or have permission for.

Mixed content warnings

If your site uses HTTPS but the stream link starts with HTTP, browsers may block it. Always try to use an HTTPS stream link.

Buffering and slow loading

Buffering usually comes from the stream source, not your website. Still, a fast website helps the page and player load quickly. Good web hosting keeps your pages responsive, especially when many visitors arrive at the same time.

Stay Legal: Use Streams You Have the Right to Share

This part is important. There are many free M3U8 lists online, but most TV channels are copyrighted. Embedding them without permission can lead to takedown notices, problems with your host, or blocked ad accounts.

Safe options include:

  • Your own live stream from a camera or encoder.
  • Local channels, churches, schools or events that give you written permission.
  • Broadcasters that officially offer embed links.
  • Your own content library played on a schedule like a TV channel.

Building on legal streams protects your brand and lets you grow your site with confidence.

From One Channel to a Full Live TV Platform

One embedded player is great for a single channel. But if you want to offer many channels, user accounts or paid access, a simple page will not be enough. You will want features like:

  • A channel list with categories and logos.
  • An EPG (electronic program guide) showing what is on now and next.
  • User sign-up and subscriptions.
  • An admin panel to add or remove channels without touching code.
  • Movies and series alongside your live channels.

This is where a ready-made OTT script saves a lot of time. For example, CineVault is a Netflix-style streaming script built with Laravel 13 that includes movies, series, live TV with EPG and subscriptions. It is a practical way to add live TV to website projects that need more than a single player.

If you prefer audio, you can also browse our radio scripts and other tools on the products page.

Need Help Setting It Up?

Not everyone wants to deal with players, servers and scripts. That is completely fine. Our team can install and brand a streaming script on your server through our Script Installation & Customization service, so you can focus on your content and viewers.

To sum up, to add live TV to website pages you need a legal M3U8 stream, an HLS player, HTTPS and solid hosting. Start small with one channel, test carefully, and upgrade to a full OTT platform when your audience grows.

Ready to launch your own live TV site? Check out the CineVault OTT script and start building your streaming platform today.

Frequently asked questions

What is an M3U8 link?

An M3U8 link is a playlist file used by HLS streaming. It tells the video player where to find the small video segments that make up a live stream.

Can I play M3U8 streams in any browser?

Safari plays HLS natively, but most other browsers need a JavaScript player such as hls.js or Video.js to play M3U8 streams.

Is it legal to add any live TV channel to my website?

No. You should only embed streams you own or have permission to share. Using unlicensed channel links can lead to copyright complaints and takedowns.

Why does my live stream not play on my website?

Common causes are a dead or geo-blocked stream link, CORS restrictions on the stream server, or mixed content when an HTTP stream is loaded on an HTTPS site.

Do I need a full OTT platform to show live TV?

Not for one or two channels, a simple HLS player is enough. If you want many channels, user accounts, subscriptions and an EPG, an OTT script is the better choice.

#live tv#hls streaming#m3u8#video player#ott script#website tutorial
Share:

More articles