王长金的个人博客 
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •     

JAVACV 录屏推流并使用flv.js 播放

环境流媒体服务器 ubuntu2004+nginx+nginx-http-flv-module 推流 win10+javacv 拉流 win10 + flv.js nginx 编译安装依赖libpcre3sudo apt install libpcre3-devzlib下载源码http://www.zlib.net/zlib-1.2.11.tar.gz tar zxvf zlib-1.2.11.tar.gz cd zlib-1.2.11 ./configure make make install nginx-http-flv-modulehttps://github.com/winshining/nginx-http-flv-module/archive/master.zip nginx下载源码http://nginx.org/download/nginx-1.19.6.tar.gz tar zxvf nginx-1.19.6.tar.gz cd nginx-1.19.6 ./configure --prefix=/home/wangcj/nginx --add-modul
 2021-01-12   JAVA    javacv  flv.js  直播  屏幕录制 

SPRING CLOUD BUS 自定义事件

引人依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency>配置rabbit参数 rabbitmq: host: 172.21.126.136 port: 5672 username: cares password: Cares123 定义事件package com.cares.fids.server.events; import org.springframework.cloud.bus.event.RemoteApplicationEvent; /** * @author wangcj * @desc * @date 2021/1/5 14:25 **/
 2021-01-06   SPRING CLOUD    spring cloud bus 

DATAV 支持低版本浏览器es7转es5

问题datav在xp下谷歌浏览器报错,xp下谷歌浏览器只支持es2015语法 解决思路:使用babel将es2018语法转为es2015 新建目录,复制要转换的datav.map.vue.js到文件夹命令行进入新建的文件夹新建 bable 配置文件 .babelrc{ "presets": [ "es2015", "vue", "stage-2" ], "plugins": [] } 安装bablenpm install -g babel-cli安装转码规则npm install --save-dev babel-preset-es2015 npm install --save-dev babel-preset-stage-2 执行转换bable datav.vue.map.js -o a.js
 2021-01-06   前端    vue  低版本浏览器兼容 

服务端推送 eventsource

前台$(function () { let source = null; // 用时间戳模拟登录用户 const userId = new Date().getTime(); if (window.EventSource) { // 建立连接 source = new EventSource(ctx + "fids/screen_status/" + userId); source.addEventListener('open', function (e) { setMessageInnerHTML("建立连接。。。"); }, false); source.addEventListener('message', function (e) {
 2021-01-06   JAVA    推送 

FutureTask 获取异步处理结果

public byte[] getScreenShot(String mac) { if (!ClientConnectionMap.keySet().contains(mac)) { throw new BusinessException("航显ID " + mac + " 不存在"); } Channel channel = ClientConnectionMap.getClientChannelBytoken(mac); if (null == channel) { throw new BusinessException("连接异常"); } String reqId = UUID.randomUUID().toString(); FidsScreenShotReq req = new FidsScreen
 2020-12-25   JAVA   

SPING CLOUD GATEWAY 自定义负载均衡

问题微服务和航显设备通过socket连接,微服务端管理socket的连接,用户从web发送指令到航显设备执行。如果用户发送的指令到一台没有soket连接的微服务,那么控制指令将无法到达航显设备。 解决思路用户发送的请求通过 spring cloud gateway负载,自定义负载均衡,发送请求的时候带航显设备连接的微服务ip,自定义负载根据ip去选择转发的服务器,这样请求就不会到达没有连接的微服务 自定义负载均衡全局过滤器 LoadBalancerClientFilter根据自动配置规则,如果用户定义了LoadBalancerClientFilter ,就使用用户定义的 package com.cares.gateway.filter; import com.cares.gateway.rules.FidsLoadBalanceRule; import com.google.common.collect.Maps; import org.springframework.cloud.client.ServiceInstance; import org.springframework.c
 2020-12-24   SPRINGCLOUD   

docker 清理日志

#!/bin/sh echo "======== start clean docker containers logs ========" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do echo "clean logs : $log" cat /dev/null > $log done echo "======== end clean docker containers logs ========"
 2020-12-24   docker    docker  日志清理 

Netty 服务端连接管理

FidsServer.javapackage com.cares.fids.server.comm; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelOption; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioServerSocketChannel; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; /** * @author wangcj * @desc * @date 2020/12/19 19:38 **/
 2020-12-23   JAVA    netty 连接管理 

Netty 客户端断线重连

启动时候服务端不在线 EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); Bootstrap bootstrap = new Bootstrap(); bootstrap.channel(NioSocketChannel.class); bootstrap.option(ChannelOption.SO_KEEPALIVE, true); bootstrap.group(eventLoopGroup); bootstrap.remoteAddress(host, port); bootstrap.handler(fidsClientChannelInit); ChannelFuture future = bootstrap.connect(host, port); future.addListener(reConnectListener); ReConnectListener.java
 2020-12-23   JAVA    netty  断线重连 

java 嵌入cef 浏览器

依赖 <dependency> <groupId>org.bitbucket.johness</groupId> <artifactId>java-cef</artifactId> <!--<version>49.87.win32.2</version>--> <version>49.87.win64.2</version> </dependency>这个版本最低支持xp系统,所以选择这个版本。最新版本可以在官网下载源码编译 窗口程序package com.cares.fids.client.core; import org.cef.browser.CefBrowser; import javax.annotation.Resource; import javax.swing.*; import java.awt.*; /**
 2020-12-23   JCEF    jcef  嵌入式谷歌浏览器 
123456…12

搜索

苏ICP备20000570号-1
 总访问量 次   总访客数 人