BoxCast streams to viewers using a technology called HTTP Live Streaming (HLS). Created by Apple and used by companies worldwide, HLS utilizes standard web servers and Content Delivery Networks (CDNs) to distribute streaming media in small chunks.
The URLs to these chunks are presented in a list, called a playlist or an M3U8 (so named because of the file extension), which players use to download and present media. When combined with adaptive bitrate streaming, another playlist is used to serve multiple quality levels of content.
BoxCast does not share the M3U8 playlist for your broadcasts by default. We made this decision carefully, for the benefit of our customers and viewers, for the following reasons:
- You've told us that viewership analytics are really important to you. We've worked hard to bring you more analytics and more detailed analytics. Using the M3U8 directly causes those analytics to be misleading at best – and completely wrong at worst. We prefer to keep your analytics accurate.
- You've asked for the ability to control access to your broadcasts by making them private, monetizing them via tickets and quality upgrades, and, in some cases, using third-party authentication. Providing access to the M3U8 bypasses any access control and monetization.
- You trust us to make sure that your viewers have a high-quality viewing experience. That means that your broadcasts should play back at the highest possible quality, have the least amount of rebuffering, and provide the features you've come to expect, like social media integration, live DVR, and highlights, to name a few. Providing the M3U8 would allow any HLS-capable player to be used. Since we can't test every player in existence, we can't be sure that every player will provide a quality viewing experience. A sub-par viewing experience would reflect poorly on you, the customer, and us, your live streaming provider.
We understand that a number of companies provide products that wish to use the M3U8 to integrate, and that our decision to not provide the M3U8 might be frustrating. Although the M3U8 is the "lowest common denominator" for integrating an HLS stream, you do have other better options:
- If your integration provides a "web view," you case use the "Third-Party App" embed option, placing the embed code in the web view contents. This will utilize the BoxCast player within the integration. (See our embedding FAQ for more details.)
- Use our viewer SDKs to natively integrate BoxCast broadcasts into your app. We have viewer SDKs for AppleTV (TVML), Apple native (iOS, macOS, etc.), Roku, and Android.
- For even better integration, use our developer API to list, find, and play broadcasts. This will save you the effort of entering information for each and every broadcast.
From the beginning, we've built BoxCast to make your life as a broadcaster easier and to ensure that your content is presented with the highest quality. Please encourage your third-party integrators and app providers to do the same by integrating with our technology.
If Other Options Will Not Work
If there is no other option, and you must request the M3U8 URL directly, reach out to our sales team about a feature to provide the static M3U8 URL.
With this feature, each broadcast will have a static M3U8 URL generated in advance of the broadcast, which will stay valid even when the broadcast transitions from live to recorded. You can find this URL on the broadcast details page:
Please note that the caveats above apply, namely that viewer analytics will be lost for those who watch on this link.
- Does the m3u8 link ever expire?
Yes, the link expires 1 year after generating it. You must re-generate the static m3u8 URL or consider a different type of integration if you wish to use it for longer than 1 year.
- Do I get viewer analytics with static m3u8 URLs?
No, you must consider a different type of integration if you wish to retain viewer analytics.
- Can I use privacy or ticketing features with the m3u8 link?
- No, you must consider a different type of integration if you wish to retain those features.