• Stars
    star
    191
  • Rank 202,877 (Top 4 %)
  • Language
    TypeScript
  • Created over 1 year ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🎬 Tiny Player 是一个轻量、可扩展的视频播放器,支持常见格式与 m3u8 等流式播放。

Tiny Player

TinyPlayer


Document | Features | Development

Features

极简的视频播放器,内置硬解功能,软解功能,可支持原生控件样式,自定义控件样式。旨在用最小的体积实现所需全部功能的播放器!

  • 🧩 兼容性好( 0 依赖,任何框架和浏览器都可以使用,支持移动端。)
  • 🌸 多格式支持,支持流式播放(支持 mp4、webm、ogg 等多种常见格式,支持 m3u8,支持自动切换。)
  • 🌟 控制栏可插拔(支持自定义控制栏,控制栏挂载到目标节点,支持自定义控制栏组件显示隐藏。)
  • 🎬 支持指定片段播放(通过入参指定片段播放,类裁剪。)
  • 🎨 轻量(仅 25kb 大小,gzip 压缩后仅 7kb 大小。)
  • 🥳 软解【wip】(支持音视频软解,支持自定义解码器,解决各个浏览器的兼容性问题。(开发中))

Usage

安装

npm i tiny-player
# or
yarn add tiny-player
# or
pnpm add tiny-player

使用

import TinyPlayer from 'tiny-player'

// 示例:实际使用的时候,很多参数都是可选的,只需要传入必要的参数即可,详情请查看文档
const tp = new TinyPlayer({
  container: document.querySelector('#tiny-player'), // 挂载节点
  poster: poster, // 封面地址
  controls: true, // 是否显示控制栏
  loop: true, // 循环播放
  volume: 0.9, // 音量
  autoplay: false, // 自动播放
  controlOptions: {
    playTime: true, // 是否显示播放时间
    volumeControl: true, // 是否显示音量控制条
    fullScreenControl: true, // 是否显示全屏按钮
    mountTarget: null, // 挂载目标节点
    nativeControls: false, // 是否使用原生控制条
  },
  preload: 'metadata', // 预加载
  src: videoSource, // 视频地址
  type: 'hls', // 视频类型
  waterMarkShow: true, // 是否显示水印
  waterMarkUrl: '//assets.fedtop.com/picbed/202306091010648.png',
  clipStart: 6, // 视频片段的开始时间
  clipEnd: 12, // 视频片段的结束时间
  // width: '800px', // 自定义宽度
  // height: '800px', // 自定义高度
  // "...":'...' // 开发中。。。
})

更多请查看文档

Development

调试或开发本项目:确保 node 版本 >= 16.15.1 ,且全局安装 pnpm

npm install -g pnpm
# 安装依赖
pnpm i
# 开发调试
pnpm dev
# 构建
pnpm build

在其他项目中调试

通用型:

# 开发
pnpm dev
# 获取项目地址
cd packages/core && pwd # "/Users/xxx/xxx/chuangkit-tiny-player/packages/core"
# 在其他项目中安装
pnpm add "/Users/xxx/xxx/chuangkit-tiny-player/packages/core"
yarn add "/Users/xxx/xxx/chuangkit-tiny-player/packages/core"
npm i "/Users/xxx/xxx/chuangkit-tiny-player/packages/core"

软连接形式:

pnpm dev
# 如果其他项目以 npm 作为包管理器
cd packages/core && npm link
# 如果其他项目以 yarn 作为包管理器
cd packages/core && yarn link
# 如果其他项目以 pnpm 作为包管理器
cd packages/core && pnpm link

# 在其他项目中安装
# npm
npm link tiny-player
# yarn
yarn link tiny-player
# pnpm
pnpm link tiny-player

相关参考:

More Repositories

1

wechat-bot

🤖一个基于OpenAi ChatGPT + WeChaty 实现的微信机器人 ,可以用来帮助你自动回复微信消息,或者管理微信群/好友,检测僵尸粉等...
JavaScript
3,308
star
2

github-old-feed

Replace the shit💩 new feed with the old one.
JavaScript
655
star
3

frontend-park

🌸这是一个有趣的前端趣味知识公园~该项目是我平时捣鼓前端相关技术的一些案例集合。【涵盖:(Tensorflow.js-姿态识别,人脸识别),(WebRTC-音视频通话,录屏,虚拟背景,信令服务器),(Threejs-太阳系,3D 动画),(图片处理-千图成像,图片压缩,画板),(隐写术-文本隐写加密,图片隐写加密)等等...】
Vue
448
star
4

wallpaper-box

🏞️ 一个桌面壁纸客户端,可以设置静态 / 动态壁纸,集成了 RunCat 的功能。(A desktop wallpaper client to set static / dynamic wallpapers, integrated with RunCat's features.)
TypeScript
327
star
5

prm-cli

🧩 快速切换包管理工具的镜像源。(Quickly switch the registry of the package management tool.)
TypeScript
78
star
6

github-university

Aggregate quality learning resources, useful tools, interesting projects in github... Updated every Monday.
JavaScript
43
star
7

ding-trans

Node环境下的一款小巧可爱的翻译工具
JavaScript
18
star
8

access-counter

🌈 超级简单好用的 github profile 访问计数器。 使用 Vercel KV for Redis 记录浏览量。
TypeScript
17
star
9

fedtop

专注分享前端技术, 包括前端框架, 工具, 工程化, 趋势...
TypeScript
12
star
10

fanyi

VS Code 划词翻译插件
TypeScript
11
star
11

folder-print

🌿快速生成文件夹目录结构,支持定义目录层级,支持生成到 markdown 文件。
JavaScript
11
star
12

vue-super

一个开袋即食的 vue3 项目模板。
TypeScript
10
star
13

vue-super-admin

一个适用于个人 ,团队协同开发的 vue3.2👆 管理后台模板。(简单,简洁)
Vue
8
star
14

node-park

该项目是我平时捣鼓的一些 node 相关案例集合,如果对你有所帮助,可以点个 star。 有什么问题也可以提 issue,我会尽快回复。
JavaScript
8
star
15

leetcut

和我一起leetcode每日算法打卡
JavaScript
7
star
16

dev-boy

🛠️ 小而美的 cli 工具包。(An awesome terminal cli toolkit.)🧰
TypeScript
7
star
17

pm-limiter

为你的协同仓库添加一个使用npm包管理器的限制
JavaScript
6
star
18

taro-vue3-weapp

一个基于taro的(vue3+TypeScript+pinia)小程序
Vue
6
star
19

wangrongding

About me
HTML
6
star
20

ding-script

一些自己平时空闲写的工具脚本,自用,喜欢的小伙伴可以点个star❤
JavaScript
5
star
21

web-ide

🛠️ 从零到一实现一个基于 web 的在线代码编辑器,目前正在开发阶段。
Vue
5
star
22

tmd

✍🏻 一个用 markdown 写笔记的应用。
TypeScript
4
star
23

diga

A library of tools for JavaScript
JavaScript
4
star
24

sparrow-js

小巧的Sparrow.js,超出你想象!
JavaScript
4
star
25

Leisure-room

Leisure-room是荣顶搭建的娱乐社区,为用于电影,音乐,读书,与分享生活方面提供一个小小的渠道与不一样的方式.
JavaScript
4
star
26

nuxt-quick-start

nuxt-app
JavaScript
3
star
27

ding-tools

一下小工具
JavaScript
3
star
28

fedtop-linter

自用的一些 linter
JavaScript
3
star
29

Spiritual-Food

我整理的一些学习所用的资料
HTML
3
star
30

vue-quick-start

vue-quick-start
Vue
3
star
31

dev-search

在命令行中快速搜索你想要的!
JavaScript
3
star
32

cut-word

英语是开发的利刃,只有将剑刃磨练的锋利了,我们在开发的道路上才能更好的披荆斩棘,才能走得更加长远。
3
star
33

SelfWebSite

我的个人网站
SCSS
3
star
34

threejs-park

threejs
JavaScript
3
star
35

pvp

王者荣耀官网首页(复刻)学习所用,切勿乱用!
3
star
36

micro-frontend-top

基于qiankun的微前端落地实践~
JavaScript
3
star
37

sparrow-meeting

WebRTC based Web end multi - person video and audio conferencing, suitable for distance education, medical collaboration, multi - person chat, multi - person meeting, remote assistance, etc(基于webRTC的Web端多人视频音频会议,适用于远程教育,医疗协同,多人聊天,多人会议,远程协助等)
JavaScript
3
star
38

extrusion

compressed file by node. Js
JavaScript
2
star
39

image-house

我的图片仓库
2
star
40

micro-frontends-lerna

基于qiankun和lerna的微前端落地实现
JavaScript
2
star
41

devtools

一个非常好用的开发者工具集!
Vue
2
star
42

vue3-admin

Vue
2
star
43

TF-boy

基于TensorFlow.js,使用 JavaScript 开发机器学习模型,并直接在浏览器或 Node.js 中使用机器学习模型。
2
star
44

puppeteer-park

puppeteer脚本合集
JavaScript
2
star
45

daily-love-greeting

daily-love-greeting
JavaScript
2
star
46

rust-park

Rust
1
star
47

ts-fighting

JavaScript
1
star