Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

fluid-player

fluid-player2.7kMIT3.52.0TypeScript support: included

Fluid Player is a free HTML5 video player

readme

Fluid Player

Latest version npm

Version 3 released

A new major version of Fluid Player has been released on May 20, 2020. Existing version 2 users are recommended to upgrade. See quick setup guide.

Overview

Fluid Player is a free HTML5 video player. It is lightweight, easy to integrate and has advanced VAST capabilities. The idea behind VAST, as well as the full VAST specification, can be found here: VAST 4.0.

Documentation

The integration and configuration of Fluid Player is fully outlined in Fluid Player Documentation

License

Fluid Player is licensed under the MIT License. View the License File.

Changelog

A full list of changes and updates can be found in the project CHANGELOG.

changelog

CHANGELOG

3.52.0 (2025-04-02)

  • Pull #882 Add an option to set the subtitles' size

3.51.0 (2025-02-20)

  • Pull #876 Preload Ignored with HLS > Manifest and fragments loading twice before preroll, and after preroll
  • Pull #877 Change in quality for hls broke video size

3.50.0 (2025-01-23)

  • Pull #871 ControlForwardBackward on double click doesnt work on Mobile Devices
  • Pull #872 Subtitles Do Not Adjust Position When Controls Are Hidden

3.49.0 (2025-01-16)

  • Pull #868 HLS video quality switcher showing wrong values
  • Pull #869 layoutControls.roundedCorners is not type defined

3.48.0 (2024-12-18)

3.47.0 (2024-12-13)

3.46.0 (2024-12-12)

  • Pull #854 Add support for automatic landscape screen orientation

3.45.0 (2024-12-09)

3.44.0 (2024-11-14)

  • Pull #851 Mobile on click show control bar instead of pausing video

3.43.0 (2024-11-13)

  • Pull #855 Fluidplayer doesn't play Wrapper ads

3.42.0 (2024-11-05)

  • Pull #836 FallbackVastTags may not be working

3.41.0 (2024-11-04)

  • Pull #850 New event system breaks current implementations

3.40.0 (2024-10-24)

  • Pull #844 MiniPlayer Follow Up > Improving UX and be Google compliant
  • Pull #846 Rounded corners on player
  • Pull #848 Uncaught TypeError: Cannot read properties of undefined (reading 'Parser') when using subtitles

3.39.0 (2024-10-15)

3.38.0 (2024-10-02)

  • Pull #838 TheatreAdvanced is not working and breaks player

3.37.0 (2024-09-17)

  • Pull #821 Added support for VAST ViewableImpression
  • Pull #833 doubleclickFullscreen not working

3.36.0 (2024-09-05)

  • Pull #832 Show quality change icon in player when working with hls (m3u8)

3.35.0 (2024-08-01)

  • Pull #825 Fix image freezing
  • Pull #826 Ads cannot be displayed when XML content has two Creative tags

3.34.0 (2024-07-11)

  • Pull #819 When users don't have suggested videos, there's a console error

3.33.0 (2024-07-02)

  • Pull #818 Suggested Videos Feature in Fluid Player

3.32.0 (2024-03-21)

  • Pull #804 htmlOnPauseBlock not being displayed with last version of FP

3.31.0 (2024-01-25)

  • Pull #788 Fluid Player doesn't work with Next.js
  • Pull #791 Impression events aren't called for some VAST tags within the VAST wrapper chain

3.30.0 (2024-01-11)

  • Pull #789 Uncaught TypeError: Cannot set properties of null (setting 'slotIframe') while testing on VOD with VPAID Non Linear

3.29.0 (2023-12-14)

  • Pull #783 Fix test cases in the development sever
  • Pull #785 FluidPlayer > Error > onPauseRoll In Video Banner VAST

3.28.0 (2023-11-16)

  • Pull #776 Fluid Player doesn't work with shadow DOM

3.27.0 (2023-10-19)

  • Pull #771 Method loadVpaid create frame without body

3.26.0 (2023-10-12)

  • Pull #768 Stretch posterImage to playerwindow
  • Pull #769 Events don't differ from Ad and Main video

3.25.0 (2023-09-21)

  • Pull #766 adClickable and CTA parameters don't work when 2 VAST ad is loaded

3.24.0 (2023-09-08)

  • Pull #763 Player can't be restarted by destroying it and initializing it again

3.23.0 (2023-08-28)

  • Pull #757 Preload doesn't work for .m3u8 files when the player is serving in-stream ads
  • Pull #760 Lighthouse says: Does not use passive listeners to improve scrolling performance

3.22.0 (2023-08-17)

  • Pull #755 Percentages are not accepted for "timer" property

3.21.0 (2023-08-08)

  • Pull #748 CurrentTime reset after switch HLS source on IOS
  • Pull #752 Add "controlForwardBackward" setting inside the player instead of the control bar

3.20.0 (2023-07-24)

  • Pull #749 Mouse disappears
  • Pull #750 In mobile and when using .m3u8 files, user needs to click the player twice in order to play the video

3.19.0 (2023-07-12)

  • Pull #746 Could not find a declaration file for module 'fluid-player'

3.18.0 (2023-06-30)

  • Pull #744 Failed to resolve import "cheerio/lib/api/traversing"

3.17.0 (2023-06-16)

  • Pull #734 MiniPlayer Mobile support
  • Pull #735 MiniPlayer position configuration
  • Pull #739 MiniPlayer Activate miniplayer when scrolling goes out of viewport
  • Pull #740 MiniPlayer Allowing trigger MiniPlayer by code
  • Pull #736 Fluid player doesn't track clicks on some sites

3.16.0 (2023-05-31)

  • Pull #721 Fluid Player loads midRoll even if timer is longer than main video
  • Pull #732 MiniPlayer MVP

3.15.0 (2023-05-09)

  • Pull #727 Player required 2 clicks to play video New Iphone 11 Pro Chrome

3.14.0 (2023-04-27)

  • Pull #722 Support Video Waterfall VAST Response

3.13.0 (2023-03-09)

  • Pull #714 Support Video Waterfall VAST Response

3.12.0 (2023-01-10)

  • Pull #707 Decrease volumes & revenue on In-stream zones

3.11.1 (2023-01-03)

  • Update dependencies

3.11.0 (2023-01-03)

3.10.0 (2022-12-15)

  • Pull #687 LocalStorage not available in Chrome incognito mode is breaking JS
  • Pull #704 In ad serving, the skip button when is without time delay it should trigger immediately the "skip ad"

3.9.0 (2022-10-18)

3.8.0 (2022-10-07)

  • Pull #685 Fluidplayer > 'autoHide' in Desktop only works when the cursor is on top of the player.
  • Pull #689 Mobile view_ Error in console and wrong positioning of the CTA text

3.7.0 (2022-09-28)

  • Pull #650 Play main video after preRoll ends not work

3.6.0 (2022-08-24)

  • Pull #666 CTA Overlay > cannot be removed by publisher

3.5.0 (2022-07-20)

  • Pull #669 Video CTA / Fluid Player
  • Pull #671 Video CTA - update FP to support new CTA structure from VAST Tag

3.4.0 (2022-07-05)

  • Pull #652 Video on demand and linear VPAID does not work on iOS Safari
  • Pull #664 Video CTA / Fluid Player

3.3.0 (2022-06-22)

3.2.1 (2022-05-17)

  • Update dependencies

3.2.0

  • Pull #641 FluidPlayer > Streaming files compatibility

3.1.0

  • Pull #619 Looping videos show loading spinner for a split second before looping
  • Pull #621 FluidPlayer> Mouse disappears
  • Pull #622 contextMenu.links labels are not working after play
  • Pull #628 Overlay html over video (also in fullscreen)

3.0.4

  • Pull #489 Fix issues with nonLinear ads not closing

3.0.3

  • Pull #478 Ensure options is object, fix dash debug

3.0.2

3.0.1

  • Pull #457 Fix ad skip button not showing properly
  • Pull #450 Static thumbnail configuration
  • Pull #458 Fix dash.js initialization and swap Vtt.js to Videojs fork

3.0.0

  • Pull #441 Major release - see pull request for full changelist.

2.4.11

2.4.10

  • Pull #399 Adding VR Features to player (experimental)

2.4.9

2.4.8

  • Pull #374 Skip ad button on VAST preroll opening a new blank tab

2.4.7

  • Pull #361 Adding subtitles, multiple ad-roll, fallback vast ad, fixing dash playback, double click to fullscreen
  • Pull #354 VAST Multiple mediafile support, announce proper error codes and some bug fixes
  • Pull #356 Seeked and ended html5 event listeners

2.4.6

2.4.5

2.4.4

  • Pull #289 Fix window.getComputedStyle call on null
  • Pull #290 Prevent multi click event on download btn
  • Pull #293 Check if Hls already exposed in window

2.4.3

2.4.2

2.4.1

  • Pull #228 Persistent volume settings from before mute on page navigation
  • Pull #229 Link to FP on menu button working correctly
  • Pull #230 Fix for right click on initial play button
  • Pull #227 Optional parameter to disable clickthrough layer on instream ads
  • Pull #231 Fixes for how thumbnails are drawn and mouse event detection

2.4.0

  • Pull #214 Avoid looping VAST Ad
  • Pull #206 Fix tracking impression events for nonLinear ads
  • Pull #221 Fix VAST loading issue by AdBlock
  • Pull #207 Add support for HD icon on quality select
  • Pull #209 Advanced theatre mode
  • Pull #208 Compress files
  • Pull #179 Fix to prevent changing speed during ads
  • Pull #217 Prevent video size change on quality switch
  • Pull #213 Controls to stay working with adblock and fix for double event on mobile touch
  • Pull #212 Poster image to fit player size
  • Pull #186 Fix for source switch on Edge
  • Pull #219 Play / pause icon fix and progress bar to disappear correctly
  • Pull #218 Optional theatre settings

2.3.0

  • Pull #192 Persist user settings across pages for volume, speed, quality and theatre mode
  • Pull #194 Fix for play event on video click for certain devices
  • Pull #193 Option to set adText and adTextPosition on a per ad basis
  • Pull #184 Fix for thumbnails appearing incorrectly on mobile
  • Pull #181 Fix for poster image for dash file
  • Pull #195 Loading icon while player is waiting
  • Pull #200 Ad text positioning fix
  • Pull #196 Fix for issue causing controls to hide incorrectly
  • Pull #191 Scrubbing to no longer trigger Fluid on.pause event

2.2.2

  • Pull #175 Fullscreen mode variable correct place
  • Pull #177 Fix fadeOut/fadeIn opacity to correct values in the end of animation
  • Pull #180 Adding VASTAdTagURI support

2.2.1

  • Pull #153 CDATA media file ignores whitespace correctly
  • Pull #154 onPauseRoll not showing on source switch
  • Pull #155 iOS native fullscreen
  • Pull #156 CSS fixes for progress bar and logo
  • Pull #157 Fix for onMainVideoEnded firing correctly
  • Pull #158 Play / Pause animation to not show when changing source
  • Pull #159 Theatre mode to not show in iframe
  • Pull #148 Fix for currentTime being set for iOS and safari for ads and source switch
  • Pull #165 Fix for video duration if passed as 00:00:00 in the VAST file
  • Pull #167 Allow for individual images to be set in .vtt file
  • Pull #169 Preview Thumbnail image locations - Ability to set relative path
  • Pull #168 Show custom error if XML content-type is wrong
  • Pull #166 Bug fix for Error 202 showing up periodically in the console
  • Pull #149 Bug fix to remove mainVideoReady eventListener after success

2.2.0

2.1.2

  • Pull #108 Fullscreen API call fix
  • Pull #110 Improvements for iOs safari (use default skin) and mobile screens
  • Pull #111 Adjust how iconClickThrough is gotten

2.1.1

2.1

2.0

  • Pull #91 Version 2 Changes:
    • New default template
    • Add play button
    • Play pause animations
    • Restructuring of optional parameters
    • Remove templates
    • General fixes

1.2.2

1.2.1

1.2.0

  • Pull #68 Controls remain fullscreen after escaping fullscreen
  • Pull #66 Optional logoUrl for clickable logo
  • Pull #74 Add ability to grab and slide the volume slider and timeline scrubber.
  • Pull #75 Pull #77 Adding mid/post roll support and initial VAST nonLinear support.
  • Pull #67 Adding key controls.
  • Pull #69 Adding controls hiding functionality.

1.1.3

  • Pull #50 Fix for double double render of blank video on some browsers

1.1.2

1.1.1

  • Pull #38 Reset the CSS box-sizing settings.

1.1.0

  • Pull #34 Various Improvements:
    • Possibility to allow the user to switch between different video qualities. (Example, 720p, 1080p, etc...)
    • Enable/Disable autoplay.
    • Possibility to set a logo over the video player, with configurable position and opacity.
    • Possibility to show a text when a video ad is being played. (Example : "Advertising")
    • Possibility to show a call to action link when a video ad is being played. (Example : "Click here to learn more about this product.")
    • Improved CSS management.
    • Possibility to show a custom HTML code when the user pauses the video. (For example, a banner ad, or some related video links)
    • The video player can be fully responsive.

1.0.2

1.0.1

  • Pull #1 Fix a Fluid Player crash when the ad video file is not available. Properly announcing errors if an Error tag is present in the VAST tag.
  • Pull #3 Demo layouts. Various bugfixes and improvements.
  • Pull #10 Thumbnail previews from vtt file can be overwritten.
  • Pull #11 Player shows current play time and video duration in 'default' template.
  • Pull #14 Fix a minor issue when playing the video from outside the Fluid Player code.

1.0.0

  • Initial Release