Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
vue-responsive-video-background-player
Advanced tools
Play your own videos in background responsively
If you are looking to play videos in the background, you have found the best Vue package for it 😜 (Currently no YouTube videos)
Prerequisites: Vue 2.x.x or Vue 3.x.x
# For Vue 2.x.x
npm install vue-responsive-video-background-player@1.3.1
# For Vue 3.x.x
npm install vue-responsive-video-background-player
import VideoBackground from 'vue-responsive-video-background-player'
Vue.component('video-background', VideoBackground);
import { Plugin } from 'vue-responsive-video-background-player'
Vue.use(Plugin);
Thanks to @skoulix for his instructions:
Again this is only for Nuxt.js users. Gridsome users click here. At your nuxt.config.js
locate the part where you declare your plugins and import the file. Example:
plugins: [
{
src: '~/plugins/vue-video-background',
ssr: false
}
]
Now the component is globally available and can be used at any .vue file without issues.
Thanks to @Vertenz for his instructions:
for NUXT 3 I used directive to make it work. Create plugins directory then add video-bg.client.ts (or any name but .client is obligatory for client side render, cause you don't have the window at ssr) file with
import { defineNuxtPlugin } from "#app";
import { Plugin } from "vue-responsive-video-background-player";
export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.vueApp.use(Plugin);
});
then you use the video-background tag
<video-background
src="<your-video-path>.mp4"
style="max-height: 400px; height: 100vh;"
>
<h1 style="color: white;">Hello welcome!</h1>
</video-background>
<video-background
src="<your-default-video-path>.mp4"
poster="/images/mainfoto.jpg"
:sources="[
{src: '<your-tablet-video-path>.mp4', res: 900, autoplay: true},
{src: '<your-mobile-video-path>.mp4', res: 638, autoplay: true, poster: '<your-mobile-background-image-path>.png'}
]"
style="max-height: 400px; height: 100vh;"
overlay="linear-gradient(45deg,#2a4ae430,#fb949e6b)"
>
<h1 style="color: white;">Hallo welcome!</h1>
</video-background>
https://avidofood.github.io/vue-responsive-video-background-player/
This package is for responsive videos depicting different video resolution. Have you ever visited my favorite car company Tesla? Have a look, they use a lot of video background videos and are using different resolutions for each device.
src
(required: true
)This is your path to your video. You can just use this value for showing your video in every resolution.
Warning for Vue CLI: You need to bind the source like this:
:src="require(`@/assets/video/timelapse.mp4`)"
. Read here why
poster
(default: ''
)This is your first background image that is shown before the video is loaded.
Warning for Vue CLI: You need to bind the source like this:
:src="require(`@/assets/img/logo.png`)"
. Read here why
sources
(default: []
)This is the main reason for this package. I wanted to have the possibility to change the resolution of the video when the resize event is fired.
To make it work, sources is an array that contains objects. For example:
[{src: '<your-mobile-video-path>.mp4', res: 638, autoplay: true, poster: '<your-mobile-background-image-path>.png'}]
To make it work you need at least src, res, autoplay
.
poster
is optional.
res
stand for resolution. This example means that between 0px and 638px of the window's width only the mobile video will be shown. After that your default src
.
autoplay
(default: true
)The video is going to be played immediately when the video is ready. If you are setting it to false, you can start the video just by this.$refs.videobackground.player.play()
. But remember to set ref=videobackground
to the HTML tag <video-background>
, so that it can work.
overlay
(default: ''
)
If you love overlays, then copy the overlay from the advanced example.
muted
(default: true
)
Warning. Videos are perhaps not played when unmuted.
loop
(default: true
)Loops through the video. You can catch the event ended
to show only the poster.
preload
(default: auto
)https://www.w3schools.com/tags/att_video_preload.asp
objectFit
(default: cover
)So the video fits perfectly in the container
playsWhen
(default: canplay
)This is important, if you know that you might have users with bad internet speed, you should definetly use canplaythrough
. Learn more in video events.
playbackRate
(default: 1.0
)The playbackRate property sets the current playback speed of the video. Example but negative values didn't work for me?
transition
(default: fade
)You can add your own transition styles here. If you set it to empty string, it won't show any transitions.
ready
: Video is loadedplaying
: Video is playingerror
: Video errorloading
: Video is loadingended
: Video finished, only when loop
is set to falseIf you happen to need more control over the player, you can use the internal methods. For that, you need to set ref=videobackground
to the HTML tag <video-background>
. After that you can call all methods like this this.$refs.videobackground.player.play()
.
play()
: Video is playing
pause()
: Video is paused
show()
: Video is shown
hide()
: Video is hidden, the poster is shown
load()
: Video is loaded
If you discover any security related issues, please don't email me. I'm afraid 😱. avidofood@protonmail.com
Now comes the best part! 😍 This package is based on
Oh come on. You read everything?? If you liked it so far, hit the ⭐️ button to give me a 🤩 face.
Mental node. Because of vue-cli, I cannot upgrade to webpack 5, therefore I cannot use laravel-mix 6...
FAQs
Play your own videos in background responsively
The npm package vue-responsive-video-background-player receives a total of 1,182 weekly downloads. As such, vue-responsive-video-background-player popularity was classified as popular.
We found that vue-responsive-video-background-player demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.