1 Star 0 Fork 13

Caner/jsmpeg-player

forked from 云帆/jsmpeg-player 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

jsmpeg-player

介绍

对jsmpeg二次开发并封装为vue组件

软件架构

单链路即:rtsp流=>ffmpeg转码=>http server接收=>websocket server转发=>websocket client (图中少画了一个Http server,懒得改了.....)

在这里插入图片描述

安装教程

使用说明

  • 属性:
名称 类型 说明
url string 视频流地址
title string 播放器标题
options object jsmpeg原生选项,直接透传,详见下表
closeable boolean 是否可关闭(单击关闭按钮,仅抛出事件)
in-background boolean 是否处于后台,如el-tabs的切换,路由的切换等
show-duration boolean 是否现实持续播放时间
default-mute boolean 默认静音
with-toolbar boolean 是否需要工具栏
名称 类型 说明
canvas HTMLCanvasElement 用于视频渲染的HTML Canvas元素。如果没有给出,渲染器将创建自己的Canvas元素。
loop boolean 是否循环播放视频(仅静态文件),默认=true
autoplay boolean 是否立即开始播放(仅限静态文件),默认=false
audio boolean 是否解码音频,默认=true
video boolean 是否解码视频,默认=true
poster string 预览图像的URL,用来在视频播放之前作为海报显示。
pauseWhenHidden boolean 当页面处于非活动状态时是否暂停播放,默认=true(请注意,浏览器通常会在非活动选项卡中限制 JS)
disableGl boolean 是否禁用WebGL,始终使用Canvas2D渲染器,默认=false
disableWebAssembly boolean 是否禁用WebAssembly并始终使用JavaScript解码器,默认=false(不建议设置为true)
preserveDrawingBuffer boolean WebGL上下文是否创建必要的“截图”
progressive boolean 是否以块的形式加载数据(仅静态文件)。当启用时,回放可以在完整加载源之前开始。
throttled boolean 当不需要回放时是否推迟加载块。默认=progressive
chunkSize number 使用时,以字节为单位加载的块大小。默认(1 mb)1024*1024
decodeFirstFrame boolean 是否解码并显示视频的第一帧,一般用于设置画布大小以及使用初始帧作为"poster"图像。当使用自动播放或流媒体资源时,此参数不受影响。默认true
maxAudioLag number 流媒体时,以秒为单位的最大排队音频长度(可以理解为能接受的最大音画不同步时间)。
videoBufferSize number 流媒体时,视频解码缓冲区的字节大小。默认的512 * 1024 (512 kb)。对于非常高的比特率,您可能需要增加此值。
audioBufferSize number 流媒体时,音频解码缓冲区的字节大小。默认的128 * 1024 (128 kb)。对于非常高的比特率,您可能需要增加此值。
  • 事件:
名称 参数 说明
包含所有jsmpeg原生事件 具体看jsmpeg官方文档
onSourceConnected 当websocket连接上服务端时触发
onSourceStreamInterrupt 当websocket超过一定时间没有收到流时触发
onSourceStreamContinue 当onSourceStreamInterrupt触发后websocket第一次接收到流时触发
onSourceClosed 当websocket关闭后触发
onResolutionDecode width,height 当获取到视频分辨率后触发
  • 演示:

无信号时:

在这里插入图片描述

正常播放:

在这里插入图片描述

旋转:

在这里插入图片描述

接流中断:

在这里插入图片描述

截图测试:

在这里插入图片描述

录制测试:

在这里插入图片描述

参与贡献

MIT License Copyright (c) 2021 云帆 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

对jsmpeg二次开发并封装为vue组件 展开 收起
README
MIT
取消

发行版

暂无发行版

贡献者 (2)

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/dataup/jsmpeg-player.git
git@gitee.com:dataup/jsmpeg-player.git
dataup
jsmpeg-player
jsmpeg-player
master

搜索帮助