自定义博客皮肤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)
  • 资源 (2)
  • 收藏
  • 关注

原创 使用EasyDarwin+FFmpeg实现rtsp推流

ces

2022-06-02 20:21:54 3217 4

原创 BM1Z002FJ-EVK-001开机测评

​前言一大早收到了ROHM寄来的BM1Z002FJ-EVK-001开发板。BM1Z002FJ-EVK-001属于ROHM过零检测IC中的明星产品。为什么改款产品能实现过零检测?由于无需光耦就可以进行过零检测,因此功耗极低,可将正常通电时的过零检测电路的待机功耗降至0.01W。另外,在驱动应用时,将以往使用光耦的过零检测电路中随AC电压变化而波动的延迟时间误差降至±50µs以内。极低的待机功耗和极小的延迟时间误差,使得即使在各国不同的AC电源电压下,也可高效地驱动电机,成功实现了以往的过零检测电路很难实现

2022-05-31 14:56:54 301

原创 webrtc 入门第六章 WebRtc中使用的服务

webrtc 入门第六章 WebRtc中使用的服务一、概述​ WebRTC支持对等通信,但是它仍然需要服务器,以便客户端可以交换元数据以通过称为信令的过程协调通信,并应对网络地址转换器(NAT)和防火墙。本文向您展示如何构建信令服务,以及如何处理与STUN和TURN服务器的真实连接的问题。二、信令服务1、什么是信令信令是协调通信的过程。为了使WebRTC应用程序能够建立呼叫,其客户需要交换以下信息:用于打开或关闭通信的会话控制消息错误讯息媒体元数据,例如编解码器,编解码器设置,带宽和媒体

2022-03-13 23:52:23 1573

原创 webrtc 入门第五章 一对一视频通话实现

webrtc 入门第五章 一对一视频通话实现一、介绍​ 在前面的章节我们学习了如何操作本地的设备摄像头,麦克风等,学会了如何进行本地的流媒体操作如录制,下载,同步等。在第三第四章节学习了webrtc的一对一连接的原理和实操并且实现了简单的数据传输。​ 但是之前的实践在两个不同的设备之间还不能实现真正意义上的通话,当两端不在一台设备上是还不能通信。要实现远程的两个设备间的数据传输还需要借助信令服务器和STUN服务器。二、实践1、通话流程​ 一对一的视频通话连接流程和第三章的连接流程一样,学者

2022-03-09 23:56:19 7487

原创 webrtc 入门第四章 数据通道

webrtc 入门第四章 数据通道一、介绍​ 在webrtc再实现了端到端的连接过程中除了传输媒体流以外,还可以传输文字,文件,图片等数据,再IM的场景中同样实用,并且不需要第三方消息服务如websocket,透传消息等。​ 数据通道的创建依赖RTCPeerConnection 的连接,其连接流程在第三章可以查看,当两端建立了连接后,就可以进行发送数据。二、实践1、数据对象 RTCDataChannelthat.localConnection.createDataChannel('webrt

2022-03-05 23:58:36 3958

原创 webrtc 入门第三章 建立连接

webrtc 入门第三章 建立连接一、介绍1、概述​ 在前面的章节我们学习了通过webrtc的基本操作实现了获取本地媒体流、音视频的获取与操作。在得到本地的媒体流后我们就需要将本地媒体数据发送到远端,远端街道媒体流后渲染可视化,从而达到通话的目的。​ RTCPeerConnection 连接的核心pai接口,使用它可以将本地流发送到远端,同时也可以将远端媒体流发送到本地从而实现连接。在使用过程中需要用到信令服务器中转信息和STUN服务器打桩服务。二、实践1、RTCPeerConnection

2022-03-03 23:20:04 1439

原创 webrtc 入门第二章 音视频录制

webrtc 入门第二章 音视频录制一、介绍1、媒体录制原理​ 在很多场景中回放音视频资源的需求是非常重要的例如会议,直播授课等。任何媒体形式的表情都可进行录制,如 ,,等。其中内容更加自由用户的任何2d,3d操作都可以进行录制和传播。​ MediaRecoder 是控制媒体录制的api,使用它可以进行录制音视频,使得web可以脱离服务器,独立进行视频录制。同时W3C也制定了相应的web标准。录制出来的是经过转码的标准媒体流数据。二、实践1、录制对象 MediaRecodervar med

2022-02-27 00:19:07 1343

原创 webrtc 入门第一章 基本设备操作

webrtc 入门第一章 基本设备访问一、介绍1、webrtc是什么webrtc是一个由google发起的开源实时通信方案,其中包括视频/音频采集、编解码、数据传输、音视频展示的功能。在浏览器,桌面应用,移动设备或者lot设备上都有可以运行的api接口,均可实现实时通信能力。web开发者可以基于web api开发基于视频、音频的实时通信应用,如视频会议,远程教育,视频通话,视频直播,游戏直播,远程协助,互动游戏,实时人脸识别等功能。2、优点是什么webrtc主要应用在实时通信方面,其优点总结为如下

2022-02-24 10:48:55 3368

原创 Golang实现php的str_replace方法

package mainimport ( "fmt" "strings")func Replace(a1, a2 []string) []string { r := make([]string, 2*len(a1)) for i, e := range a1 { r[i*2] = e r[i*2+1] = a2[i] } return r}func main() { str := "hello%world" array1 := []string{"\\", "%",.

2022-02-22 11:08:27 598

原创 Golang 中ip与int互相转换

package mainimport ( "bytes" "fmt" "strconv" "strings")func main() { fmt.Println(StringIpToInt("172.16.1.1")) fmt.Println(StringIpToInt("172.16.2.9")) fmt.Println(IpIntToString(2886729986))}func StringIpToInt(ipstring string) int { ipSegs .

2022-02-09 09:23:09 2921 1

原创 webrtc-centos下安装turn服务

一、背景最近在学习webrtc的p2p一对一视频对话功能,在该功能中需要使用中继服务将两个用户端的IceCandidate 数据进行交换,需要使用在公网STUN/TURN 服务。当然有免费的可以使用,国内免费turn服务地址但是很多连接时间久远已经不支持该服务,因此需要我们进行自己搭建一台服务。本次使用coturn这个软件实现TURN/STUN/ICE协议,并且支持P2P穿透防火墙。收集NAT背后的peer端(路由器或交换机后的电脑)对外暴露的ip和端口,找到一条可穿透的链路,俗称打洞。二、安装

2022-01-19 00:07:03 1021

原创 go-micro3.0教程(3)-web+gin实现api服务

前言上一章节中介绍了micro3.0 生成了user和order服务,在order服务中实现了订单查询方法,并在user服务中实现了注册和登录方法,并且在user服务中实现了查询订单详情的方法。 另外解决了多个服务在部署多台服务器调用遇到的问题。 本次将使用micro-web结合gin实现一个查询订单详情的api 的服务 go.micro.api.web 准备工作 etcd3.0 ip(49.232.162.254) 虚拟机 (192.16.24.145)...

2021-11-24 11:05:31 1548 1

原创 Linux下-crontab 执行脚本找不到mysql问题

一、问题需要一个定时任务,每天晚上清除错误日志,脚本写好了,在控制台里 手动用 sh ./text.sh 可以执行成功,但是放crontab里面执行不了,打出得日志表示 找不到mysql二、解决由于crontab得环境变量和#!/bin/bash 不一样,所以找不见mysql此时,需要修改脚本如下此时在crontab运行得时候会从新载入环境变量就能解决此问题...

2021-11-18 19:32:25 1188

原创 go-micro3.0教程(2)-服务创建及调用

前言上一章节中介绍了micro3.0 在linux上环境的搭建,这届主要讲服务创建和调用过程以及遇到的问题,准备工作 etcd3.0 ip(49.232.162.254) 虚拟机 (192.16.24.145) 运行order 服务 虚拟机(192.16.24.49) 运行 user服务 宿主机(192.16.24.12) 运行order服务 MySQL (49.232.162.25) 存放订单表新建服务本次user服务里为注册 和登录服务......

2021-11-10 18:28:44 1464 2

原创 golang导入私有仓库

一、背景在日常开发中经常需要导入自己私有库的包文件,但是使用 GOPROXY=https://goproxy.cn,direct以后 默认下载包会从代理路径进行下载。私有仓库例如e.coding.net 不是httpswww.test:6000 不是 80端口173.9.78.90 直接ip这类的符合规范的宝路径可能会下载不出来那么要怎么处...

2021-10-13 00:09:54 2150

原创 K8s-入门系列一(虚拟机配置)

一、背景​ 在容器和微服务时代关于为什么使用docker,k8s等技术以及他得优缺点都有哪些本次不做一一阐述,在各大网站都有相应介绍。本人学习路程全篇参考知乎大佬 K8S入门​ 本次采用Win10+VirtualBox6.1 + Centos8 的测试部署环境配置如下name ip gateway 内存 centos1 172.16.24.48 172.16.24.1 2g centos0 172.16.24.145 ...

2021-09-28 14:10:18 1113

原创 centos 安装etcd

1、# 1.下载wget https://github.com/etcd-io/etcd/releases/download/v3.4.6/etcd-v3.4.6-linux-amd64.tar.gz# 2.解压tar -zxf etcd-v3.4.6-linux-amd64.tar.gz# 3.移动到bin目录mv etcd-v3.4.6-linux-amd64 /usr/local/etcd# 4.开启端口 2379 -需要外部访问的话可以firewall-cmd --zon

2021-09-22 17:33:39 867

原创 go-micro3.0教程(1)-Linux 下搭建环境

前言Go Micro是一个插件化的基础框架,基于此可以构建微服务,Micro的设计哲学是可插拔的插件化架构 在架构之外,它默认实现了consul作为服务发现(2019年源码修改了默认使用mdns),通过http进行通信,通过protobuf和json进行编解码安装 本次采用micro3.0 +golang 1.14.1+protoc 3.7.1的配置 首先安装microgo get github.com/micro/micro/v3安装完后 按如下如图就可以执行成功,成功后需要..

2021-08-20 23:47:07 1195

原创 Mysql实现汉字首字母大写搜索

一、需求 在KTV项目中需要针对歌手和歌名的拼音首字母大写进行搜索即 周杰伦x=》ZJLx 类似这种的模糊搜索。二、方案 1.在实现过程中其实有很多种,比如msyql中对name字段在加一个拼音的字段,用来专门存每个字符的首字母大写,在搜索的时候直接搜索该字段。这个方法可以只是在添加歌曲或者更新歌曲名的时候需要维护这个拼音字段不是很方便。 2.mysql在查询的时候将歌曲名字汉字首字母转拼音然后子查询。这个方法的好处是只需要在查询的时候做处理,不需要单独维护其他的字段。在...

2021-06-21 23:36:06 1332

原创 常用入门算法

一、冒泡排序:每次比较相邻两个数大小,然后交换, 一轮结束后,又从头开始 进行下一轮 (一共要 数组长度-1 轮 且每轮交换次数减少 并确定一个数子)func arrSort(arr [6]int) { for i := 0; i < len(arr); i++ { for j := 0; j < len(arr)-i-1; j++ { if arr[j] > arr[j+1] { arr[j+1], arr[j] = ar

2020-11-27 18:36:46 681

原创 centos 下使用jenkins部署go项目

一、jenkins 安装Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle等插件。使用起来也比较方便。在安装时需要安装java环境。yum install javawget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.r

2020-10-15 20:34:06 645

原创 nps配置http

一、背景为了调试微信开发,需要外网域名,每次上服务器其实还是很麻烦,之前用ngrok也挺方便 只是有点卡,这次换nps了,用起来还是很方便,本次只用http方面的功能二、安装准备工作需要提前做咱们依次介绍1.外网服务器。2.域名(rilu.top),解析*.rilu.top 到服务器3.下载服务端 nps下载地址 选择复合服务器类型的安装包 tar -zxvf linux_amd64_server.tar.gz4.解压服务文件修改nps.conf配置,里面有两个重要的配置,web的端口和客

2020-09-28 23:55:24 4910

原创 反射reflect实现自定义路由

一、背景在使用websocket功能的时候要实现根据不同的请求url,执行不同的方法。怎么样能简单一点呢?解决办法实际上golnag的 自带路由处理方式。只不过每次都要在里面处理,一个路由定义一个handleFunc方法,如果方法多了确实挺麻烦,每次都要添加go http.HandleFunc("/", onMessage)2.实用参数判断基根据每次url的不同来返回对应的结构体然后执行他的对应的方法,这个其实是简单的工厂模式。缺点就是如果该结构提的方法很多的话,调用的参数判断结构就很多哦而

2020-09-13 23:54:14 388

原创 golang中 []interface{}转[]uint64解决办法

一、问题在处理消息接收的时候,前段会传一个json,字段类型不定,其中一个里面userId字段是数组,所以后端在 map[string]interface{} 再解析后类型为[]interface{} 想直接转[]uint64 结果报错

2020-09-13 00:29:52 4885

原创 golang使用elasticsearch

本次主要采用单利模式生成elasticsearch 服务,然后服务自带put和delete方法。调用的时候需要先调用 NewElasticServer 方法生成该服务。后续再根据需要调用服务的方法。。package elasticimport ( "context" "ginweb/config" "ginweb/runtime" "github.com/olivere/elastic" "log" "os" "strconv" "sync")var host = config

2020-09-08 22:44:31 966

原创 golang使用grpc

介绍rpc是一种远程调用协议,在微服务框架中经常使用。其内部也是走的tcp协议,在数据传输过程中也根据数据序列化的不同分化不同数据传输的api比如jsonrpc,grpc。grpc是使用protocol buffers作为接口定义语言(IDL)和底层数据交换的格式。它可以通过可插拔的支持来有效地连接数据中心内和跨数据中心的服务,以实现负载平衡,跟踪,运行状况检查和身份验证。另外,通过protobuf可以将数据序列化为二进制编码,这会大幅减少需要传输的数据量,从而大幅提高性能protoc用protoc

2020-08-22 23:45:57 1475

原创 linux 安装protoc

介绍Protobuf 是 Google 公司内部的混合语言数据标准。他们用于 RPC 系统和持续数据存储系统。有高效的协议数据交换格式工具库(类似Json)。但相比于Json,Protobuf有更高的转化效率,时间效率和空间效率都是JSON的3-5倍。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 、OC、Swift等语言的 API。相对于json的阅读性好来说,protoc更注重与数据交换的性能。安装github下载相

2020-08-20 23:21:40 4342 1

原创 pip install遇到Read time out问题解决

一、问题在使用pip install 安装模块的时候 有时候会出现的问题,此时只需要换一下下载源就行pip install -i htps://pypi.tuna.tsinghua.edu.cn/simple mysql最后是需要下载的模块,这样就能很快下载。国内的一些源:  阿里云 http://mirrors.aliyun.com/pypi/simple/   中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/   豆瓣(douban) h

2020-08-11 23:47:41 405

原创 golang-使用nsq消息队列

一、介绍NSQ是一个基于Go语言的分布式实时消息平台, 它具有分布式、去中心化的拓扑结构,支持无限水平扩展。无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征。另外,NSQ非常容易配置和部署, 且支持众多的消息协议。支持多种客户端,协议简单,但是nsq是无序的,就是消息的接受不一定根据发送的顺序,如果对顺序有要求的建议不要使用官网地址二、安装本次我是采用docker-compose安装的具体编排nsq.yml文件如下:version: '3' services: n

2020-08-10 23:51:22 1109

原创 windows svn不识别文件名大小写问题

默认是true,意思是自动修复大小写要识别大小写改成flase

2020-08-03 15:41:59 395

原创 react-native环境配置工具下载

react-native win环境配置工具下载名称下载地址python2.7链接:https://pan.baidu.com/s/1DhInzzR-FNV2i77qqNsX4A 提取码:jg7knode 14.v链接:https://pan.baidu.com/s/1orhGQ4CRRdVKvTV_QnRd2Q 提取码:thk4android-studio链接:https://pan.baidu.com/s/1FcZIAHz45l8gSWZmQeT_TQ 提取码:

2020-07-18 14:01:32 334

原创 python修改excel保留文件样式的操作

问题python操作execl是非常方便的他有很多的包, 比如 xlrd, xlwt这两个。不过在使用过程中遇到一个问题就是如果原文件有样式的话,再修改后,会导致原来的样式失效。解决办法1.在打开的文件的需要加一个 参数 work_book = xlrd.open_workbook('用户标识.xlsx',formatting_info=True)可能加上这几有时候还会遇到其他的问题比如:这里需是包源文件里的编码类型判断不全,需要修改一下就好了,找到site-package/xlwr/

2020-07-12 15:07:33 3528

原创 JAVA SDK安装

看这个 https://www.cnblogs.com/ring1992/p/8551976.html下载地址:链接: https://pan.baidu.com/s/1bJKfKzY2QTXbBYPCE0M36g 提取码: k7yd

2020-06-01 11:27:12 834

原创 docker配置elasticsearch

背景搜索这块公司一直用的阿里云的opensearch也挺方便的,但是很贵量一上来直接抗不住。于是目标投向elasticsearch。问题具体细节有片不错的文档 docker部署elasticearch自己用docker部署了一遍,遇到的坑还是有的。比如添加head插件后没法访问显示跨域,是因为服务端没有设置跨域配置需要去config目录下的vi elasticsearch.yml 文件...

2020-04-26 00:12:01 1331

原创 php配置 xhprof性能分析工具

工具xhprof是一款性能分析工具,在php开发中可以精确分析到每行代码每个方法所消耗的时间和性能等。安装我是在本地使用phpstudy的php7.3.4nts 集成环境,若你要是linux环境可以参考xhprof安装和使用方法下载方式你可以选择官网下载 下载 选择合适你的版本csdn下载我的百度网盘 下载 提取码 i705下载好后将php_xhprof.dll 文件配置在本地...

2020-04-16 15:17:34 467

原创 golang 与swoole的区别

golang 与swoole的区别关于语言golang使用静态语言,编写麻烦,单效率高,多用于io密集型计算swoole php是动态解释执行的,语言性能较差,不适合密集计算程序关于IOgolang使用单线程eventloop处理IO事件,多线程协程调度运行用户代码swoole使用多线程eventloop处理IO事件,多进程执行用户代码###关于协程golang语言层面支持多线程,...

2020-04-15 15:46:07 1439

原创 git pull 每次输入密码解决办法

每次git pull/push 拉代码都要输入账号和密码?git config --global credential.helper store然后执行一下就 git pull就好了

2020-04-04 22:13:02 513

原创 django出现Did you install mysqlclient?

问题描述django出现Did you install mysqlclient在做django安装时,运行python manage.py runserver 0.0.0.0:3000启动服务的时候会出现但是执行pip install mysqlclient的时候又报错这就让人很头大,python处理事情确实很方便,但是有些地方和细节方面确实有很多的坑.这个问题大部分的原因...

2020-04-03 22:35:32 7670 1

转载 nginx与php交互示意图

nginx与php交互示意图1图片2解析1图片2解析如上图所示,FastCGI的下游,是CGI-APP,在我们的LNMP架构里,这个CGI-APP就是PHP程序。而FastCGI的上游是Nginx,他们之间有一个通信载体,即图中的socket。在我们上文图3的配置文件中,fastcgi_pass所配置的内容,便是告诉Nginx你接收到用户请求以后,你该往哪里转发,在我们图3中是转发到本机的...

2020-03-19 14:17:27 358 1

原创 nginx配置websocket

server { listen 80; server_name aaa.bbb.com; # 你的网址名称 # 转发websocket需要的设置 proxy_set_header X-Real_IP $remote_addr; proxy_set_header Host $host; proxy_se...

2019-11-25 11:09:42 230

webrtc一对一视频项目dome

1.本项目主要是学习webrtc的基本操作及最终dome 2.包括摄像头,麦克风访问操作 3.视频录制,麦克风录制及音量可视化 4.数据通道连接及发送数据 5.webrtc连接 6.golang信令服务器,stun服务器搭建教程及dome 7.一对一视频聊天dome,及聊天室

2022-03-12

websockt-html.zip

该页面只为测试websockt的简单聊天页面主要功能 1.vue实现聊天窗口可消息发送

2021-02-26

空空如也

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

TA关注的人

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