### Register Plugin with videojs.registerPlugin()
Source: https://github.com/videojs/video.js/wiki/Video.js-6-Migration-Guide
Use videojs.registerPlugin() instead of videojs.plugin() for registering plugins. This example shows a cross-compatible way to handle both.
```javascript
var registerPlugin = videojs.registerPlugin || videojs.plugin;
registerPlugin('myPlugin', function() {
// ...
});
```
--------------------------------
### Get Source Object from src() in Video.js
Source: https://github.com/videojs/video.js/wiki/Video.js-6-Migration-Guide
The src() function in Video.js 6 returns the source object determined by the middleware. Use player.tech(true).src() to access the actual source being played in the video element.
```javascript
{type: 'application/x-mpegURL', src: 'https://.../url/to/manifest.m3u8'}
```
```javascript
player.tech(true).src();
```
--------------------------------
### Initialize Video.js Player with Options and Callback
Source: https://github.com/videojs/video.js/blob/main/README.md
Initialize a Video.js player with custom options and a callback function that executes when the player is ready. The callback provides access to the player instance via `this`.
```javascript
var options = {};
var player = videojs('my-player', options, function onPlayerReady() {
videojs.log('Your player is ready!');
// In this context, `this` is the player that was created by Video.js.
this.play();
// How about an event listener?
this.on('ended', function() {
videojs.log('Awww...over so soon?!');
});
});
```
--------------------------------
### Handle Asynchronous Player Readiness
Source: https://github.com/videojs/video.js/wiki/5.0-Change-Details
Use the ready callback to ensure the player is fully initialized before interacting with it.
```js
var player = videojs('my-video');
player.ready(function() {
// Do stuff with `player`...
});
```
--------------------------------
### Include Video.js via unpkg (latest version)
Source: https://github.com/videojs/video.js/blob/main/README.md
Use this method to include the latest version of Video.js via the unpkg CDN.
```html
```
--------------------------------
### Include Video.js via unpkg (specific version)
Source: https://github.com/videojs/video.js/blob/main/README.md
Include a specific version of Video.js by specifying the version number in the URL. Change the version numbers as necessary.
```html
```
--------------------------------
### Asynchronous Player Readiness
Source: https://github.com/videojs/video.js/wiki/5.0-Change-Details
Explains how to handle player readiness asynchronously in Video.js 5.0, ensuring code execution only after the player is ready.
```APIDOC
## Asynchronous Player Readiness
### Description
Player objects are now ready asynchronously. This ensures that any code interacting with the player runs only after it has been fully initialized, which was not always the case with non-Flash players in previous versions.
### Method
`player.ready(callback)`
### Endpoint
N/A (Instance method)
### Parameters
#### Path Parameters
N/A
#### Query Parameters
N/A
#### Request Body
N/A
### Request Example
```javascript
var player = videojs('my-video');
player.ready(function() {
// Do stuff with `player`...
});
```
### Response
#### Success Response (200)
N/A
#### Response Example
N/A
```
--------------------------------
### Create Components with videojs.extend() or ES6 Classes
Source: https://github.com/videojs/video.js/wiki/Video.js-6-Migration-Guide
Use videojs.extend() or ES6 classes to create new components instead of Component.extend(). Register the component using videojs.registerComponent().
```javascript
var MyComponent = videojs.extend(Component, {...});
videojs.registerComponent('MyComponent', MyComponent);
```
```javascript
class MyComponent extends Component {...};
videojs.registerComponent('MyComponent', MyComponent);
```
--------------------------------
### Include Video.js via CDN
Source: https://github.com/videojs/video.js/blob/main/README.md
Add these tags to your document's `
` to include the Video.js CSS and JavaScript files from the Fastly CDN.
```html
```
--------------------------------
### Include Video.js via CDNJS (specific version)
Source: https://github.com/videojs/video.js/blob/main/README.md
Include a specific version of Video.js using CDNJS. Ensure to update the version numbers as needed.
```html
```
--------------------------------
### Manually Initialize Video.js Player
Source: https://github.com/videojs/video.js/blob/main/README.md
Initialize a Video.js player programmatically by calling the `videojs` function with the player's ID. This is an alternative to using the `data-setup` attribute.
```javascript
var player = videojs('my-player');
```
--------------------------------
### Basic Video.js Player Embedding
Source: https://github.com/videojs/video.js/blob/main/README.md
Embed a video using the `