Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

openplayerjs

Package Overview
Dependencies
Maintainers
1
Versions
88
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

openplayerjs

HTML5 video and audio player

  • 2.2.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3K
increased by15.47%
Maintainers
1
Weekly downloads
 
Created
Source

OpenPlayer.js

openplayerjs

NPM

Tweet JSDelivr Build Status Size Donate

This is a media player that uses all the goods of HTML5 video/audio elements to play the most popular media in MP4/MP3, HLS and M(PEG)-DASH, and also has the ability to play VMAP, VAST and VPAID ads.

Advantages

  • Supports IE11+ (Win8) and all modern browsers.
  • No dependencies, since it is written in Typescript.
  • Runs a simple but yet powerful algorithm to check the browser's autoplay capabilities across browsers.
  • Supports for local and remote captions for both video and audio, even without including the crossorigin attribute.
  • Enhance your player adding your own buttons. Check here for more details.
  • Provides the ability to use a single VAST/VPAID source or a VAST/VPAID playlist from several different sources (including URLs and valid XML strings).
  • Can play ads in infinite loop, desired for ads that are in a heavy text page.
  • Always responsive by default, for both video/audio tags; a new fill mode is also included to scale and crop media relative to its parent container.

:warning: IMPORTANT: Migrating from v1.x.x to v2.x.x :warning:

In order to achieve a smooth upgrading between version 1.x.x and 2.x.x, there is a couple of things to keep in mind:

  1. The player will only accept now 2 parameters instead of 4: the player ID and the player options.
  2. controls and showLiveProgress properties are now complex object structures, where we can indicate visibility and a new set of extra layers/visibility.

To simplify this even more:

v1.x.x

const player = new OpenPlayerJS('player', 'https://ads.example.url/xml', true, {
    controls: {
        left: ['play', 'time', 'volume'],
        middle: ['progress'],
        right: ['captions', 'settings', 'fullscreen'],
    },
    showLiveProgress: false,
    // ...other player options
});
player.init();

v2.x.x

const player = new OpenPlayerJS('player', {
    ads: {
        src: 'https://ads.example.url/xml', // equivalent to the second argument in v1.x.x
        // ...other ads options
    },
    mode: 'fullscreen', // equivalent to `true` in third argument in v1.x.x
    controls: {
        alwaysVisible: false,
        // Also available: `top-left`, `top-middle`,
        // `top-right`, `bottom-left`, `bottom-middle` and `bottom-right` or `main`
        layers: {
            left: ['play', 'time', 'volume'],
            middle: ['progress'],
            right: ['captions', 'settings', 'fullscreen'],
        }
    },
    live: {
        showLabel: true,
        showProgress: false, // equivalent of `showLiveProgress` in v1.x.x
    },
    // ...other player options
});
player.init();

Getting Started

The standard template to start using OpenPlayerJS is show in the following snippet.

<html>
    <head>
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/openplayerjs@latest/dist/openplayer.min.css">
    </head>
    <body>
        <video class="op-player__media" id="player" controls playsinline>
            <source src="/path/to/video.mp4" type="video/mp4">
            <track kind="subtitles" src="/path/to/video.vtt" srclang="en" label="English">
        </video>
        <script src="https://cdn.jsdelivr.net/npm/openplayerjs@latest/dist/openplayer.min.js"></script>
        <script>
            // Check the `API and events` link below for more options
            const player = new OpenPlayerJS('player');
            player.init();
        </script>
    </body>
</html>

Usage and API Guides

If you want to unleash the power of OpenPlayerJS, learn more about OpenPlayerJS by checking the following links.

Code Samples

In 2.x.x, the demo folder is now removed in favor of code samples.

If you need a reference on how to use OpenPlayerJS in some of the most common scenarios, check the following links:

  1. No configuration (only DOM classes)
  2. Minimal configuration
  3. Using fill mode
  4. Using fit mode
  5. Using Ads
  6. Removing controls and using preload="none"
  7. Add source after initialization (useful for AJAX)
  8. Fully customized audio player
  9. Playing HLS streaming with DRM (Encryption)
  10. M(PEG)-DASH with Ads
  11. Basic playlist (video and audio)
  12. Ads playlist (multiple URLs)
  13. Retrieve data from audio streaming (HLS)
  14. YouTube video (using plugin)
  15. Addition of a custom control
  16. OpenPlayerJS with Next.js
  17. Using Levels and setting width/height
  18. Trigger Ad manually
  19. Use FLV source (only modern browsers and Android, not iOS)
  20. Using hls.js p2p plugin

Built With

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Keywords

FAQs

Package last updated on 28 Nov 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc