- 博客(24)
- 资源 (3)
- 收藏
- 关注
原创 Kurento 源码解析系列(3)- RtpEndpoint端点初始化解析
关于kurento的rtpendpoint 从客户端发起rpc调用后,在服务器内部如何从cpp层到c层进行相关实例化需要先回顾以下每个可直接实例化对象的创建的流程首先是JAVA客户端通过rpc调用在media-server工程中的ServerMethods.cpp中create方法;voidServerMethods::create (const Json::Value ¶ms, Json::Value &respon...
2020-10-08 11:33:08 783
原创 从源安装kurento详解
首先当然是去官网clone官方的入口项目,具体方法可自行查看官网文档,下面主要说的是项目clone下来后,编译可能缺少的依赖在哪里.另外声明,当前使用的环境为ubuntu18.04的桌面版1:安装java环境, 安装maven,从apt安装就可以了2:编译kurent-module-creator项目,进入在该项目后,通过maven打包,命令如下mvn install3:然后把kurent-module-creator源码中的script文件夹下的脚本文件复制到/usr/bin,把生成到tar
2020-08-29 19:30:07 1007
原创 Linux-进程见通信的几种方式
lINUX进程之间通信主要的方式:管道、消息队列、内存共享、信号量、信号、SOCKET本地通信。每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。一、管道如果你学过 Linux 命令,那你肯定很熟悉「|」这个竖线。ps -ef | grep java上面命令行里的”|”,竖线就是一个管道,它的功能是将前一个命令(ps -f)的输出,作为后一个命令(grep java)的输入,从这功能描述,可以看出管道传输数据是单向的
2020-08-02 13:18:38 1022
原创 Kurento 源码解析系列(2)- PlayerEndpoint的初始化过程
Kurento 源码解析系列(2)- PlayerEndpoint的初始化一个将源项目各个子项目整合并编译以后的工程地址https://github.com/ywcai/JKms.gitPlayerEndpoint.cpp 初始化过程代码分析回顾 PlayerEndpointImpl.cpp初始化的过程,会先初始化他的父类MediaElementImpl.cpp以及UriEndpointImpl.cpp.其中MediaELement.CPP会作最重要的c层gstreamer插件的初始化工作:
2020-07-18 00:51:41 867
原创 Kurento 源码解析系列(1)- PlayerEndpoint的play方法
PlayerEndpoint.cpp 播放的流程解析Playendpoint 收到java层的rpc指令,启动play方法Play方直接调了start()方法,start方法来自继承的父类,UriEndpoint.cpp的start方法;UriEndpoint.cpp的调用方法调用了if (!kms_uri_endpoint_set_state (KMS_URI_ENDPOINT (getGstreamerElement() ),...
2020-07-15 22:20:30 874
原创 Springboot入门系列教程(5)-redis使用及入缓存注解介绍
一、Spingboot主要可用的两个redis客户端框架分别为jedis和Lettuce。在2.0版本以前,start框架默认依赖的是jedis,而2.0及到现在最新的版本则是改为了依赖Lettuce。先说说两个客户端框架的主要区别。Jedis实现上是直连的Redis Server,在多线程环境下是非线程安全的。每个线程都需要拿自己的 Jedis实例,当连接数量增多时,资源消耗成本较高。Let...
2020-03-28 09:42:25 270
原创 Springboot入门系列教程(4)-数据库操作之mybatis(含多数据源的自动切换方案)
一、在介绍mybatis的使用之前,先接续上一篇JPA的使用,进行两者的相关简单对比。1、 mybatis有个优势是,如果接收结果集中的属性没有找到相应的返回数据库字段,不会报错,将赋一个空值,而JPA会报错。2、 mybatis可以单独的通过@Restult进行结果集中数据库字段与类对象属性的映射;3、 mybatis不能像JPA一样,在接收对象里面再写一个对象属性来接收其他表的数据...
2020-03-19 14:48:00 645 1
原创 Springboot入门系列教程(3)-数据库操作之JPA
在常规的WEB应用中,数据库的crud是用的最多的功能,基于spring boot框架,我们最常用的就两个框架,一个是hibernate、另外一个则是mybatis。两者在使用方法、以及使用的效果效率等方面有什么区别。需要注意的hibernate本来是一个完全的ORM数据持久化框架,他完全遵守了JPA的规范,因此springboot的Jpa默认引用了hibernate来做为持久层框架。当然使用...
2020-03-19 00:21:43 946
原创 Springboot入门系列教程(2)-开启Web应用程序
基于上一篇中我们已经搭建好的Spring Boot脚手架,如何去配置一个WEB应用程序。现在很简单,只需pom加入web-starter的相关依赖,即可自动拉取到SpringMvc所需要的所有依赖包。POM依赖如下:<dependency> <groupId>org.springframework.boot</groupId> <...
2020-03-18 23:19:26 125
原创 Springboot入门系列教程(1)-搭建环境
一、通过IDEA的spring Initializer创建二、通过MVEAN的模板创建工程最后生成的工程里面,核心的pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM...
2020-03-18 22:29:00 325
原创 kurento 使用recordEndpoint保存文件失败的几种原因
如题:1、如果recordendpoint保存文件不成功,而且也没有任何报错的提示,则看一下保存文件的路径,该路径的文件夹kurento是否具有写权限,可以直接使用 “chmod 777 目录”命令 打开改目录的所有用户写权限。2、最好使用stopandwait()方法结束,否则保存为mp4无法保存,webm不受影响。3、kurento到目前的版本(6.13),无法保存mkv格式文...
2020-03-08 23:07:55 728
原创 基于Kurento的webRTC音视频开发
Kurento的坑基本已填,包括安卓和web端的实现,。文章大致讲下思路,里面坑由于时间问题,就没一点一点列出来。欢迎有各种各样的小伙伴咨询服务器搭建1、安装环境版本Kurento只能运行在unbuntu系统下,官方建议为 14、16、18版本。具体centos等其他操作系统下能否能运行未进行实测,官方也有docker安装版本,笔者暂未进行测试。要搭建测试环境有没有合适的服...
2020-02-20 12:05:03 1968
原创 Springboot入门系列教程(6)-基于securtiy框架的单点登录配置详解
Springboot Security Oauth2单点登录配置详解目录一、关于配置文件的编写规则二、认证授权端配置三、资源服务端配置四、WEB应用客户端配置五、测试验证搭建效果结束语一、关于配置文件的编写规则我这里使用的application.properties文件来配置,可自行转换为yml文件配置,按照固定格式转换配置语法即可,含义是一样的,两种文...
2018-08-30 19:01:31 9335 3
原创 Kurento 源码解析系列(4)- RtpEndpoint端点c层代码的调用处理
当完成rtpbaseendpoint的初始化后,根据我们业务调用的逻辑。首先是在服务端调用genrateOff方法,从而生成服务端的sdp信息返回给远端RTP,然后远端处理sdp后返回answer给本端rtp,再然后就是本端的sdpbaseendpoint继续answer这个offer后,进开始发送数据。流程大致如下假如我们有A服务器的rtp端点需要和B服务器的rtp端点进行通信,具体的代码在kurento中调用方法的流程如下:首先在A中,我们调用genrateOffer方法,实际是发送了1个
2020-10-21 17:01:15 749 1
原创 SpringCloud Zuul配置微服务网关详解
目录一、准备搭建环境的目标二、zuul微服务网关主要配置三、Zuul微服务网关默认配置的坑四、重定向无法获取正确路径的填坑过程五、关于熔断和超时设置的问题一、准备搭建环境的目标笔者在https://mp.csdn.net/postedit/82226297,已经介绍了如何配置独立的认证中心和SSO客户端,以及完成配套的资源服务器配置。但是,在实际生产环境中使用会存在一些...
2018-09-12 17:46:22 30801 2
原创 快排-非递归实现
package ls.algorithm.sort;import java.util.Stack;public class QuickSort extends SortInf{ public QuickSort(int size) { super(size); // TODO Auto-generated constructor stub } @Override pub...
2018-04-22 16:30:39 467
原创 归并排序-非递归实现
package ls.algorithm.sort; public class MergeSort extends SortInf { int[] temp; public MergeSort(int size) {//这里在抽象内中随机生成了一个数组,并打印显示 super(size); this.printSrcArr();// temp=new int[si...
2018-04-22 16:28:01 297
原创 回溯N皇后问题-循环解决
循环代码稍微复杂一点,不过再大的棋盘都不会有内存溢出问题。15皇后存在序列太多,粘贴了最后几组,期盘大小为15时,共2279184个摆法。2279177 : 14 12 10 8 1 5 13 2 0 7 11 4 6 9 3 2279178 : 14 12 10 8 2 11 1 3 0 6 9 13 5 7 4 2279179 : 14 12 10 8 3 1 4 11 9 0 13 5 7 ...
2018-04-21 17:41:45 381
原创 回溯解决N皇后问题-递归方案
递归实现,棋盘太大后,会造成栈溢出的问题,递归方法的局限性。下一篇使用循环实现。package ls.algorithm.queen;public class NQueen { static final int chessSize=6;//棋盘大小. int[] position=new int[chessSize];//记录每行放置旗子的位置 int number=0; int current...
2018-04-21 14:47:26 332
原创 eclipse下的ssh框架整合过程及测试
近期在搭建Stuts2+hibernate+spring的框架,网上看的教程,大部分都是很简单的步骤,没有比较详细的步骤以及每个步骤完成之后如何检查是否配置成功。以下是笔者根据自己搭建的过程进行了总结,有兴趣的可按以下步骤搭建。
2015-07-27 20:40:39 2700 1
原创 swing 将system.out输出的信息重定向到JTEXTAREA
swing框架重定向控制台消息并且同步输出到JtextArea的解决思路及其中可能遇到的问题分析
2015-07-11 16:21:25 5713 1
ssh框架整合(包含所有lib、xml、java、jsp)
2015-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人