JavaScript Library for MPEG-DASH supporting IPTV Forum Japan regulation profile
Japanese Document
"basjoo.js" is a player library for the playback of MPEG-DASH Internet video. This uses MSE (Media Source Extension) API for playback and supports DRM using EME (Encrypted Media Extensions) API, both of which are supported by HTML.
It supports the VOD (Video on Demand) technical method in the "Hybridcast Operational Guideline version 2.0" defined by the IPTV Forum, and has the following features.
- Management of video playback that absorbs bandwidth fluctuations
- Program structure operating in memory saving memory
- The function to insert video without interruption during program
"basjoo.js" can stably play high quality Internet videos such as 4K videos even in TV receivers with a small memory capacity. It is also easy to customize the viewing behavior according to the service requirements of the broadcaster, such as insert videos that match individual. In addition to television, it enables video delivery to various devices that support web browsers such as PC and smartphone.
-
nodejs (version 14 or later)
-
See fileOrganization.md.
-
Install Core Dependencies
-
Checkout project repository
git clone https://github.com/nhkrd/basjoo.js.git
-
Install dependencies
npm install
-
Builddistribution files (all or minification)
- Build basjoo.all.js
npm run dev
- Build basjoo.min.js
npm run build
-
Using sample player
http://[IP Address]/basjoo.js/samples/player.html?url=[mpd_URL]
See sampledoc.md.
- Install VSCode
- Start VSCode, and select "Open Workspace" from the menu
- Select "basjoo.code-workspace"
- Install all Extensions recommended by the workspace
npm run doc
- Build basjoo.all.js
npm run dev
- Build basjoo.all.js, and delete comments(/******/)
npm run dev:rm
npm run watch
npm run build
Usage: npm run sample -- [options]
Options:
-u, --url <URL> Add MPD URL.
-m, --mode <default | ttml > Select sample player mode.
-p, --port <number> Change the port number.
-h, --help display help for command
See LICENSE.md and NOTICE.txt
Sample player includes other oss packages due to some reasons.
-
RobotoCondensed-Regular.ttf (https://fonts.google.com/specimen/Roboto+Condensed, Apache License, Version 2.0)
Sample Player uses RobotoCondensed-Regular.ttf to make it look the same layout on the display of various TV devices. See License in LICENSE.txt.