自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (1)
  • 收藏
  • 关注

原创 H5和webvr全平台使用h265+flv直播协议实现低延迟直播解决方案

目前大部分的web直播播放器,必须对直播协议解码搭配video对象实现播放,但是不同的设备对video解码器支持也不尽相同,比如android和pc大部分都支持Media Source Extenstions配合B站flv.js实现http-flv压缩格式的直播流,但是ios设备支持不够,导致只能使用hls直播协议直播,hls虽然通用当时却存在延迟很高的问题,1-20秒的延迟对那些实时性要求高的直播有些无法接受。为此需要解决这个问题有几个方案考虑1、使用http-flv直播流可以将延迟控制再1-2秒

2021-04-12 18:31:40 1654 11

原创 开源的WebVR直播播放器

给大家推荐一款好用开源的VR直播播放器,地址https://github.com/guoguicheng/mxreality.js [2018-10-20 重要更新] 支持VR直播功能 支持全景视频poster 支持全景图和视频和场景之间随意切换 全景模式切换回默认主视角 播放列表...

2018-10-22 10:14:17 7621 6

原创 mxreality.js 免费开源的全景图/全景视频/VR 直播播放器介绍

[2018-10-20 重要更新] 支持VR直播功能 支持全景视频poster 支持全景图和视频和场景之间随意切换 全景模式切换回默认主视角 播放列表优点:1、全景图支持全景模式和VR模式2、支持网页端全景图补天功能,有效去除顶部和底部拼接留下的痕迹、做出真正完美的产品3、全景VR图是全景VR视频支持小行星效果,还提供控制效果测试,可以根据自己需要控制快慢,方向等。...

2018-03-05 11:52:24 17460 24

原创 实现超低延迟(毫秒级)的VR直播

由于VR全景视频本身的码率有几十Mbps,分辨率也有大多为4-8k,导致传统的Hls直播有几十秒或几分钟的延迟,相对低一点的Flv直播流也会有个几秒的延迟,而flash在前几天已经被停止支持,导致RTMP直播流无法使用,因此WebRtc有可能成为替代RTMP直播的另一种方式,且WebRtc还不局限于音视频直播,未来必定有很大的用武之地。如下中的视频中大概演示了WebRtc 全景直播的测试结果。延迟已经到毫秒级别,当然这个延迟和码率和分辨率与带宽有很大的关系,如果自身码率很大,带宽却很小,那也是不行的。

2022-08-21 13:25:34 104

原创 nuxtjs 服务端渲染从开发到发布的流程

1、创建项目yarn create nuxt-app <项目名>2、开发模式启动yarn dev3、部署服务器3.1、服务端buildyarn build3.2、启动服务端渲染yarn start &3.3、修改nginx的配置文件,将nginx 的请求转发到127.0.0.1:3000# ***.confupstream nuxtserver{ server 127.0.0.1:3000;}server{ # 一些

2022-03-27 15:50:19 3134 2

原创 海康威视监控推流自建服务器实现网页端无插件1-2秒低延迟实时监控

在监控领域一直没怎么涉足,直到最近偶然有人咨询我说监控能不能手机或平板端,pc端等设备随意监控,不局限于守在电脑旁或者是某个区域内。这么一说就想到我刚好不是有做了支持flv和webrtc直播流的播放器吗,岂不是刚好找到一个需求点。我说应该不难,可以实现。于是我又开始研究起了GB28181监控联网系统信息传输协议.对于服务端需要怎么实现和监控对接的代码我也写不出来,但我明白技术流程无非是监控设备能设置推流地址参数,服务端找一个支持GB28181协议的流服务器,然后把监控设备推过来的流转成hls,flv或we

2021-12-15 22:11:30 1820

原创 Laravel+Homestead+vscode 断点调试配置

# 进入虚拟机vagrant ssh# 在ssh登录成功最后一条消息可以查看网关地址,比如我的是 Last login: Thu Oct 21 06:18:52 2021 from 10.0.2.2 ,看一看到ip是10.0.2.2# 开启xdebugxon# 根据Homestead里面配置的php版本,编辑xdebug配置文件sudo vi /etc/php/7.4/mods-available/xdebug.ini# 加入内容zend_extension=xdebug.soxd.

2021-10-21 14:36:01 124

原创 关于对新的视频和直播模式的方向思考和测试

目前传统的视频和直播模式还是停留在2D平面,也有少部分应用在接入VR视频,但是VR视频和普通视频存在不少区别,两者的用户体验和企业盈利模式很难平滑的过度,比如目前的视频广告业务在VR视频内插入会变得很棘手。所以我一直在找一种模式,可以用尽可能少的改变,实现传统视频也可以VR方式去体验,比如游戏直播观看用户可以带上VR眼镜第一视角去观看;普通视频嵌入到VR场景内实现大荧幕效果,周边可以自定义电影院背景或者户外背景;原有的普通广告可插入到场景内的前后左右上下等任何方位而不需要重新去制作广告内容等等。下面

2021-09-01 20:54:12 119 1

原创 Support for password authentication was removed on August 13, 2021. Please use a personal access tok

提交github现有仓库的时候突然提示Support for password authentication was removed on August 13, 2021. Please use a personal access token,解决办法如下1、创建tokenUser->Settings->Developer Settings->Personal access tokens->Generate new token2、更换仓库地址为token授权地址g.

2021-08-16 11:23:22 301

原创 Vue 使用vue-seo-phantomjs 实现SEO抓取优化方案

安装流程:https://github.com/lengziyu/vue-seo-phantomjs由于vue站点有不同的url和参数,处理搜索引擎访问代理转发时需要修改如下配置即可抓取带参数的页面数据location / { if ($http_user_agent ~* "Baiduspider|twitterbot|facebookexternalhit|rogerbot|linkedinbot|embedly|quora link preview|sh.

2021-07-23 13:43:56 475

原创 vue 处理打包后加载慢的问题

原因:1、chunk-vendors文件过大2、js没有压缩3、服务器没有开启gzip解决办法:首先在build发布时候压缩js、css等资源文件安装npm压缩组件npm install --save-dev compression-webpack-plugin压缩js、css文件,在vue.config.js 中加入如下配置项:const CompressionPlugin = require("compression-webpack-plugin")modul

2021-07-22 10:19:27 1049 5

原创 酷视网页视频VR播放器SDK(进取版)使用说明书

进取版(mxreality.js)H5视频播放器使用说明:运行环境:支持w3c标准且支持webGL3D渲染引擎的浏览器,包含微信、微博、qq等app等部分主流app<script src="./build/mxreality.js"></script><div id='example'></div><script>container=document.getElementById('example')render...

2021-07-13 11:11:36 380

原创 酷视网页视频VR播放器SDK(旗舰版)使用说明书

产品使用说明书运行环境支持w3c标准且支持webGL3D渲染引擎的浏览器,包含微信、微博、qq等app等部分主流app探索版使用说明:<script src="./build/mxreality.js"></script><div id='example'></div><script>container=document.getElementById('example')renderer...

2021-06-11 17:15:26 664

原创 微服务之PHP swoft 框架Hello world

1、准备两台互通的电脑(可以是虚拟机),假设系统IP分别为192.168.1.2和192.168.1.32、在192.168.1.2 系统上安装docker consul集群,步骤https://blog.csdn.net/guoguicheng1314/article/details/1098152573、修改app\common\RpcProvider.php 的getList方法public function getList(Client $client): array{

2020-11-19 18:22:07 531

原创 docker consul集群搭建

1、安装consul docker镜像docker pull consul2、启动代理,创建consul服务器docker run -d -p 8500:8500 --name=agent-one --restart=always consul agent -server -bootstrap-expect=1 -node=agent-one -bind=0.0.0.0 -enable-script-checks=true3、获取consul服务器ipJOIN_IP="$(dock

2020-11-19 17:03:04 490

原创 基于余玄相似度的产品相似度推荐算法-PHP版

<?phpdeclare(strict_types=1);namespace App\Common\Algorithm;use Exception;/***@author guicheng*@visit www.mxreality.cn*/class AlgorithmSimilarity{ /** * 计算两个值之间的分数 1 / (abs($v2 - $v1) / $divide) * * @param $v1 * @pa.

2020-11-12 12:49:47 270 2

原创 使用vscode开启swoft微服务框架sdebug断点调试

由于项目用到了给予swoole的swoft框架,在开发中遇到不少问题,每次调试打印变量都需要重启服务,开发效率很慢,于是做了如何开启debug的测试,本次测试成功,过程记录如下:1、安装swoole拓展https://wiki.swoole.com/#/environment2、编译安装并开启sdebug拓展https://wiki.swoole.com/#/question/install?id=%e5%ae%89%e8%a3%85xdebug3、在vscode插件库搜索安装php d

2020-11-11 12:58:59 596 1

原创 【第一课】使用mxreality创建第一个H5 VR视频直播例子

大部分人对直播行业应该不陌生,这行业催生和各式各样的网红,有搞笑的、卖萌的、教父的、性感的可谓试五花八门,也是这个行业早入的老板和个人只要稍有点内容输出就可以赚的盆满钵满。但是我今天要说的估计大部分人都还不是特别的了解,它虽然已经火过一阵子,但是这两年又到了行业低谷,相信不少从事这个行业的同行人士都感觉生存的很困难,但是,虽然我先泼了一把冷水,但对这个行业的认可和未来的必然性毋庸置疑。相信只有坚持到最后的人才能能看到最美的风景,犹如当下的普通直播。好了,废话不多说,存在即有理,下面我开始讲一节做一个VR

2020-07-31 22:18:09 859

原创 hadoop之使用python进行streaming编程

目的:统计文件中单词出现的词频准备:创建测试数据test.txt并写入如下内容foo bar quuxfoo libs barzoo zoo hying1、创建mapper分割数据并写入标准输出流$vi mapper.py#!/usr/bin/pythonimport sysfor line in sys.stdin: ...

2020-01-19 16:34:22 267

原创 virtualBox+ubuntu18.04+hadoop3.2.1集群部署测试

1、安装virtualBox,安装好ubuntu操作系统,用户名统一hadoop;hostname分别为ubuntu1(master节点)、ubuntu2(slave节点)、ubuntu3(slave节点),然后选择使用net网络,更新apt源 sudo apt update2、安装jdksudo apt-get install openjdk-8-jdk验证jdk是否安装成功...

2020-01-16 16:30:32 354

转载 看代码认识最简单的区块链工作原理

import datetimeimport hashlibimport jsonimport requestsclass Blockchain: def __init__(self): self.chain = [] # 主链 self.nodes = set() # 节点列表 self.current_tranact...

2019-11-06 16:17:43 284

原创 提取HTML中所有图片地址的正则表达式

# 正则表达式<img[\s\S]+?src=[\'\"](.+?)[\'\"][\s\S\>]?例如使用php提取html中的所有图片地址$str='<p><img src="http://img.baidu.com/hi/jx2/j_0024.gif"/>22222222222222222222<img src="https://ab...

2019-10-23 15:50:17 1153

原创 python threadpool 多线程链接mysql: Commands out of sync; you can't run this command now

使用python的多线程库处理数据,发现mysql总是有一定概率报mysql: Commands out of sync; you can't run this command now,几番查询,有的说是因为存在没有返回mysql结果就开始发起另外一个请求,有的说在sql里面有分号、也有的说是没有释放结果集。有可能的原因都尝试但最后都没有解决。在排查过程中想到是不是因为多线程导致mysql处理连...

2019-09-26 14:22:09 322

原创 ubunntu18.04 安装cuda9.0和cudnn7.6.1

nvidia 官网下载不稳定,这里分享一份cuda9.0 cudnn7.6.1百度网盘 链接: https://pan.baidu.com/s/18DKfsthRyuXX7lV9U40lnA 提取码: p8e6第一步:安装nvidia图形驱动,方式也很简单,点击应用程序-》软件和更新-》附加驱动选中NVIDIA driver metapackage-》应用更改。等待完成然后ctrl+alt+t...

2019-07-20 12:50:45 1130

原创 win10 linux子系统启动php-fpm提示failed to retrieve TCP_INFO for socket: Protocol not available的问题

最近由于项目需要swoole进行开发,但swoole拓展无法直接通过编译安装,只能通过Cygwin/docker等虚拟机来运行,cygwin不太熟悉,docker和vagrant等虚拟机的话入门和配置难度都很高,研究了几天都没搞定,最后选择了win10自带的linux子系统,通过linux子系统运行php,然后直接通过windows上的nginx将php处理工作转发给linux子系统,这样既可以兼...

2019-07-01 16:37:25 3154 1

原创 如何快速入门webvr的开发教程 - mxreality.js 简介

在17年VR和AR行业很火的时候我刚好有幸加入了一家提供VR和AR服务的企业,当时作为一名后端开发人员,我的职责也只是开发一些后台系统和接口,并没有直接去接触VR开发,当时我也一直内心充满好奇心VR到底是一种什么样的新鲜技术。一次偶然的机会公司项目的需要,需要我使用threejs展示一些3D模型、于是webGL的开发和研究也就成了我学习的一部分。也开始了我的vr是否可以直接web断使用的想法,...

2019-04-27 23:11:22 3092 4

翻译 s3.amazonaws.com 下载资源缓慢的解决办法

有些文件需要从Amazon s3服务器去下载,但是不知道什么原因国内下载巨慢,有时候直接提示超时,网上说法不一,但不管怎样我关心的不是这些,我要能下载到资源就行,于是就发现了下面的一个小技巧1、ping 下载地址域名A ,可以获取到域名解析后对应主机的IP地址B2、修改本地的hosts(window和mac/linux 的hosts文件位置略有不同,请自行搜索),将远程下载域名A直接重定向...

2019-03-22 09:52:44 17174 4

原创 win10+cuda9+cudnn7+tensorflow-gpu 提示 ImportError: DLL load failed:

在windows10 上pip安装tensorflow-gpu 提示错误,ImportError: DLL load failed: 找不到指定的模块。Failed to load the native TensorFlow runtime.解决办法:pip uninstall pillowpip install pillowpip uninstall tensorflow-...

2019-03-20 21:53:46 494

原创 决策树如何通过信息增熵确定最终的决策

信息熵定义:有n种取值:U1…Ui…Un,对应概率为:P1…Pi…Pn,且各种符号的出现彼此独立。这时,信源的平均不确定性应当为单个符号不确定性-logPi的统计平均值(E),可称为信息熵,即 推导一下条件熵信息增熵=信息熵-条件熵------------------------------------------------------分割线---------------...

2018-09-20 18:09:12 568

原创 ubuntu14.04 安装网易云音乐失败,新版本网易云安装不上

原因是因为新版本不支持14.04了,需要下载14.04对应的版本s1.music.126.net/download/pc/netease-cloud-music_1.0.0_amd64_ubuntu14.04.deb

2018-09-17 10:49:47 691

原创 推荐算法之-相似邻居计算

在上面两篇文章已经讲了如何通过用户对产品的评分分别计算出某个用户与其他用户之间的相似度,那么在计算完相似度后如何才能获取和该用户相似度高的人呢,方法分为两种:1、固定数量的K个邻居,(K-neighborhoods)。意思很明确,就是按分数高低降序取K个2、基于相似度门槛的邻居,(Threshord-based neighborhood)。取分数K分以上的作为邻居&lt;?php...

2018-09-14 17:08:05 3511

原创 推荐算法之-皮尔逊相关系数计算两个用户喜好相似度

&lt;?php/** * 余玄相似度计算出3个用户的相似度 * 通过7件产品分析用户喜好相似度 * 相似度使用函数 sim(user1,user2) =cos∂ * * 设A、B为多维矩阵 * * ∑(Ai•Bi) ∑(Ai•Bi) ∑(USER1_i•USER2_i) * cos∂ = -------------...

2018-09-12 15:03:59 4438

原创 推荐算法之-欧几里德距离计算用户相似度

&lt;?php/** * 欧几里德距离计算出3个用户的相似度 * 通过7件产品分析用户喜好相似度,假设x,y是空间上的两个点 * d(x,y) := √∑(xi-yi)^2 * * 相似度使用函数 sim(x,y)=1/1+d(x,y) */$infoTable = [ 'user1' =&gt; [ 5, 5, 4, 7, 8, 9, 4, // ...

2018-09-12 10:23:32 3374

转载 laravel paginate分页使用orderBy排序无效解决办法

use Illuminate\Pagination\Paginator;use Illuminate\Pagination\LengthAwarePaginator;//......$perPage = 15;$currentPage = $request-&gt;input('page', 1);$offset = ($currentPage - 1) * $perPage;$...

2018-08-10 15:51:14 4901 1

原创 正则匹配过滤空格字符串

正则匹配过滤空格字符串,防止用户提交空格字符串#如果在字符串任意一个位置出现费空格'\s'的字符,那改表达式将成立reg='/[^\s]+/';#PHP例子$str=' 我 ';var_dump(preg_match($reg,$str)) ...

2018-08-07 16:53:11 7978

转载 laravel 队列

前言队列常常用于两种场景,一种是高并发的情况,一种是耗时的操作,可以将任务放到队列中去,消费者从队列取任务执行,当然还有失败的情况如何处理,以及延迟,重试,更复杂的情况还有优先级的实现。在Laravel 5中使用队列非常简单,并且失败处理,延迟,重试的方法都已经实现,下面简单尝试了一下Laravel的队列服务。Laravel默认支持以下几种队列服务:sync, database, be...

2018-07-20 15:22:15 2068

原创 laravel 编写测试用例

之前错误认为程序编写完成后测试项目直接手工测试即可,编写测试用例只是花费时间,没有多大的用处。那为什么要写单元/功能测试?手工测试存在测试时间长还会漏测,项目越庞大,耗费的时间越多,漏测的可能性越大。比如你的某个功能代码存在复用,在依次功能修改后当前功能块正常,却漏测了其他模块内是否正常。没人可以避免不漏测,如何才能快速且准确的测出所有功能模块是否work?测试用例就派上用场了编写测试...

2018-07-19 13:03:31 3160

转载 PHP C拓展开发入门笔记(二)获取php变量类型拓展函数

PHP_FUNCTION(c_typeof){ zval * userval=NULL; if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,"z",&amp;userval)== FAILURE){ RETURN_NULL(); } switch(...

2018-07-18 11:02:41 246

原创 PHP C拓展开发入门笔记(一)

首先使用php拓展构建ext_skel工具构建出拓展框架cd /path/to/php-src/ext# 生成名为myext的C拓展框架./ext_skel --extname=myext#进入拓展源码目录cd myext# |-config.m4 UNIX build system configuration# |-config.w32 Windows builds...

2018-07-17 18:25:27 194

原创 phpstudy php+apache 环境PHP多版本环境配置

1,编辑httpd.confLoadModule fcgid_module modules/mod_fcgid.so#添加映射AddHandler fcgid-script .fcgi .php# 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理完所有请求前退出FcgidInitialEn...

2018-07-02 11:59:03 4046 2

21万条全球164个国家15-19年汇率变化数据

currency表包含164个国家数据,currency_rate 表为汇率数据,有218164条数据,数据库为mysql

2021-04-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除