Using Third-Party Video Players with Infinite Uploads

If you host your videos with Infinite Uploads and want to use a video player other than the built-in one, you can. Infinite Uploads doesn't lock you into a specific player. Any player that supports HLS (HTTP Live Streaming) URLs will work with your cloud-hosted videos.

How It Works

When you upload a video to Infinite Uploads and it finishes transcoding, you get two ways to play it:

  1. The built-in Infinite Uploads video player. This is the easiest option. You get a shortcode or Gutenberg block in the block editor that just works out of the box.
  2. Direct Play. Turning on the Enable Direct Play setting shows you a raw HLS URL (an .m3u8 link) that you can plug into any compatible video player. The player handles the playback, Infinite Uploads handles the storage and delivery.

Direct Play is the feature you want if you're using a third-party player. You can find it in your Infinite Uploads dashboard under Infinite Uploads > Video Cloud. For a full walkthrough, see the Direct Play documentation.

What Players Work

Any video player that accepts an HLS URL will work. That includes popular options like:

  1. Video.js (free, open source, widely used in WordPress themes)
  2. Plyr (lightweight, customizable, open source)
  3. JW Player (premium, enterprise-grade)
  4. Flowplayer (premium, strong analytics)
  5. MediaElement.js (ships with WordPress core)

It also works with less common or niche players like Strimm, Clappr, and others. If the player has a field or setting where you paste an HLS or .m3u8 URL, it will work.

Setting It Up

The setup is the same regardless of which player you use:

  1. Turn on Enable Direct Play. Go to Infinite Uploads > Video Cloud, open the Player tab, switch on Enable Direct Play, and click Save Settings. This is what makes the HLS URL appear in each video's Embed Code tab.
  2. Upload your video through the Infinite Uploads plugin or dashboard.
  3. Wait for transcoding to complete.
  4. Go to Media > Video Library, click your video, open the Embed Code tab, and copy the HLS URL.
  5. Paste that URL into your third-party player's source/URL field.
Embed Code tab of a video with Enable Direct Play turned on, showing the shortcode, Embed Code, Direct Play URL and HLS URL

That's it. The HLS URL is on our branded address, iframe.infiniteuploads.com, and the video streams through it in whatever player you've chosen, whichever player version your library uses. Playback quality, adaptive bitrate switching, and delivery are all handled by the HLS stream. The player is just the interface your visitors see.

Things to Know

CORS is already handled. Infinite Uploads sets the correct cross-origin headers on video delivery, so players embedded on your domain can access the HLS stream without any extra configuration on your end.

Adaptive bitrate works automatically. HLS streams from Infinite Uploads include multiple quality levels up to 1080p. The player will switch between them based on the viewer's connection speed. You don't need to configure this per-player.

Captions and chapters show in the built-in player only. The captions and chapters you add on a video's Captions and Chapters tabs are not part of the HLS stream, so a third-party player won't display them. If you need captions in a third-party player, use that player's own caption feature.

WordPress block editor support varies by player. Some players have WordPress blocks or shortcodes that accept a URL field. Others require you to embed using custom HTML. Check your specific player's documentation for the best way to embed in WordPress.

If your player doesn't seem to load the video, confirm that it actually supports HLS. Some older or very basic HTML5 video players only support direct MP4 URLs and won't know what to do with an .m3u8 file. If that's the case, you'll need a player that supports HLS natively or includes an HLS.js fallback.