{"id":22485300,"url":"https://github.com/LarchLiu/vue3-video-player","last_synced_at":"2025-08-02T18:32:01.637Z","repository":{"id":42227116,"uuid":"331267218","full_name":"LarchLiu/vue3-video-player","owner":"LarchLiu","description":"vue3 version of vue-core-video-player","archived":false,"fork":false,"pushed_at":"2024-02-27T12:21:05.000Z","size":2644,"stargazers_count":98,"open_issues_count":10,"forks_count":20,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-29T00:26:06.183Z","etag":null,"topics":["video","video-player","vue","vue3"],"latest_commit_sha":null,"homepage":"https://larchliu.github.io/vue3-video-player/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LarchLiu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-20T10:12:23.000Z","updated_at":"2024-10-01T14:41:31.000Z","dependencies_parsed_at":"2024-06-18T21:04:11.642Z","dependency_job_id":"73c9cb25-8edf-4a47-8681-c6b2176558f6","html_url":"https://github.com/LarchLiu/vue3-video-player","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LarchLiu%2Fvue3-video-player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LarchLiu%2Fvue3-video-player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LarchLiu%2Fvue3-video-player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LarchLiu%2Fvue3-video-player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LarchLiu","download_url":"https://codeload.github.com/LarchLiu/vue3-video-player/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228499947,"owners_count":17929987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["video","video-player","vue","vue3"],"created_at":"2024-12-06T17:12:21.107Z","updated_at":"2024-12-06T17:14:13.884Z","avatar_url":"https://github.com/LarchLiu.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# vue3-video-player\n\n#### vue3 version of [vue-core-video-player](https://github.com/core-player/vue-core-video-player)\n\n[![npm version](https://img.shields.io/npm/v/@cloudgeek/vue3-video-player.svg?style=flat-square)](https://www.npmjs.com/package/@cloudgeek/vue3-video-player)\n[![npm downloads](https://img.shields.io/npm/dm/@cloudgeek/vue3-video-player.svg?style=flat-square)](https://www.npmjs.com/package/@cloudgeek/vue3-video-player)\n\n## Docs\n\n+ [English Document](https://core-player.github.io/vue-core-video-player/)\n+ [中文文档](https://core-player.github.io/vue-core-video-player/zh/)\n+ [日本語](./docs/jp/README.md)\n\n## Feature\n- multiple instances in the same page\n  \n- support barrage / danmaku\n\n- customize controls [demo](https://stackblitz.com/edit/vitejs-vite-rf6dum?file=src%2FApp.vue)\n\n- HLS plugin [@cloudgeek/playcore-hls](https://github.com/LarchLiu/playcore-hls)\n\n- i18n: zh-CN | pt-BR | jp | en(default)\n\n- [example](https://github.com/LarchLiu/vue3-video-player/blob/master/src/App.vue) \u0026ensp; [demo](https://larchliu.github.io/vue3-video-player/)\n\n## Get Started\n\n#### Npm\n\n``` bash\n$ npm install @cloudgeek/vue3-video-player --save\n```\n\n#### Yarn\n\n``` bash\n$ yarn add @cloudgeek/vue3-video-player\n```\n\n## Basic Use\n```\n// main.js\nimport Vue3VideoPlayer from '@cloudgeek/vue3-video-player'\nimport '@cloudgeek/vue3-video-player/dist/vue3-video-player.css'\n\nconst app = createApp(App)\n\napp.use(Vue3VideoPlayer, {\n  lang: 'zh-CN'\n}).mount('#app')\n```\n``` vue\n// your component\n\u003ctemplate\u003e\n  \u003cdiv class=\"player-container\"\u003e\n    \u003cvue3-video-player @play=\"your_method\" src=\"./videos/your_video.mp4\"\u003e\u003c/vue3-video-player\u003e\n  \u003c/div\u003e\n\u003ctemplate\u003e\n```\n\n## Support barrage / danmaku\n\n``` vue\n\u003cdiv class=\"test-player-wrap\"\u003e\n  \u003cvue3-video-player @global-auto-play=\"autoPlay\" :src=\"source2\" title=\"Smartisan T1\"\n  :barrageConfig=\"{fontSize: 20, opacity: 90, position: 80, barrageList: barrages2}\" :view-core=\"viewCore\"\u003e\n  \u003c/vue3-video-player\u003e\n\u003c/div\u003e\n```\n\n## Customize Controls\n\nUse slot name 'cusControls' like this:\n\n```vue\n\u003cvue3-video-player :src=\"source\" :view-core=\"viewCore.bind(null, 'video1')\"\u003e\n  \u003ctemplate #cusControls\u003e\n    \u003cpicture-in-picture :player=\"players['video1']\" /\u003e\n    \u003cspan class=\"btn-play\" @click=\"play('video1')\"\u003e\n      \u003csvg\n        xmlns=\"http://www.w3.org/2000/svg\"\n        width=\"41\"\n        height=\"47\"\n        viewBox=\"0 0 41 47\"\n      \u003e\n        \u003cpath\n          d=\"M23.5,0,47,41H0Z\"\n          transform=\"translate(41) rotate(90)\"\n          fill=\"#fff\"\n        /\u003e\n      \u003c/svg\u003e\n    \u003c/span\u003e\n  \u003c/template\u003e\n\u003c/vue3-video-player\u003e\n```\nYou can use custom components like [PictureInPicture](https://stackblitz.com/edit/vitejs-vite-rf6dum?file=src%2Fcomponents%2FPictureInPicture.vue)\n\nIf you want to use video player funtion, just pass props of view-core and you will get the instance of player.\n\nIf there are multiple videos you can control player with id that defined by yourself.\n\n``` vue\nviewCore (id, player) {\n  console.log(id, player)\n  this.players[id] = player\n}\n```\n\n[example](https://stackblitz.com/edit/vitejs-vite-rf6dum?file=src%2FApp.vue)\n\n## HLS\n```\nimport HLSCore from '@cloudgeek/playcore-hls'\n```\n\n``` vue\n\u003cdiv class=\"test-player-wrap\"\u003e\n  \u003cvue3-video-player :core=\"HLSCore\" :src=\"liveArrSource\" title=\"test\"\u003e\n  \u003c/vue3-video-player\u003e\n\u003c/div\u003e\n```\n\n## i18n\nYou can use the built-in languages: 'en', 'zh-CN', 'pt-BR', 'jp'\n```vue\napp.use(Vue3VideoPlayer, {\n  lang: 'zh-CN'\n}).mount('#app')\n```\nOr defined by yourself\n```vue\nconst myLang = {\n  dashboard: {\n    btn: {\n      play: '播放',\n      pause: 'Pause',\n      fullscreen: 'Tela inteira',\n      exitFullscreen: 'Sair da tela inteira',\n      mute: 'Mute',\n      unmute: 'Unmute',\n      back: 'Back',\n      pip: 'ピクチャインピクチャ',\n    },\n    settings: {\n      autoplay: 'Autoplay',\n      loop: 'ループプレイ',\n      speed: 'Speed',\n      resolution: 'Resolution',\n    },\n  },\n  layers: {\n    error: {\n      title: 'Error!',\n      2404: 'Video Source Undefined',\n      2502: 'Media Network Error',\n      2503: 'Video Cannot DECODE',\n      2504: 'Video Cannot Play!',\n      601: 'Live video Cannot Play!',\n    },\n    loading: {\n      msg: 'Loading ...',\n    },\n  },\n};\n\napp.use(Vue3VideoPlayer, {\n  lang: myLang\n}).mount('#app')\n```\n[example](https://stackblitz.com/edit/vitejs-vite-rf6dum?file=src%2Fmain.js)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLarchLiu%2Fvue3-video-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLarchLiu%2Fvue3-video-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLarchLiu%2Fvue3-video-player/lists"}