Millicast viewer plugin for Vue framework. It uses Vuex store for the plugin state management.

Overview

Millicast Vue.js Web Viewer Plugin

Vue.js plugin to embed viewer of a Millicast stream. This plugin allows developers to simplify Millicast services integration into their own Vue.js apps.

Installation

To install the dependecies to your project, from the command line execute the following instruction:

npm install @millicast/vue-viewer-plugin

Basic Usage

To import the plugin to your Vue application, in your main.js file be sure to have the following structure:

import { createApp } from 'vue'
import App from './App.vue'
// import the plugin
import VideoPlayer from "@millicast/vue-viewer-plugin"

const  Vue = createApp(App)

// install within your app
Vue.use(VideoPlayer, {})

Vue.mount('#app')

At the end of the file App.vue, you must include the following dependecy:

<style>
    @import "@millicast/vue-viewer-plugin/dist/millicast-vue-viewer-plugin.css";
</style>

Optional: If you want to use the chromecast feature you should also add the next script in your HTML:

<script src="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1"></script>

Once this is done, you are ready to use the plugin in any Vue file of your project as a component.

Configuration Parameters

Name Type Attribute Default Description
accountId String Mandatory Millicast existing Account ID where you want to get the stream.
streamName String Mandatory Millicast existing Stream Name where you want to get the stream.
muted Boolean Optional false The streaming will start muted.
autoplay Boolean Optional true The streaming will autoplay when connected.
hideButtons Array.<String> Optional [] The list is provided further in this document.
image String Optional Placeholder image while stream is offline

To be able to use the viewer, just reference to the component VideoPlayer, and pass the parameters of your choice as an object in the parameter paramsOptions.

hideButtons options

In order to customize your experience using the plugin, you are able to hide the buttons.

Option Description
play Hides play button.
volume Hides volume button.
pip Hides the button that allows the small reproduction, in a corner of the window.
fullscreen Hides fullscreen button.
liveBadge Hides the message that indicates whether the stream is live or not.
userCount Hides the number of current viewers of the sreaming.
settings Hides settings button.

Example of Use

<VideoPlayer :paramsOptions="{accountId: '...', streamName: '...', autoplay: false, hideButtons: ['liveBadge'] }" />
  • Remember that accountId and streamName are the only requeried parameters.
  • At the moment, this plugin allows only one instantiation of the component at a time by project.

Example App

An example app is also provided which integrates a PubNub based live chat, this example can be found in the examples/live-chat folder.

To set your private PubNub & Millicast credentials, create a .env file. An example of this may be found in the examples/live-chat/.env.sample. Read Dolby.io Streaming Docs for more information on how to obtain your Millicast credentials.

In order to run this example app, execute the following commands:

cd examples/live-chat
npm install
npm run serve

This will install the dependencies and run the app.

Contribute

To develop and contribute to this project, there are some instructions of how to set up your environment to start contributing. Follow this link.

License

Please refer to LICENSE file.

You might also like...
Vue progressive image loader plugin like Medium
Vue progressive image loader plugin like Medium

vue-image-loader Vue progressive image loading plugin Article here : https://www.kevindesousa.me/vue-image-loader/ Installation $ npm install @kevinde

Vue plugin with simple component for choosing image

vue-image-chooser This is vue plugin with simple component for choosing image. It supports easy implementation for image upload to the backend. Instal

V-img is a plugin for Vue.js that allows you to show images in full-screen gallery
V-img is a plugin for Vue.js that allows you to show images in full-screen gallery

V-img is a plugin for Vue.js that allows you to show images in full-screen gallery

A directive supported plugin for PhotoSwipe in Vue.js components.

vue-photoswipe.js A directive supported plugin for PhotoSwipe in Vue.js components. install npm i vue-photoswipe.js -s Import photoswipe component and

Kirby block preview plugin to directly render block fields
Kirby block preview plugin to directly render block fields

Kirby Fields Block Kirby block preview plugin to directly render block fields, allowing for inline editing. Usage Block definition When creating a cus

Multiple select areas in one image (Plugin Vuejs)
Multiple select areas in one image (Plugin Vuejs)

Multi Select Areas Image Live Demos https://demo-multi-select-areas-image.herokuapp.com Installation With npm or yarn yarn add multi-select-areas-imag

A gallery plugin for vue2

A gallery plugin for vue2

A Vue component for showing loader during image loading https://john015.github.io/vue-load-image/

English | 한국어 Vue-load-image Vue-load-image is 1KB(gzipped size) minimalist Vue component that display loader during image loading and display alterna

Vue-cool-lightbox is a pretty Vue.js lightbox component, inspired by fancybox with zoom, swipe, captions and videos supported
Vue-cool-lightbox is a pretty Vue.js lightbox component, inspired by fancybox with zoom, swipe, captions and videos supported

Vue-cool-lightbox is a pretty Vue.js lightbox component, inspired by fancybox with zoom, swipe, captions and videos supported.

Comments
  • Feature/sync

    Feature/sync

    • Updated plugin with all latest viewer features
      • Multiview feature
      • Chromecast
      • Responsive fixes
      • Reconnect fix
    • Fixed Fullscreen issues:
      • Fixed Fullscreen exit using 'ESC' was leaving a buggy UI
      • Fixed fullscreen control not hiding when adding it to the hideControls option
    opened by nico-ramos 0
  • Bugfix/update plugin div (#6)

    Bugfix/update plugin div (#6)

    • Updates plugin main div id to "viewer-container"

    • Fixed viewer-count and 'live' badge visibility

    • Fixed whole top-bar visibility

    • Updated builds

    Co-authored-by: fcancela [email protected]

    opened by olbapbetan 0
Releases(v0.1.0-beta.1)
  • v0.1.0-beta.1(Oct 21, 2022)

    Changelog

    Added

    • Added support for multiview feature (show different streams at the same time, with possibility to switch between them).
    • Added support to cast using Chromecast.
    • Added Prettier configuration for code linting.
    • [LIVE-CHAT] Added possibility to change username.

    Changed

    • Updated Millicast SDK version to 1.34.
    • [LIVE-CHAT] Changed scrollbar styling.

    Fixed

    • Hide button 'fullscreen' is now working.
    • UI does not break when exiting fullscreen with the ESCAPE button.
    • [LIVE-CHAT] Enhance responsiveness.
    • [LIVE-CHAT] When credentials are not settled, shows error message and does not break.

    Limitations

    • Same as the previous release.
    Source code(tar.gz)
    Source code(zip)
  • v0.1.0-beta.0(Oct 6, 2022)

    This is the first beta test release of the Vue viewer plugin.

    For plugin usage instructions, please refer to the README.md.

    An Example App (EA) at examples/live-chat has been provided to illustrate the basic usage of the plugin.

    Usage of the EA is documented at its own readme at examples/live-chat/README.md.

    There are some known issues as indicated below that are currently being worked on.

    Known issues:

    • UI breaks when exiting fullscreen with ESCAPE button.
    • Hide button 'fullscreen' not working.

    Limitations:

    • The plugin cannot be instanced more than once due to the current Vuex store implementation.

    Full Changelog: https://github.com/millicast/vue-viewer-plugin/commits/v0.1.0-beta.0

    Source code(tar.gz)
    Source code(zip)
Owner
Millicast, Inc.
Realtime CDN
Millicast, Inc.
Image viewer component for vue, supports rotation, scale, zoom and so on, based on viewer.js

v-viewer Image viewer component for vue, supports rotation, scale, zoom and so on, based on viewer.js Live demo Examples directive component thumbnail

hua chen yu 0 Dec 3, 2020
Image viewer component for vue 3.x, supports rotation, scale, zoom and so on, based on viewer.js

v-viewer Image viewer component for vue, supports rotation, scale, zoom and so on, based on viewer.js v-viewer for vue2 Live demo Quick Example direct

mirari 14 Oct 29, 2022
A Simple and Beautiful 360° Product Viewer built on Vue.js

vue-360 A Simple and Beautiful 360° Product Viewer built on Vue.js Click here for React Version Demo Demo | Documentation Features 360° View Zoom Pan

Rajeev 88 Dec 5, 2022
An Mobile-First image viewer for Vue2 / 一个移动端优先的 Vue2 图片预览插件

img-vuer An Mobile-First image viewer for Vue2 中文 README ??‍♀️ Easy to use ?? Swipe gesture ?? Zoom gesture V0.11.0 Now you can use thumbnail~ V0.13.0

DJJo 260 Sep 20, 2022
JavaScript image viewer.

Viewer.js JavaScript image viewer. Website jquery-viewer - A jQuery plugin wrapper for Viewer.js. Table of contents Features Main Getting started Keyb

Fengyuan Chen 6.9k Jan 5, 2023
Build a web-based 3D viewer workshop

This repo is a part of the "Build a web-based 3D viewer workshop" conducted as part of AECTech2021. The workshop walks participants through the proces

CORE studio 19 Jun 7, 2022
Panorama viewer for your homepage

VueJS Panorama Viewer Embed panorama into your website VueJS version of JQuery Panorama Viewer Demo Demo Getting started using npm npm install vuejs-p

Mudin Ibrahim 20 Sep 7, 2022
PisaAI is a photo repair and retouching tool, that uses AI algorithms to automatically colorize black& white photos, repair old photos, and optimize blurred out-of-focus photos.

PisaAI(披萨智能)在线图片优化 Project setup yarn install Compiles and hot-reloads for development yarn serve Compiles and minifies for production yarn build L

Mark HOU 10 Sep 21, 2022
A photo gallery app using Vue.js + Vue Router + Vuex

Vue Photogram App A photo gallery app using Vue.js + Vue Router + Vuex Features: Using Pixabay Api Home, category, tag and single photo page Infinite

Emre Güney 7 Dec 12, 2022
A Vue.js (https://github.com/vuejs/vue) plugin that offers a reusable directive to get image from Cloudinary (https://cloudinary.com)

vue-cloudinary A Vue.js plugin that offers a reusable directive to get image from cloudinary Overview This is a port of the angular-cloudinary library

Diego Pamio 25 Dec 5, 2020