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

开网站需要什么流程常德网站建设网站优化

开网站需要什么流程,常德网站建设网站优化,网站一般字体,app的推广方式有哪些前言 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协议为例实现该功能。 效果 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.pierceye.com/news/719325/

相关文章:

  • 厦门建公司网站怎样自做网站
  • 兰州市网站建设公司无锡上海网站建设
  • 轻骑铃木摩托车官网资源专业网站优化排名
  • 做电影网站赚钱吗中企网站建设
  • 罗源网站建设免费建网站 步骤
  • 哪些网站做简历合适wordpress校园
  • 网站子目录怎么做国内做的比较好的二手网站
  • 短链生成网站html模板免费十个网页
  • 图跃企业网站建设seo提供服务
  • 厦门市建设管理协会网站发帖效果好的网站
  • 手机商城网站制作网页设计与制作的岗位职责
  • 教学网站系统流程图wordpress激活主题
  • 北京房地产网站建设做app还是做微网站好
  • 网站建设的整个流程管理咨询公司网站
  • 长沙网站建设有限公司怎么做网站赚大钱
  • 找做网站页的在哪找沭阳建设局网站
  • 私人做网站有什么用不断加强门户网站建设
  • WordPress简单百度站长插件使用cms建设网站安全吗
  • 响水做网站价格余江网站建设
  • 好的免费个人网站网站建设所需要的材料
  • 南宁本地网站有哪些建筑工程网络组网
  • 如何构建一个网站wordpress更换ssl
  • 做电影网站需要注意什么安徽易企建站
  • 莆田网站格在哪里做网站数据维护
  • 建设的网站别人登录密码做个企业网站多少钱
  • 邢台网站推广怎么做好网站推理
  • 网站项目需求盐城网站开发基本流程
  • 桐乡市城乡规划建设局网站网站企业备案和个人备案的区别
  • 公职人员可以做公益网站吗dw做的网站怎么放到服务器上
  • wordpress 导航网站模板wordpress建立企业网站