API
This chapter lists information about the OvenPlayer API, which you can control with OvenPlayerInstance.
playerInstance.getVersion()
This command returns OvenPlayer version information.
playerInstance.getConfig()
This command returns the configured option value when OvenPlayer is initialized.
Request
Response
Type | Memo |
---|---|
null | |
Attribute | Type | Memo |
autoStart | Boolean | |
browser | Object | |
controls | Boolean | |
loop | Boolean | |
mediaContainer | DOMElement | |
mute | Boolean | |
playbackRate | Number | |
playbackRates | Array Of Numbers | |
playlist | Array Of playlist | |
timecode | Boolean | |
volume | Number | |
example
{
autoStart: false
browser: {screen: "1440 x 900", browser: "Chrome", browserVersion: "73.0.3683.103", browserMajorVersion: 73, mobile: false, …}
controls: true
loop: false
mediaContainer: div.ovp-media-element-container
mute: false
playbackRate: 0.5
playbackRates: [0.25, 0.5, 1, 1.5, 2]
playlist: [{…}, {…}]
timecode: true
volume: 100
}
playerInstance.load(playlist)
This command initializes OvenPlayer with a new playlist.
Request
Response
Type | Memo |
---|---|
Array | playlist or sources |
example
playlist = [
{
title : "01",
adTagUrl : "https://pubads.g.doubleclick.net/gampad/ads?...",
image : "https://path.to/your_video_thumbnail.jpeg",
duration : 7343,
sources: [ {
type : "mp4",
file : "https://path.to/your_video",
label : "360P"
}],
tracks: [{
kind : "captions",
file : "https://path.to/your_caption.vtt",
label : "KO vtt"
}]
},
{
title : "02",
adTagUrl : "https://pubads.g.doubleclick.net/gampad/ads?...",
image : "https://path.to/your_video_thumbnail2.jpeg",
duration : 8333,
sources: [ {
type : "mp4",
file : "https://path.to/your_video2",
label : "360P"
},
{
type : "mpd",
file : "https://path.to/your_video.mpd",
label: "360P DASH"
}
tracks: [{
kind : "captions",
file : "https://path.to/your_caption2.vtt",
label : "KO vtt"
}]
}
];
or
sources = [
{
type : "mp4",
file : "https://path.to/your_video",
framerate : 30,
label : "360P"
},
{
type : "mp4",
file : "https://path.to/your_video",
framerate : 30,
label: "480P"
},
{
type : "mp4",
file : "https://path.to/your_video",
framerate : 30,
label : "720p",
default : "true"
}
];
null
const videoElement = playerInstance.getMediaElement()
Response
Type | Memo |
---|---|
HTML Video Element | <video></video> |
playerInstance.getState()
This command gets information about what OvenPlayer is currently doing.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
String | "idle", "paused", "playing", "error", "loading", "complete", "adLoaded", "adPlaying", "adPaused", "adComplete" |
playerInstance.getBrowser()
This command returns the analyzed information from the user agent. However, this information is not necessarily correct because the user agent can hide or misleading information.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Object | User Agent Information |
example
{
browser: "Chrome",
browserMajorVersion: 73,
browserVersion: "73.0.3683.103",
cookies: true,
flashVersion: "no check",
mobile: false,
os: "Mac OS X",
osVersion: "10_14_0",
screen: "1440 x 900",
ua: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36",
webview: false
}
playerInstance.setTimecodeMode(isShow)
You can use this command to set whether the time-code or frame-code is displayed in the OvenPlayer control bar. However, if you want to use frame-code, the source must contain frame rate information.
Request
Response
Type | Memo |
---|---|
Boolean | |
Type | Memo |
---|---|
null | |
playerInstance.isTimecodeMode()
This command checks whether OvenPlayer is currently running in time-code or frame-code.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Boolean | true : timecode, false : frame |
playerInstance.getFramerate()
This command gets the frame-rate value of playing video. However, if you want to see frame-rate, the source or playlist must have information about frame-rate.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Number | |
playerInstance.seekFrame(frameCount)
This command moves the playback to frameCount.
Request
Response
Type | Memo |
---|---|
Number | frameCount to move |
Type | Memo |
---|---|
Number | Moved frameCount |
playerInstance.getDuration()
This command gets the duration of the content.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Number | In live-broadcast, mark as Infinity |
playerInstance.getPosition()
This command gets the current playing time of content.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Number | |
playerInstance.getVolume()
This command gets the volume value set in OvenPlayer.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Number | 0 ~ 100 |
playerInstance.setVolume(volume)
You can use this command to control volume in OvenPlayer.
Request
Response
Type | Memo |
---|---|
Number | 0 ~ 100 |
Type | Memo |
---|---|
null | |
playerInstance.getMute()
This command gets if OvenPlayer is currently muted (or volume: 0).
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Boolean | |
playerInstance.setMute(isMute)
You can use this command to set mute.
Request
Response
Type | Memo |
---|---|
Boolean | |
Type | Memo |
---|---|
Boolean | muted or not |
playerInstance.play()
This command plays OvenPlayer.
If OvenPlayer is not ready to play, OvenPlayer will wait until it is prepared and then play.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
null | |
playerInstance.pause()
This command pauses the playing content.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
null | |
playerInstance.seek(position)
This command moves the playback to a position.
Request
Response
Type | Memo |
---|---|
Number | Seconds |
Type | Memo |
---|---|
null | |
playerInstance.getPlaybackRate()
This command gets the playback speed information of content.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Number | |
playerInstance.setPlaybackRate(playbackRate)
You can use this command to adjust the playback speed in OvenPlayer.
Request
Response
Type | Memo |
---|---|
Number | Playback speed to change |
Type | Memo |
---|---|
Number | Changed playback speed |
playerInstance.getPlaylist()
This command gets a registered playlist.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Array | |
example
[
{
title : "01",
adTagUrl : "https://pubads.g.doubleclick.net/gampad/ads?...",
image : "https://path.to/your_video_thumbnail.jpeg",
duration : 7343,
sources: [ {
type : "mp4",
file : "https://path.to/your_video",
label : "360P"
}],
tracks: [{
kind : "captions",
file : "https://path.to/your_caption.vtt",
label : "KO vtt"
}]
},
...
]
playerInstance.getCurrentPlaylist()
This command gets the index information of the playlist currently playing.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Number | |
playerInstance.setCurrentPlaylist(playlistIndex)
This command changes the playlist currently playing.
Request
Response
Type | Memo |
---|---|
Number | |
Type | Memo |
---|---|
null | |
playerInstance.getSources()
This command gets information about sources from the playlist or sources of a single content currently playing.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Array | |
example
[{
file: "https://bitmovin-a.akamaihd.net/content/MI201109210084_1/mpds/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd",
index: 0,
label: "MPD test",
type: "dash"
}]
playerInstance.getCurrentSource()
This command gets the index information of the currently playing source.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Number | |
playerInstance.setCurrentSource(index)
This command changes the source of the playing content. It depends on your settings, but the protocol and video quality (resolution) will change by default.
Request
Response
Type | Memo |
---|---|
Number | |
Type | Memo |
---|---|
Number | Configured source index |
playerInstance.getQualityLevels()
This command gets a list of resolutions if the metadata in the playing content contains quality information. And it is available when using the MPEG-DASH protocol.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Array | |
example
[
{
bitrate: 250000,
height: 180,
index: 0,
label: "320x180, 250.0kbps",
width: 320
},
...
]
playerInstance.getCurrentQuality()
This command gets the index of the current video quality information.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Number | |
playerInstance.setCurrentQuality(index)
You can use this command to set to play as index quality.
Request
Response
Type | Memo |
---|---|
Number | |
Type | Memo |
---|---|
null | |
playerInstance.isAutoQuality()
This command checks whether the video quality has been set to change automatically based on internet status, condition, and more.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Boolean | |
playerInstance.setAutoQuality(isAuto)
You can use this command to set whether to change the video quality automatically.
Request
Response
Type | Memo |
---|---|
Boolean | |
Type | Memo |
---|---|
null | |
playerInstance.getCaptionList()
It reads the list of registered subtitles in the current playlist.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Array | |
[
{
data : [VTTCue],
file: captionUrl,
id: "captions0",
kind: "captions",
label: "KO vtt",
name: "KO vtt",
}
]
playerInstance.getCurrentCaption()
This command gets the index of the using subtitle in the current playlist.
Request
Response
Type | Memo |
---|---|
null | |
Type | Memo |
---|---|
Number | |
playerInstance.setCurrentCaption(index)
You can use this command to set the subtitle of the current playlist to the caption of the index.
Request
Response
Type | Memo |
---|---|
Number | |
Type | Memo |
---|---|
null | |
playerInstance.addCaption(track)
You can use this command to add subtitles to the current playlist.
Request
Response
Type | Memo |
---|---|
Object | |
{
kind: "captions",
file: captionUrl,
label: "KO vtt"
}
Type | Memo |
---|---|
| |
playerInstance.removeCaption(index)
You can use this command to remove the subtitle corresponding to the index from the current playlist.