Delivery

How to Use Raw HLS URLs with a Custom Player

Feed your own video player the HLS stream URL from any host.video video

Every video on host.video is transcoded to an adaptive HLS stream. You can copy the .m3u8 manifest URL directly from the video detail page and use it with any HLS-compatible player.

Step 1: Open the video detail page

In the sidebar, click Videos, then click the video you want to use. The video must have a status of Ready.

Step 2: Copy the HLS URL

Scroll down the right column to the Files panel. Find the row labelled Adaptive — this is the HLS manifest. Click the URL to copy it to your clipboard.

The URL will look something like:

https://cdn.your-domain.com/videos/VIDEO_ID/manifest.m3u8

If a file shows "Processing…" instead of a URL, the video is still being transcoded. Wait for it to finish before proceeding.

Step 3: Use the URL in your player

Pass the copied URL to any HLS-compatible player.

hls.js

<video id="video" controls></video>
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<script>
	const video = document.getElementById('video');
	const src = 'https://cdn.your-domain.com/videos/VIDEO_ID/manifest.m3u8';

	if (Hls.isSupported()) {
		const hls = new Hls();
		hls.loadSource(src);
		hls.attachMedia(video);
	} else if (video.canPlayType('application/vnd.apple.mpegurl')) {
		// Safari has native HLS support
		video.src = src;
	}
</script>

Video.js

<link href="https://vjs.zencdn.net/8/video-js.css" rel="stylesheet" />
<video
	id="video"
	class="video-js"
	controls
	data-setup='{"sources": [{"src": "https://cdn.your-domain.com/videos/VIDEO_ID/manifest.m3u8", "type": "application/x-mpegURL"}]}'
></video>
<script src="https://vjs.zencdn.net/8/video.min.js"></script>

Native <video> (Safari only)

Safari supports HLS natively without a library:

<video controls src="https://cdn.your-domain.com/videos/VIDEO_ID/manifest.m3u8"></video>

For cross-browser support, use hls.js with a Safari fallback as shown above.

Access rules

If your video has access restrictions (password protection, signed URLs, domain allowlist, etc.), those rules apply to the HLS stream as well. Direct .m3u8 requests must satisfy the same conditions as embed requests. If your player cannot satisfy the access rules, the CDN will return a 403 response.