在视频能力上,平台可支持用户自行上传视频文件,也可将上传的点播文件作为虚拟直播进行播放。 EasyDSS能支持多屏播放,可兼容Windows、Android、iOS、Mac等操作系统,还能支持CDN转推,具备较强的可拓展性与灵活性。 今天和大家分享一个技术干货,如何使用OBS推流到EasyDSS平台实现同屏播放。 操作步骤如下:1)首先,打开OBS:2)打开设置,选择推流:3)按照rtmp://{ip}:{port}/{application}/id这个规则,配置相关参数后,即可推送流成功,实现视频直播同屏的效果 ,如图:我们在此前的文章也分享过如何使用OBS进行推流录屏与直播,感兴趣的用户可以翻阅我们往期的文章进行了解。
TSINGSEE青犀视频开发的播放器项目EasyPlayer有很多个分支,其中 EasyPlayer.js就是集成在EasyNVR、EasyGBS等平台内进行直播的网页播放器,并且EasyPlayer.js 已经成功实现了VR视频的播放(TSINGSEE青犀视频云服务将从EasyPlayer.js播放器支持VR播放启动VR研发)。 有网友用EasyPlayer-js DEMO(https://github.com/tsingsee/EasyPlayer.js)做了一个9分屏播放页面,但是反馈说到第七路的时候就无法播放了,如下图: 同构检查我们可以得知播放的是WEBSOCKET-FLV协议流,编码格式为H2.65,部分代码如下: react不支持这种模式,react只能用html方式,如下写法即可: 除了已经支持分屏之外, EasyPlayer.js播放器还已经支持断线重连功能,大家都可以在github上自由下载Demo版本,EasyPlayer项目各播放器同TSINGSEE青犀视频开发的安防视频管理平台一样,都是支持二次开发的
github.com/surparallel/unity_example_of_pelagia/tree/master/Ultimate%20Roguelike Ultimate Roguelike在屏幕上可以创建9千个
技术背景在写这篇文章之前,实际上几年之前,我们就有非常稳定的无纸化同屏的模块,本文借demo更新,算是做个新的总结,废话不多说,先看图,本文以Android平台屏幕实时采集推送,Windows播放为例 技术考量指标本文以大牛直播SDK前些年实现的Android同屏采集推送为例,大概介绍下一些技术考量指标。1. 轻量级RTSP服务还是RTMP? 我们在做无纸化同屏的时候,问的最多的是,能不能不要自建服务,直接主讲人或教师端,直接启动轻量级RTSP服务,其他终端拉流,如果是小并发,比如5人内的小范围的同屏,Windows平台走轻量级RTSP无可厚非 同屏延迟,能不能做到毫秒级废话不多说,上视频,延迟毫秒级。10. 能不能采集到扬声器的audio? 同屏过程中,重点画面可以快照吗?当然可以,我们同屏采集端,支持采集编码png或jpg格式输出。
display this help and exit [root@56-201 ~]# 这里不准备演示 scriptreplay 的使用方法,其实也很简单 这里接合重定向实现文本终端的同屏 56-201 Icon name: computer-vm Chassis: vm Machine ID: 33dc28f7e76c4903ad9b603b77e29a7c qlen 1000 link/ether 52:54:00:16:5e:11 brd ff:ff:ff:ff:ff:ff [root@56-201 ~]# ---- 目标 通过重定向实现文本终端同屏 通过跟踪日志实现文本终端同屏 ---- 创建日志 [root@56-201 jail]# ll total 0 drwxr-xr-x. 2 root root 30 7月 30 19:04 bin bin lib64 [root@56-201 jail]# 之后从客户端 terminal 中看到的就是服务端中的内容,这个方法客户端登录后要主动使用 tail 命令,服务端不用做什么别的操作 两种同屏效果
RTSP协议探究RTSP播放器可广泛应用于对延迟要求比较高的场景下,比如协同操控相关的智能机器人或无人机、实时视频监控、远程视频会议、网络电视等。通过控制信令实现对流媒体数据的远程控制和传输管理。 三、协议功能播放控制:客户端可以通过RTSP命令控制媒体流的播放,如播放、暂停、停止、快进和快退等。 如何实现RTSP播放器 本文以大牛直播SDK的Windows平台RTSP直播播放器为例,大概介绍下,如何集成RTSP直播播放能力。 NT_SP_StartPlay开始播放RTMP或RTSP流数据。 停止播放NT_SP_StopPlay停止播放RTMP或RTSP流数据。关闭播放实例NT_SP_Close调用Close接口后,player handler置空。
背景分析 互联网同屏直播越来越火热,我们知道很多游戏主播都采用同屏的方式给观众直播,同屏直播组件层出不穷,SkeyeLive就是OpenSKEYE视开视频云团队研发的一款简单、高效、稳定的集采集,编码 SkeyeLive同屏解决方案 从早期的简单拉rtsp、rtmp流再转推rtmp或者rtsp分发,到现在形成完善的音视频采集,到超低延迟,高并发的流媒体综合功能组件软件,SkeyeLive已经经过了5年的开发迭代历史 8432) 即可同步拉取skeyelive服务端的流,SkeyeLive提供了Skeyeliveplayer同屏客户端SDK组件和播放器源码,通过几个非常简单的API接口即可实现同屏客户端的同屏播放。 100ms以内,最高不超过300ms; 8、同屏播放端支持麦克风、扬声器单独和同时播放; 9、同屏直播单台并发不低于200台并发; 10、同屏播放端支持断线重连,5秒内恢复重连; 11、支持7*24小时运行 SkeyeLive应用场景 * 课堂同屏直播: 可以通过PC、手机、平板电脑等多种设备的摄像头为视频源,进行对外的课堂同屏直播服务输出; * 网络游戏直播: 游戏直播人只要有一台接入网络的电脑,下载并使用
背景分析互联网同屏直播越来越火热,我们知道很多游戏主播都采用同屏的方式给观众直播,同屏直播组件层出不穷,SkeyeLive就是OpenSKEYE视开视频云团队研发的一款简单、高效、稳定的集采集,编码,推流和流媒体 SkeyeLive服务于一身的同屏功能组件,具有低延时、高效率传输、低丢包率等特点。 SkeyeLive同屏解决方案从早期的简单拉rtsp、rtmp流再转推rtmp或者rtsp分发,到现在形成完善的音视频采集,到超低延迟,高并发的流媒体综合功能组件软件,SkeyeLive已经经过了5年的开发迭代历史 8432)即可同步拉取skeyelive服务端的流,SkeyeLive提供了Skeyeliveplayer同屏客户端SDK组件和播放器源码,通过几个非常简单的API接口即可实现同屏客户端的同屏播放。 100ms以内,最高不超过300ms;8、同屏播放端支持麦克风、扬声器单独和同时播放;9、同屏直播单台并发不低于200台并发;10、同屏播放端支持断线重连,5秒内恢复重连;11、支持7*24小时运行,长期运行无累计延迟
一、功能特点 多线程实时播放rtsp视频流。 支持X86和嵌入式linux。 多线程显示图像,不卡主界面。 自动重连网络摄像头。 可设置边框大小即偏移量和边框颜色。 可播放本地视频文件,支持设置帧率。 支持h265视频流+rtmp等常见视频流。 可暂停播放和继续播放。 支持定时存储文件,包括音频和视频。 支持sdl播放音频。 支持外部拖曳文件+拖曳节点数据进行播放。 自定义顶部悬浮条,发送单击信号通知,可设置是否启用。 支持qsv dxva d3d 硬解码。 二、效果图 [QQ截图20190423215340.png] 三、体验地址 体验地址:https://pan.baidu.com/s/1bbL2ZughZAgfIGrexyN-9g 提取码:zkeh 名称
技术背景2015年,在大家精力放在点播播放的时候,大牛直播SDK已开始布局RTMP、RTSP的低延迟直播技术。 功能丰富多实例播放:支持同时播放多路RTSP流,适用于需要同时监控多个视频源的场景。 功能覆盖 [支持播放协议]高稳定、超低延迟、业内首屈一指的RTSP直播播放器SDK; [多实例播放]支持多实例播放; [事件回调]支持网络状态、buffer状态等回调; [视频格式]支持H.265、H.264 认证处理]支持上报RTSP 401事件,如URL携带鉴权信息,会自动处理; [缓冲时间设置]支持buffer time设置; [首屏秒开]支持首屏秒开模式; [复杂网络处理]支持断网重连等各种网络环境自动适配 RTSP播放器在超低延迟、稳定性、跨平台支持、功能丰富性、易用性与集成性等方面均表现出色,是一款值得推荐的流媒体播放解决方案。
实现了浏览器 MSE (Media Source Extensions) 播放相机 RTSP (Real Time Streaming Protocol) 流。 ://:8554/test}' # 测试接收 RTSP 流 vlc rtsp://127.0.0.1:8554/test 启动程序: killall -9 nginx python3 ws_serve_new.py 更多 技术: WebSocket[2] MediaSource[3]: 构建媒体流,供 video/audio 元素播放 WebRTC[4]: 可直接捕获客户端视频流,并点对点传输、不依赖服务器中转 WebCodecs GoogleChromeLabs/webm-wasm[8] 项目: MSE: 需构建流,通常容器格式是 ISO BMFF (Fragmented MP4) = fMP4 elsampsa/websocket-mse-demo[9] ffmpegwasm/ffmpeg.wasm [8] GoogleChromeLabs/webm-wasm: https://github.com/GoogleChromeLabs/webm-wasm [9]
对此相关技术限制比较严格,甚至在iOS9中加上了更严格的加密算法,直接导致很多投屏的产品不可用。本文转自刘连响知乎的文章。 文 / 刘连响 iOS中的投屏方案 1.ReplayKit iOS9中引入了ReplayKit, 让开发者有了一定的获取屏幕数据的能力. Airplay Mirroring客户端的同屏交互过程,分为三个主要步骤: 设备广播与发现 信息交互与能力协商 音视频数据接收与解扰 设备广播与发现 Airplay设备间的广播与发现通过Bonjour协议进行 该部分协议协议格式类似rtsp协议格式。主要分为两个阶段,设备匹配与和能力协商。 当发送端链接服务端后,设备匹配过程即开始。 在iOS9之后,在fairplay过程之前,增加一个设备匹配过程,即pair-setup、pair-verify过程,其主要算法是较为标准的非对称公钥交换算法。
投屏技术已经被大量用在身边的产品, 比如电视投屏, 投影仪, 视频会议产品中. 在iOS平台外的其他平台中都已经有非常成熟的标准和实现. 对此相关技术限制比较严格,甚至在iOS9中加上了更严格的加密算法, 直接导致很多投屏的产品不可用. iOS中的投屏方案: 1, ReplayKit iOS9中引入了ReplayKit, 让开发者有了一定的获取屏幕数据的能力 Airplay Mirroring客户端的同屏交互过程,分为三个主要步骤: 1, 设备广播与发现 2, 信息交互与能力协商 3, 音视频数据接收与解扰 设备广播与发现: Airplay设备间的广播与发现通过 该部分协议协议格式类似rtsp协议格式。主要分为两个阶段,设备匹配与和能力协商。 当发送端链接服务端后,设备匹配过程即开始。 在iOS9之后,在fairplay过程之前,增加一个设备匹配过程,即pair-setup、pair-verify过程,其主要算法是较为标准的非对称公钥交换算法。
EasyScreenLive是一款简单、高效、稳定的集采集,编码,组播,推流和流媒体RTSP服务于一身的同屏功能组件,在大屏显示投屏,无纸化会议同屏演示,课堂同屏等,可以配合全屏显示,在很多项目中都能够实现项目推流的需求 上一篇文中我们讲了EasyScreenLive推RTSP流到EasyDarwin(EasyScreenLive推流组件推RTSP流到EasyDarwin),本文以EasyDSS为主,带着大家演示一遍看下推 页面,在直播管理页面->视频直播列表显示中,可以看到刚刚我们推上来的流信息,有ID、名称、推流开关、推流鉴权、推流计划、录像计划、状态、分享开关、直播状态、推送流量等信息显示,方面直观,除了页面可以直播播放以外 ,EasyDSS还支持分发其它协议流供不同终端来做播放使用,选择编辑按钮,可以看到完整的推流地址和不同协议的播放地址,如下图:
技术背景好多开发者,希望我们能系统的介绍下无纸化同屏的原理和集成步骤,以Android平台为例,无纸化同屏将Android设备上的屏幕内容实时投射到另一个显示设备(如Windows终端、国产化操作系统或另一台 技术考量指标本文以大牛直播SDK Android同屏采集推送为例,介绍下我们前些年做Android同屏采集推送的时候,一些注意点:声明所需权限:在Android应用的AndroidManifest.xml 如H.264、H.265等,以及设置合适的分辨率、帧率、码率,以适应不同的网络环境和接收设备的性能;流媒体协议:为了将编码后的视频流实时传输到接收端,Android无纸化同屏技术通常采用RTMP推流模式或轻量级 技术实现本文以大牛直播SDK的Android的SmartServicePublisherV2的同屏demo为例,Android采集计时器,编码打包分别启动RTMP推送和轻量级RTSP服务,Windows 总结以上是Android平台屏幕采集、音频播放声音采集、麦克风采集编码打包推送到RTMP和轻量级RTSP服务的相关技术实现,做成高稳定低延迟的同屏系统,还需要有配套好的RTMP、RTSP直播播放器,整体部署
技术背景好多开发者在播放RTSP或RTMP流的时候,特别是多路播放的时候,希望能试试调节单个视频画面的声音(静音或放大缩小音量),常见的实时调节播放音量可以通过以下方式实现:利用操作系统的音频控制在某些情况下 ,我们可能无法直接通过播放器控制音量,这时候,可以使用操作系统的全局音频控制来调节RTSP或RTMP播放器的音量。 利用播放模块自带的音量调节控制一个功能完善的RTSP或RTMP播放器,一般自带实时静音或实时音量调节,如果支持这种模式,就非常方便,可以只条件播放器的volume,不影响系统的音量。 播放控制功能: 多实例播放:支持同时播放多路 RTMP 或 RTSP 流,方便用户同时观看多个直播源,例如在监控场景中可同时查看多个监控摄像头的画面。 首屏秒开:具备首屏秒开模式,能够快速加载并播放视频,减少用户的等待时间,提升观看体验。低延迟模式:公网公网环境下延迟低至150 - 300ms,适用于对实时性要求较高的平衡操控场景。
单播不再赘述,这里重点介绍下我们的组播技术方案: 组播解决的主要痛点是服务器部署和带宽占用问题,一般来说,内网电子教室/无纸化/实时同屏场景用RTMP推送+RTMP服务器,然后其他端从服务器拉取RTMP 通过组播技术方案,只要网络设备支持组播组网,轻松实现多并发的同屏/摄像头直播场景。 确定后,返回主界面,点击“发布Rtsp流”,拷贝回调的RTSP url,用我们的SmartPlayer.exe或移动端播放器,播放即可。 注意:需要内网网络设备支持组播功能。 经长时间测试,毫秒级延迟,完全满足内网同屏技术指标。 学生端:直接拉取RTMP流播放即可; 5. 教师和学生互动:学生端如需作为示范案例,屏幕数据共享给其他同学,只需请求同屏,数据反推到RTMP服务器,其他学生查看即可。 6.
本文将介绍 RTSP H264/HEVC 裸流如何于网页前端播放。涉及 WebSocket 代理发送流数据, Wasm 前端解码等。 代码: https://github.com/ikuokuo/rtsp-wasm-player 相关模块: # RTSP WebSocket Proxy RTSP/Webcam/File > FFmpeg WS Wasm Player: 前端播放实现(ES6)。WebSocket, Wasm, WebGL 等封装,提供了 WsClient 接口。 WS Local Player: 本地播放实现(C++)。与前端流程一样,向流代理服务器请求数据,解码后 OpenGL 显示。 前端解码与播放 主流程: # WS Wasm Player WebSocket > Packets > Wasm FFmpeg decode to YUV > WebGL display
在网上找的rtsp流的视频链接 rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov 设置Activity横屏 if (this.getResources setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } 开启线程进行视频的播放 Override protected void onDestroy() { if(player.isPlaying()){ player.stop();//停止音频的播放
低延迟:大多数RTSP的播放都面向直播场景,如果延迟过大,严重影响体验,所以,低延迟是衡量一个好的RTSP播放器非常重要的指标,目前大牛直播SDK的RTSP直播播放延迟比开源播放器更优异(大牛直播SDK 支持多实例:大牛直播SDK提供的RTSP直播播放SDK支持在设备性能允许的情况下,支持多实例播放RTSP流数据,大多开源播放器对多实例支持不太友好; 4. 实时快照:感兴趣或重要的画面,实时截取下来非常必要,一般播放器不具备快照能力,开源播放器不具备此功能; 9. 实时音量调节:实时音量调节特别是在多路播放的场景下,如大屏窗体环境下,通过更细粒度的音量调节,实现更好的播放体验; 16. 只播放关键帧:特别是大屏多实例场景播放的时候,尽管我们已经CPU占用非常低了,如果只是查看大概的监控情景,实现更多路的播放,只播放关键帧是个非常好的功能点,如果需要原始帧播放,可以实时调节即可; 17.