AnyRTC 的播放器类图

不得不说AnyRTC的代码架构上很好的做到了协议无关,解决了采集、编码,传输;收包、解码,显示的跨平台方案;今天尝试着做了一个RtspPull,结合live555的代码,很快就实现了一个rtsp的播放器功能;后续尝试着做一个RtspPush,实现rtsp的推流能力; ...

2019-07-23 11:37:18

阅读数 26

评论数 3

一个一起读专业书的想法

记得李国庆有一句话说的意思是“至今为止,知识的获取方式还没有跟得上移动互联网高速发展的智能时代”,看到这句话的时候,刚好有新闻说在最近二十年脑机接口将会出现商用级产品,知识的获取方式一定会有革命性的变化,但李国庆提到的获取方式的变化,还是基于当前音频和视频形式的变化,阅读贵在坚持,坚持需要有一个合...

2019-06-26 20:57:23

阅读数 100

评论数 0

级联媒体转发服务器的方式部署,构建复杂网络环境下的媒体转发网络

媒体服务器就是转发UDP数据的RTP服务器,它的作用就相当于网络中路由器和交换机。我们把媒体服务器设计成一个模拟IP协议的应用服务器,构建复杂网络环境下的稳定的媒体转发网络。 关于多个房间服务器,多个RTPProxy媒体转发服务器的部署方式: 关于一个房间服务器,多个媒体转发服...

2019-06-06 17:13:52

阅读数 59

评论数 0

RTPProxy代码结构说明

RTPProxy是纯C语言开发,使用面向对象的思路实现的对stream、session等的抽象,另外对象的构造、析构和引用计数机制都有实现,和doubango中对象的实现思路类似,每个对象一个c文件,提供类似rtpp_server_ctor和rtpp_server_dtor的构造和析构方法,然后提...

2019-06-03 17:27:49

阅读数 65

评论数 0

给srs长时间推流内存增长异常问题处理

使用librtmp库将拉取监控的rtsp流推送给srs服务器,发现一个异常,在长时间大概1个月后发现系统内存被srs吃满,也不知道是什么原因产生的这个现象,并且通过top去查看srs的内存在持续增长,通过ffmpeg推流没有这个现象,感觉还是librtmp使用的问题,暂时也没有很好的思路分析; ...

2019-05-24 15:54:29

阅读数 69

评论数 0

Android应用交付质量提升调查

近期我们一直在思考如何提升Android端应用的开发和交付质量,Android端应用交付质量相关表现: 1.提交测试后的BUG数量; 2.稳定性:测试反馈的卡顿、重启、耗电等偶发性性能问题数量; 3.上线后用户评价:产品上线后反馈问题数量; 4.可扩展性:定制扩展修改困难,一处修改,却导致...

2019-05-20 16:56:39

阅读数 26

评论数 0

监控摄像头的拉流转发实现

这两天一直在调试Darwin的拉流转发功能,也就是使用Darwin服务器拉取另一个RTSP服务器的视频流(比方监控摄像头)的实时视频,然后通过Darwin服务器提供的rtsp地址进行转发播放,这个简称为拉流转发服务,基本功已经正常完成(网上有一个QTSSOnDemandRelayModule的思路...

2019-04-18 16:50:17

阅读数 317

评论数 0

实时监控视频转码处理

实时监控视频的码率通常在5M以上,如果做比方手机端的实时预览查看,对带宽是很大的考验,所以很有必要先做降分辨率,然后降码率的处理。所有的处理在后台服务器进行,大致的业务流程如下: 海康监控摄像头输出的分辨率是:2560*1440 ,ffmpeg提供的方法能很好的完成这个流程,其实网上有很多例...

2019-04-08 19:27:26

阅读数 126

评论数 0

WebRTC库在Android端后台运行时内存和功耗高的问题修改

1、在房间数超过10个后,so底层库在创建socket时报文件句柄太多导致tombstone的问题 怀疑是libjingle的so被加载多次,导致占用内存过大引起,解决方法:修改PeerconnectionClient中的PeerconnectionFactory对象factory为单实例对象,...

2018-12-21 14:27:43

阅读数 203

评论数 0

GB33154-2017规范讨论之公共安全视频监控联网信息安全技术要求

         

2018-12-17 20:54:44

阅读数 110

评论数 0

一个小程序从零到上线记录全过程

PS:以前写过简单的 js,所以入门不算太难;有同学说微信小程序的开发过程让开发者很爽。依赖完全原生的体验,小程序的开发效率提高了不少,从开始到上线,确实有这种体验:开发快,加载快,体验好。 0、先是将微信小程序的“简易教程”来回看了好几遍,算是明白了一个小程序的目录结构,json 配置文件,w...

2018-12-13 10:46:53

阅读数 358

评论数 0

如何做好一个团队的技术主管

在技术岗的时候,我们谈论最多的是责任心,主动性,团队意识和技术能力;而成为基层主管,则需要谈沟通能力,项目管理和团队管理能力,情商要高,产品/项目输出质量要高,这就需要我们从仅仅关注个人成长和绩效,转变为关注团队成长和绩效;而对于如何做好一个团队的技术主管,所谓见仁见智,非科班出身,摸着石头过河,...

2018-12-01 08:45:43

阅读数 1222

评论数 0

使用Janus作为对讲服务器的后台框架和业务流程

对讲后台业务架构图如下图:   图1、对讲后台业务架构图   通过NGINX负载Janus http服务器的API接口,通过该API接口可以获取可用Janus服务器的IP和端口;客户端拿到可用对讲服务器的IP和端口后,通过WebSocket连接到该服务器,并保持长连接,客户端进入会议室...

2018-11-21 09:44:48

阅读数 819

评论数 0

做一个合格的程序员

管理学的经典中常说,基层主管要经常培训和指导新人,告诉他们,应该如何工作,坚持什么,鼓励什么,认可什么,怎样才能获得好的绩效,所以,经过几天的思考和总结,给大家分享“做一个合格的程序员”的主题,欢迎大家拍砖讨论。   知乎上给合格程序员的定义,是指能够根据客户的需求或者上级的要求,选择恰当的技...

2018-11-21 09:36:42

阅读数 87

评论数 0

读书笔记(一):《简单的逻辑学》

干程序员这行,给计算机读的编程语言,如果缺少哪怕一个分支的逻辑,计算机的执行结果绝对是超预期的,轻则跑飞,重则崩溃,所以逻辑思维严谨是程序员这个职业基本的素养; 那作为一个资深的码农,为什么会去看《简单的逻辑学》,缘由是逻辑思维的推荐,逻辑学作为底层临界知识的一部分,如何清晰高效地思考,如何...

2018-11-16 17:03:57

阅读数 331

评论数 0

如何避免后台服务的单点故障&动态增加服务扩容能力

     

2018-11-01 09:30:28

阅读数 361

评论数 0

Freeswitch和东方网力平台的GB28181国标上下级对接

一、Freeswitch作为国标下级 1、主要工作: 注册到上级平台、心跳上报 GB28181终端设备目录上报(查询上报和主动上报) 东方网力平台调取终端实时视频(一对一) 东方网力平台调取终端实时视频(一对多) 东方网力平台调取某个终端回传的历史视频 2、大致实现: 在/usr/...

2018-09-05 10:26:02

阅读数 1279

评论数 3

修改Janus,支持datachannel通过rtp通道传输

Janus的datachannel支持的协议主要是:“DTLS/SCTP”、"UDP/DTLS/SCTP",而RTP通道使用的是"UDP/TLS/RTP/SAVPF",修改的思路包括SDP返回的修改,RTP数据包中提取data...

2018-09-04 21:22:12

阅读数 373

评论数 0

基于Janus房间服务器的POC对讲实现

一、理解Janus插件janus_videoroom的包转发实现 该插件模式具备SFU的包转发能力,每一个进入房间的与会者,可以通过Publish发布自己的音视频,也可以通过Subscribe订阅其他人的音视频,转发能力由libnice库提供 二、理解POC对讲半双工模式下的包转发实现 POC,...

2018-08-20 16:25:14

阅读数 680

评论数 0

Janus客户端修改WebRTC源码支持会议室功能

Janus客户端使用最新版本的WebRTC的so,发现subscribe组时,不能看到火狐客户端推送的视频 分析日志,原因是接收rtp包的receiver的sink中没有被注册任何接受者,所以解码后的数据帧没有被回调到应用层。   经过分析,刚开始以为是mid不一致所致,后来发现,是底层库对...

2018-07-31 20:51:34

阅读数 655

评论数 0

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