11 zhangbijun1230

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 226

实时视频直播客户端技术盘点:Native、HTML5、WebRTC、微信小程序

1、视频直播客户端技术之Native APP原生 APP 终端音视频引擎的结构框图如下,基本包括了音频引擎、视频引擎和网络传输,合称实时语音视频终端引擎。这里还包含底层的音视频采集和渲染,还有网络的输入输出能力,这是操作系统开放的能力。原生 APP 有个天然的好处,它是直接和操作系统打交道的,操作系统开放的资源和能力它都可以直接用,比如说音视频的采集渲染,还有网络的输入输出。套用一句时髦的广告语:“没有中间商赚差价”,直接和操作系统对接,可以获得比较好的用户体验。在原生 APP 上实现连麦直播的优

2020-07-19 17:37:45

实时音视频聊天中的延时问题一篇就够

1、前言 音视频实时通讯的应用场景已经随处可见,从“吃鸡”的语音对讲、直播连麦、直播答题组队开黑,再到银行视频开户等。对于开发者来讲,除了关注如何能快速实现不同应用场景重点额音视频通讯,另一个更需要关注的可能就是“低延时”。但是,到底实时音视频传输延时应该如何“低”,才能满足你的应用场景呢? 2、延时的产生与优化 在聊低延时之前,我们先要讲清延时是如何产生的。由于音视频的传输路径一样,我们可以通过一张图来说明延时的产生:在...

2020-07-19 17:31:04

智慧社区门禁

1、智慧门禁介绍 智慧社区门禁经过一段时间的运营,由于功能全、系统稳定,得到大家的一致认可。2、智慧社区门禁对比传统门禁3、应用场景3.1 业主模式3.2 访客模式3.3 临时到访模式...

2020-07-18 18:24:24

音视频&流媒体的原理以及基础入门知识

流媒体背景当下,音视频、流媒体已经无处不在,直播已经火了几年,在后续的时间里面,人们聊天已经不仅仅满足与文字、而是更多的在于“类面对面”交流,能够实时感知对方的表情、动作。为此,有必要跟紧时代潮流,好好梳理梳理流媒体这门功课。流媒体是什么?流媒体就是指采用流式传输技术在网络上连续实时播放的媒体格式,如音频、视频或多媒体文件。流媒体技术也称流式媒体技术。那么音视频就是流媒体的核心。音视频常见术语定义规范音视频组成一个完整的视频文件,包括音频、视频和基础元信息,我们常见的视频文件...

2020-07-15 20:38:23

网络常见的 9 大命令

网络常见的 9 大命令,非常实用!1.ping 命令ping 是个使用频率极高的实用程序,主要用于确定网络的连通性。这对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping 就是一个测试程序,如果 ping 运行正确,大体上就可以排除网络访问层、网卡、Modem 的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。ping 能够以毫秒为单位显示发送请求到返回应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络,连接速度比较快。ping 还能显.

2020-05-18 21:14:07

从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建

从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建本文简介 为什么使用Spring Boot 搭建怎样一个环境 开发环境 导入快速启动项目 集成前准备 集成Mybatis 集成Swagger2 多环境配置 多环境下的日志配置 常用配置...

2019-11-18 14:06:08

Spring Boot 2.0---使用Swagger2构建强大的API文档

Spring Boot 2.0 ---使用Swagger2构建强大的API文档随着前后端分离架构和微服务架构的流行,我们使用Spring Boot来构建RESTful API项目的场景越来越多。通常我们的一个RESTful API就有可能要服务于多个不同的开发人员或开发团队:IOS开发、Android开发、Web开发甚至其他的后端服务等。为了减少与其他团队平时开发期间的频繁沟通成本,传统...

2019-10-05 14:37:29

Spring Boot通过配置文件区分测试和生产环境

Spring Boot通过配置文件区分测试和生产环境方法一:我们定义三个配置文件,一个是开发,我们定位为:application-dev.yml,另一个是生产,我们定义为application-pro.yml,还有一个是默认的配置文件application.yml内容分别如下如上图,如果active的值是dev,则使用application-dev.yml中...

2019-09-29 19:26:00

Spring Boot项目启动的几种方式

Spring Boot项目启动的几种方式方式一:右击启动或者点击intellij右上角的启动按钮我们访问下浏览器看一下效果方式二:利用maven启动我们先进入到项目文件下,然后执行命令 mvn spring-boot:run然后去浏览器输入地址http://localhost:5678/hello,点击回车,同样能获取我们想要的方式三:打成jar包,...

2019-09-29 19:01:35

设计模式---开闭原则

开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。开闭原则由BertrandMeyer于1988年提出,其定义如下:开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。在开闭原则的定义中,软件实体可以指一个软件模块、一个由多个类组成的局部结构或一...

2019-08-29 14:08:52

设计模式---面向对象设计原则之单一职责原则

单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小。单一职责原则定义如下:单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。单一职责原则告诉我们:一个类不能太“累”!在软件系统中,一个类(大到模块,小到方法)承担的职责越多,它被复...

2019-08-29 14:03:08

设计模式---面向对象的设计原则概述

对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平。面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设...

2019-08-29 13:57:17

单点登录原理与简单实现

单点登录原理与简单实现作者:凌承一www.cnblogs.com/ywlaker/p/6113927.html一、单系统登录机制1、http无状态协议web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对...

2019-08-19 09:22:24

超全、超详的Spring Boot配置讲解笔记

超全、超详的Spring Boot配置讲解笔记springboot默认加载配置SpringBoot使用两种全局的配置文件,全局配置文件可以对一些默认配置进行修改。application.properties application.yml这两个配置文件使我们springboot启动的时候回默认加载的配置文件。配置文件放在src/main/resources目录或者类路径/...

2019-08-06 19:25:46

Spring Boot实践

Spring Boot实践在本文中,我将重点介绍Spring Boot特有的实践(大多数时候,也适用于Spring项目)。以下依次列出了最佳实践,排名不分先后。1、使用自定义BOM来维护第三方依赖这条实践是我根据实际项目中的经历总结出的。Spring Boot项目本身使用和集成了大量的开源项目,它帮助我们维护了这些第三方依赖。但是也有一部分在实际项目使用中并没有包括进来,这...

2019-08-06 19:23:04

SpringBoot2.1.5(45)--- Spring Boot的核心模块

学习 Spring Boot 必须得了解它的核心模块,和 Spring 框架一样,Spring Boot 也是一个庞大的项目,也是由许多核心子模块组成的。Spring Boot 的核心模块下面我们大概来了解一下 Spring Boot 的核心模块。spring-boot这是 Spring Boot 的主模块,也是支持其他模块的核心模块,主要包含以下几点:提供了一个启动 Spring 应...

2019-08-06 17:36:59

分库分表方案

分库分表方案一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。1、IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂...

2019-07-25 17:50:26

千万级负载神器 LVS、Nginx及HAProxy工作原理大图详解!

千万级负载神器 LVS、Nginx及HAProxy工作原理大图详解!当前大多数的互联网系统都使用了服务器集群技术,集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是 Web 应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等。在实际应用中,在 Web 服务器集群之前总会有一台负载均衡服务器,负载均衡设备的任务就是作为 Web...

2019-07-25 08:43:36

ANR 问题一般解决思路

ANR 问题一般解决思路本文案例主要源于项目上实际遇到的问题,希望通过梳理之后能够对ANR问题能够快速定位,减少排查时间,同时在遇到棘手问题,能够更加从容。先说下三种常见类型1:KeyDispatchTimeout(谷歌default 5s,MTK平台上是8s) --主要类型按键或触摸事件在特定时间内无响应2:BroadcastTimeout(10s)BroadcastReceiv...

2019-07-24 08:53:22

阿里程序员常用的 15 个高效工具,大部分已开源!

阿里程序员常用的 15 个高效工具,大部分已开源!阿里将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。由于开发者涉及的技术领域众多,笔者仅从自己熟悉的领域,以后端开发者的视角盘点平时可能用得到的工具。每个工具按照以下几点进行介绍: 工具简介 ...

2019-07-24 08:32:42

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。