All Projects → Dash-Industry-Forum → Dash.js

Dash-Industry-Forum / Dash.js

Licence: other
A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Dash.js

ReferenceApplication
No description or website provided.
Stars: ✭ 63 (-98.49%)
Mutual labels:  dash, drm
Shaka Player
JavaScript player library / DASH & HLS client / MSE-EME player
Stars: ✭ 5,386 (+29.47%)
Mutual labels:  dash, drm
abr-player
📼 Adaptive Streaming Test Player
Stars: ✭ 13 (-99.69%)
Mutual labels:  dash, mss
shaka-player-react
A simple React component wrapper for shaka-player
Stars: ✭ 79 (-98.1%)
Mutual labels:  dash, drm
Dashr
Dash for R - An R interface to the Dash ecosystem for creating analytic web applications
Stars: ✭ 337 (-91.9%)
Mutual labels:  dash
Openplayerjs
Lightweight HTML5 video/audio player with smooth controls and ability to play VAST/VPAID/VMAP ads
Stars: ✭ 255 (-93.87%)
Mutual labels:  dash
bigfoot-dash-app
An example application for exploring Bigfoot data with Plotly's Dash.
Stars: ✭ 23 (-99.45%)
Mutual labels:  dash
dash leaflet
Leaflet component for dash. Illustration of error encountered during python build.
Stars: ✭ 21 (-99.5%)
Mutual labels:  dash
Explainerdashboard
Quickly build Explainable AI dashboards that show the inner workings of so-called "blackbox" machine learning models.
Stars: ✭ 378 (-90.91%)
Mutual labels:  dash
Donut
🏹 Dead-simple cross-platform cryptocurrency tracker.
Stars: ✭ 367 (-91.18%)
Mutual labels:  dash
Mediaelement Plugins
Plugins for the main mediaelement project
Stars: ✭ 328 (-92.12%)
Mutual labels:  dash
Python Ffmpeg Video Streaming
📼 Package media content for online streaming(DASH and HLS) using FFmpeg
Stars: ✭ 269 (-93.53%)
Mutual labels:  dash
Dash Docs
📖 The Official Dash Userguide & Documentation
Stars: ✭ 338 (-91.87%)
Mutual labels:  dash
Shellspec
A full-featured BDD unit testing framework for bash, ksh, zsh, dash and all POSIX shells
Stars: ✭ 375 (-90.99%)
Mutual labels:  dash
Dash Cytoscape
Interactive network visualization in Python and Dash, powered by Cytoscape.js
Stars: ✭ 309 (-92.57%)
Mutual labels:  dash
dashfaction
A community patch for the Red Faction (2001) FPS game
Stars: ✭ 18 (-99.57%)
Mutual labels:  dash
Bitcoinlib
Bitcoin Core RPC compatible, battle-tested .NET library and RPC wrapper for Bitcoin and Altcoins
Stars: ✭ 350 (-91.59%)
Mutual labels:  dash
Edge React Gui
Edge Wallet React Native GUI for iOS and Android
Stars: ✭ 303 (-92.72%)
Mutual labels:  dash
Awesome Live Stream
Webrtc && Nginx && DASH && Quic 学习资料收集,持续更新中
Stars: ✭ 290 (-93.03%)
Mutual labels:  dash
Dash Bio
Open-source bioinformatics components for Dash
Stars: ✭ 329 (-92.09%)
Mutual labels:  dash

Build status (CircleCI): CircleCI

Join #dashjs on Slack!

Migration from v3.x to v4.0

If you are migrating from dash.js v3.x to dash.js v4.x please read the migration document found here.

Overview

A reference client implementation for the playback of MPEG DASH via JavaScript and compliant browsers. Learn more about DASH IF Reference Client on our wiki.

If your intent is to use the player code without contributing back to this project, then use the MASTER branch which holds the approved and stable public releases.

If your goal is to improve or extend the code and contribute back to this project, then you should make your changes in, and submit a pull request against, the DEVELOPMENT branch. Read our CONTRIBUTION.md file for a walk-through of the contribution process.

All new work should be in the development branch. Master is now reserved for tagged builds.

Demo and reference players

All these reference builds and minified files are available under both http and https.

Samples

Multiple dash.js samples covering a wide set of common use cases.

Reference players

The released pre-built reference players if you want direct access without writing any Javascript.

The nightly build of the /dev branch reference player, is pre-release but contains the latest fixes. It is a good place to start if you are debugging playback problems.

CDN hosted files

The latest minified files have been hosted on a global CDN and are free to use in production:

In addition, all the releases are available under the following urls. Replace "vx.x.x" with the release version, for instance "v3.1.0".

Documentation

Full API Documentation is available describing all public methods, interfaces, properties, and events.

For help, join our Slack channel, our email list and read our wiki.

Tutorials

Detailed information on specific topics can be found in our tutorials:

Getting Started

The standard setup method uses javascript to initialize and provide video details to dash.js. MediaPlayerFactory provides an alternative declarative setup syntax.

Standard Setup

Create a video element somewhere in your html. For our purposes, make sure the controls attribute is present.

<video id="videoPlayer" controls></video>

Add dash.all.min.js to the end of the body.

<body>
  ...
  <script src="yourPathToDash/dash.all.min.js"></script>
</body>

Now comes the good stuff. We need to create a MediaPlayer and initialize it.

var url = "https://dash.akamaized.net/envivio/EnvivioDash3/manifest.mpd";
var player = dashjs.MediaPlayer().create();
player.initialize(document.querySelector("#videoPlayer"), url, true);

When it is all done, it should look similar to this:

<!doctype html>
<html>
    <head>
        <title>Dash.js Rocks</title>
        <style>
            video {
                width: 640px;
                height: 360px;
            }
        </style>
    </head>
    <body>
        <div>
            <video id="videoPlayer" controls></video>
        </div>
        <script src="yourPathToDash/dash.all.min.js"></script>
        <script>
            (function(){
                var url = "https://dash.akamaized.net/envivio/EnvivioDash3/manifest.mpd";
                var player = dashjs.MediaPlayer().create();
                player.initialize(document.querySelector("#videoPlayer"), url, true);
            })();
        </script>
    </body>
</html>

Module Setup

We publish dash.js to npm. Examples of how to use dash.js in different module bundlers can be found in the samples/modules directory.

MediaPlayerFactory Setup

An alternative way to build a Dash.js player in your web page is to use the MediaPlayerFactory. The MediaPlayerFactory will automatically instantiate and initialize the MediaPlayer module on appropriately tagged video elements.

Create a video element somewhere in your html and provide the path to your mpd file as src. Also ensure that your video element has the data-dashjs-player attribute on it.

<video data-dashjs-player autoplay src="https://dash.akamaized.net/envivio/EnvivioDash3/manifest.mpd" controls>
</video>

Add dash.all.min.js to the end of the body.

<body>
  ...
  <script src="yourPathToDash/dash.all.min.js"></script>
</body>

When it is all done, it should look similar to this:

<!doctype html>
<html>
    <head>
        <title>Dash.js Rocks</title>
        <style>
            video {
                width: 640px;
                height: 360px;
            }
        </style>
    </head>
    <body>
        <div>
            <video data-dashjs-player autoplay src="https://dash.akamaized.net/envivio/EnvivioDash3/manifest.mpd" controls>
            </video>
        </div>
        <script src="yourPathToDash/dash.all.min.js"></script>
    </body>
</html>

Quick Start for Developers

  1. Install Core Dependencies
  2. Checkout project repository (default branch: development)
    • git clone https://github.com/Dash-Industry-Forum/dash.js.git
  3. Install dependencies
    • npm install
  4. Build, watch file changes and launch samples page, which has links that point to reference player and to other examples (basic examples, captioning, ads, live, etc).
    • npm run start

Other Tasks to Build / Run Tests on Commandline.

  • Build distribution files (minification included)
    • npm run build
  • Build and watch distribution files
    • npm run dev
  • Run linter on source files (linter is also applied when building files)
    • npm run lint
  • Run unit tests
    • npm run test
  • Generate API jsdoc
    • npm run doc

Troubleshooting

  • In case the build process is failing make sure to use an up-to-date node.js version. The build process was successfully tested with node.js version 14.16.1.

License

dash.js is released under BSD license

Tested With

Browser Stack Logo

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].