An open API service indexing awesome lists of open source software.

https://github.com/alterhu2020/vue-videojs7

A vue hls video player plugin using video.js 7
https://github.com/alterhu2020/vue-videojs7

hls-live-streaming hls-player hls-video html5-video html5-video-player html5-video-player-sample m3u8-player m3u8-videos videojs-component videojs7 vue-hls vue-video vue-video-player vue-videojs vue-videojs-demo

Last synced: 7 months ago
JSON representation

A vue hls video player plugin using video.js 7

Awesome Lists containing this project

README

        

# vue-videojs7

A vue video.js7 plugin, so you can play hls video(m3u8 format) within html5 easily, original forked from :
[https://github.com/surmon-china/vue-video-player](https://github.com/surmon-china/vue-video-player)

## Demo Page

- [Demo for Video.js 7 m3u8 player](https://code.seniortesting.club/vue-videojs7/)

## How to use

### 1. Install the plugin
```
yarn add vue-videojs7
npm install vue-videojs7 --save
```
### 2. usage

#### 2.1 Method1: Use with mount as global
```
import Vue from 'vue'
import {VideoPlayer} from 'vue-videojs7'

Vue.use(VideoPlayer, /* {
options: global default videojs options,
events: global videojs videojs events
} */)
```

#### 2.2 Method2: Use with mount as component

```
import {videoPlayer} from 'vue-videojs7'

export default {
components: {
videoPlayer
}
}

```

#### 2.3 Method3: Integration with nuxt as plugin

1. Create a nuxt plugin located in this place: `~/plugins/vue-videojs7.js`, put below code:

```vue
import Vue from 'vue'
import VideoPlayer from 'vue-videojs7'

Vue.use(VideoPlayer, /* {
options: global default videojs options,
events: global videojs videojs events
} */)

```
2. Register the plugin in your `nuxt.config.js` file:

```vue
plugins: [
{src: '~/plugins/vue-videojs7.js', mode: 'client'}
]
```
3. import the component in your vue file:

```vue



```

For detail configuration in nuxt project, check the [example nuxt code](https://github.com/alterhu2020/vue-videojs7/tree/master/examples/nuxt/)

## Example code

Detail full copied example from [Home.vue](https://github.com/alterhu2020/vue-videojs7/blob/master/src/views/Home.vue)

```


Using Html5 to play m3u8 media file




import VideoPlayer from '@/components/VideoPlayer.vue'

export default {
name: 'home',
components: {
VideoPlayer
},
data () {
return {
playerOptions: {
autoplay: true,
controls: true,
controlBar: {
timeDivider: false,
durationDisplay: false
}
// poster: 'https://surmon-china.github.io/vue-quill-editor/static/images/surmon-5.jpg'
}
}
},
computed: {
player () {
return this.$refs.videoPlayer.player
}
},
methods: {
onPlayerPlay (player) {
console.log('player play!', player)
},
onPlayerReady (player) {
console.log('player ready!', player)
this.player.play()
},
playVideo: function (source) {
const video = {
withCredentials: false,
type: 'application/x-mpegurl',
src: source
}
this.player.reset() // in IE11 (mode IE10) direct usage of src() when <src> is already set, generated errors,
this.player.src(video)
// this.player.load()
this.player.play()
}
},
mounted () {
const src = 'https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8'
this.playVideo(src)
}
}

.player {
position: absolute !important;
width: 100%;
height: 60%;
}
.vjs-custom-skin {
height: 60% !important;
}

.vjs-custom-skin /deep/ .video-js {
height: 60%;
}

```

## Donate

`vue-videojs7` is an MIT licensed open source project and completely free to use. However, the amount of effort needed to maintain and develop new features for the project is not sustainable without proper financial backing.

### One-time Donations

We accept donations through these channels:

- [Paypal](https://paypal.me/alterhu2020)
- [WeChat Pay](https://imgur.com/fqPZmHx)
- [Alipay](https://imgur.com/cFdABPL)

## Author

**vue-videojs7** © alterhu2020, Released under the MIT License.
Authored and maintained by alterhu2020 with help from contributors.