当前位置: 首页 > news >正文

哪个免费建站好wordpress免费建站教程

哪个免费建站好,wordpress免费建站教程,潮州汕头,网站的超级链接怎么做前言 Universal Media Player算是视频流播放功能常用的插件了#xff0c;用到现在已经不知道躺了多少坑了#xff0c;这个插件虽然是白嫖的#xff0c;不过被甲方和领导吐槽的就是播放视频流的速度特别慢#xff0c;可能需要几十秒来打开监控画面#xff0c;等待的时间较…前言 Universal Media Player算是视频流播放功能常用的插件了用到现在已经不知道躺了多少坑了这个插件虽然是白嫖的不过被甲方和领导吐槽的就是播放视频流的速度特别慢可能需要几十秒来打开监控画面等待的时间较久。还有当输出WebGL的时候视频无法播放这个问题也一直没法解决。而我们常用的萤石云监控视频流在小程序端或者Web端打开却快速了很多这也就启发了在Unity3d中也使用这种嫁接的方式来实现。就是通过打开网页在网页中播放视频流的方式来解决该问题。实验结果就是能比Universal Media Player打开快2-3倍。本文是Unity3d 2020.3.28f1c1 Personal版本以萤石云的ezopen协议为例实现该功能。 如果你的视频流协议是其它的如rtmp、rtsp等则需要将摄像头的协议转成能够在浏览器中播放的协议具体方式需要做网页的相关人员进行。这个是我在网上搜到的方法本人并未进行实操测试仅供参考 1、Nginx的RTMP模块配置方法通过Ffmpeg将RTSP转成RTMP协议然后Nginx中配置RTMP到HLS协议的映射最后按照指定的规则路径请求即可。 2、Ffmpeg将RTSP协议直接转成HLS协议写入到Nginx的指定目录下然后Nginx将该目录代理成HTTP访问的方式浏览器直接请求即可这种方法会生成很多ts文件需要做清理处理尝试过可行但是不建议使用。 效果 Windows效果一 Windows效果二 WebGL平台 如果设备有问题会直接提示在播放界面上 以上动态图没有展示成功的画面因为设备非个人持有所以播放成功的画面未进行直接展示。 工作准备 笔者所用的插件 LitJson 用于生成/解析网络请求的json。 DOTweenPro 用于制作简单的窗口弹出、关闭动画 3D WebView for Windows and macOS (Web Browser) 用于打开网页使用说明https://blog.csdn.net/qq_33789001/article/details/126180804的插件看需求使用Embedded Browser也可以需要WebGL 平台的还需要2D WebView for WebGL (Web Browser IFrame)插件。 参考文章 之前笔者写过关于萤石云监控相关的操作可以进行一些参考复用。 获取accessTokenhttps://blog.csdn.net/qq_33789001/article/details/117251545 获取视频流地址https://blog.csdn.net/qq_33789001/article/details/128223680 Unity WebGl发布问题 https://blog.csdn.net/qq_33789001/article/details/128900799 功能实现 获取accessToken 管理员账号根据appKey和secret获取accessToken接口. 请求地https://open.ys7.com/api/lapp/token/get 请求方式POST ① AccessToken即访问令牌。接口调用必备的公共参数之一用于校验接口访问/调用是否有权限有效期为7天有效期内不需要重复申请可以重复使用 ② 有效期7天无法变更请在业务端使用AccessToken的场景中校验老Token的有效性和失效时重新获取Token的机制 ③ 新获取Token不会使老Token失效每个Token独立拥有7天生命周期 接口列表如下 返回字段 字段名 类型 描述 accessToken String 获取的accessToken expireTime long 具体过期时间精确到毫秒 这里的实现代码如下 //令牌相关[Header(设置萤石云的appKey)]public string appKey ;[Header(设置萤石云的appSecret)]public string appSecret ;string GetATUrl https://open.ys7.com/api/lapp/token/get;[HideInInspector]public string AT ;DateTime AtEdTime; //令牌失效时间 //请求萤石云的令牌void GetAccessToken(){isGetATing true;ListIMultipartFormSection formData new ListIMultipartFormSection();formData.Add(new MultipartFormDataSection(appKey, appKey));formData.Add(new MultipartFormDataSection(appSecret, appSecret));Global.DoReqWebApiPost(GetATUrl, formData, (bytes) {try{if (string.IsNullOrEmpty(bytes)) return;JsonData datas JsonMapper.ToObject(bytes);if (!datas.ContainsKey(data)) return;if (!datas[data].ContainsKey(accessToken) || !datas[data].ContainsKey(expireTime)) return;AT datas[data][accessToken].ToString();AtEdTime ConvertToDateTime(datas[data][expireTime].ToString());}catch (Exception e){Debug.LogWarning(获取萤石云AccessToken异常 e);}finally {isGetATing false;}}); }要注意的是如果程序长期运行需要判断accessToken的过期时间即使获取并更新不然会导致功能异常。 获取监控视频流 获取单个的视频流地址需要使用accessToken为参数并且protocol的协议必须是ezopen同时过期时间需要尽量长一些。 [Header(是否同步流地址)]public bool isSyncUrl true;[Header(选择视频流类型)]public Streaming_Type streamingType Streaming_Type.ezopen;[Header(监控设备编号)]public string deviceSerial;[Header(监控频道号)] public string channelNo;//获取视频地址void GetSteamingUrl(){ListIMultipartFormSection formData new ListIMultipartFormSection();formData.Add(new MultipartFormDataSection(accessToken, YsAccessTokenMgr.instance.AT));formData.Add(new MultipartFormDataSection(deviceSerial, deviceSerial));formData.Add(new MultipartFormDataSection(channelNo, channelNo));formData.Add(new MultipartFormDataSection(expireTime, 2592000));formData.Add(new MultipartFormDataSection(protocol, ((int)streamingType).ToString()));formData.Add(new MultipartFormDataSection(quality, 1));Global.DoReqWebApiPost(StreamUrl, formData, (bytes) {try{if (string.IsNullOrEmpty(bytes))return;JsonData datas JsonMapper.ToObject(bytes);if (!datas.ContainsKey(data)|| !datas[data].ContainsKey(url))return;videourl datas[data][url].ToString();}catch (Exception e){Debug.LogWarning(获取萤石云视频流地址异常 e);}});}这里也可以不获取视频流地址只有视频嵌入式需要ezopen的地址isSyncUrl 为false时就不会获取。 打开网页播放视频 我们在点击了监控视频的标签后就根据视频标签的信息打开监控视频的网页。 这里有两种方式进行播放视频流视频嵌入式和跳转播放页式详细说明请看https://open.ys7.com/bbs/article/20 因为我们的视频窗口是在UI上所以使用CanvasWebViewPrefab进行网页打开 canvasWebView.WebView.LoadUrl(url);视频嵌入式 代码如下 string url https://open.ys7.com/ezopen/h5/iframe_se?url path autoplay1audio0accessToken YsAccessTokenMgr.instance.AT;canvasWebView.WebView.LoadUrl(url);说明如下 url监控地址包含验证码、设备序列号、通道号、清晰度、播放类型 autoplay1-开启自动播放未显示字段-关闭自动播放 audio1-开启音频未显示字段-关闭音频 accessToken访问令牌播放监控地址的必要参数 笔者在测试该方式时发现在WebGL时这种方式在一定情况下会出现网页错误视频未播放的情况 跳转播放页式 代码如下 string url https://open.ys7.com/ezopen/h5/live?autoplay1audio0accessToken YsAccessTokenMgr.instance.AT hd1deviceSerial camlab.deviceSerial channelNo camlab.channelNo;canvasWebView.WebView.LoadUrl(url);说明如下 live后缀预览 rec后缀回放 autoplay1-开启自动播放未显示字段-关闭自动播放 audio1-开启音频未显示字段-关闭音频 accessToken访问令牌播放监控地址的必要参数 validCode验证码加密设备播放需要验证码 hd1-高清实际为主码流未显示字段-流畅实际为子码流 deviceSerial设备序列号 channelNo通道号 工程源码 完整的工程源码https://download.csdn.net/download/qq_33789001/88135255 无法打开说明审核未通过。 现在工程后,打开项目中的Main.unity场景选中FunNodesYsAccessTokenMgr节点设置您自己的appKey和appSecret 选中Icon_Camera修改视频标签的信息deviceSerial和channelNo 确保的信息都是同一个账号下面的运行后点击视频图标即可看到播放的效果了。
http://www.dnsts.com.cn/news/20902.html

相关文章:

  • 网页设计随机点名代码郑州网站优化推广
  • 好单库网站是怎么做的移动云服务器租用
  • 免费软文网站湖北网站建设专家
  • 广州网站建设好公司网站开发中怎么设置快捷键
  • 微网站的特点玄武建设局网站
  • 学做网站php吗佛山关键词网站排名
  • 网站改版费用wordpress免费cms主题
  • 广东贸易网站建设php 上传网站
  • 包装策划与设计专业固原地网站seo
  • 网站开发checklist网站建设公司哪家好 干净磐石网络
  • 2017民非单位年检那个网站做wordpress图片分页插件下载
  • 互联网网站开发有哪些职位怎么做外链
  • 还有哪些行业可以做垂直网站网站建设 小程序制作
  • 影视会员网站怎么建设关于网站建设工作的通报
  • 做电商网站的上海公司专做母婴食品的网站
  • 无锡新区建设环保局网站360营销
  • 建设一个网站的硬件要求广东营销型网站建设多少钱
  • 广州天河区有什么好玩的地方昆明利于优化的网站
  • 深圳做网站哪家便宜深圳宝安区电子厂
  • 上海珍岛网站建设wordpress mysql权限设置
  • 环保网站模板微信营销软件有哪些
  • 网站 先建设还是先等级保护备案织梦小说网站源wap站
  • 伪静态网站巩义在线
  • 十大最坑装修公司排名seo排名点击 seo查询
  • 济南网站建设运营网站推广网络推广
  • 潍坊网站制作企业怎么样才能申请网址
  • 国内最佳网站建设设计石景山保安公司
  • 网站建设公众号开网站建设哪家性价比高
  • 地方网站发展app推广接单渠道
  • 赣州网站推广公司电话名词解释 网站内容