TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/finsweet/attributes/llms.txt
Use this file to discover all available pages before exploring further.
fs-videohls attribute integrates hls.js into your Webflow project, enabling HTTP Live Streaming (HLS) support for browsers that don’t natively support it. This allows adaptive bitrate streaming using .m3u8 manifest files.
How It Works
The attribute automatically:- Detects HLS manifest URLs (
.m3u8files) in video sources - Initializes hls.js for browsers that need it
- Falls back to native HLS support on Safari/iOS
- Works with CMS-driven video lists
- Manages HLS instances and cleanup
Installation
Basic Usage
Using the Manifest Attribute
The most straightforward approach is to use thefs-videohls-manifest attribute:
Using Source Elements
Alternatively, add.m3u8 sources directly:
Using the src Attribute
Configuration
Manifest Attribute
Specify the HLS manifest URL directly on the video element:The
fs-videohls-manifest attribute takes priority over source elements and the src attribute when determining the HLS manifest URL.Working with CMS Lists
The attribute integrates withfs-list for dynamic video collections:
Technical Details
Browser Support Detection
The attribute checks if HLS initialization is needed:Manifest URL Detection
The attribute searches for HLS manifest URLs in this order:fs-videohls-manifestattribute value<source>elements with.m3u8extension- Video
srcattribute with.m3u8extension
HLS Instance Management
Each video gets its own HLS instance:Advanced Examples
With Custom Controls
Multiple Quality Levels
Live Streaming
Best Practices
Provide Fallback Sources
Always include MP4 fallbacks for maximum compatibility:Use Appropriate Attributes
controls: Shows video controlsplaysinline: Prevents fullscreen on iOSpreload="metadata": Loads video metadata without downloading the entire videoposter: Shows thumbnail before playback
CDN and CORS
Ensure your HLS manifest and segments are:- Served from a CDN for better performance
- Configured with proper CORS headers
- Using HTTPS for secure connections
Troubleshooting
Video Not Loading
- Verify the
.m3u8manifest URL is accessible - Check browser console for CORS errors
- Ensure the manifest file is properly formatted
Safari Issues
Safari has native HLS support and doesn’t use hls.js:- The attribute will skip hls.js initialization on Safari
- Test that your manifest works with native Safari playback
CMS Integration
- Ensure the CMS field contains a valid
.m3u8URL - Verify the attribute is present before the list loads
- Check that
fs-listis properly initialized
HLS Manifest Example
A basic HLS master playlist (.m3u8):