<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[爱上程序员]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/twoconk</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; twoconk]]></copyright><item><title><![CDATA[修改PJSIP支持webrtc回声消除处理]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/131305953</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/131305953</guid><author>twoconk</author><pubDate>Tue, 20 Jun 2023 14:18:14 +0800</pubDate><description><![CDATA[增加两个方法处理播放和录制；支持webrtc_aec3。支持webrtc-aec。支持外部webrtc。支持外部webrtc。]]></description><category></category></item><item><title><![CDATA[一个基于gfast框架的组团学习网站实现，代码已开源]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/115678084</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/115678084</guid><author>twoconk</author><pubDate>Tue, 13 Apr 2021 20:47:26 +0800</pubDate><description><![CDATA[计划是做一个基于翻转课堂实现的学习分享社区，让学习充满乐趣！



围绕学习课程主题来展开，主题可以是一门编程语言，一本书（电子书或者字纸书均可），一个视频课程资源，互联网有很多的学习资源，如何提高自主学习的效率，用有限的时间快速的完成高质量的学习，以教为学，翻转课堂的学习方法自认为是有效解决自主学习效率的问题，座椅考虑做一个一个基于翻转课堂实现的学习分享社区；



互联网有很多的学习资源，如何提高自主学习的效率，用有限的时间快速的完成高质量的学习，窃以为以教为学，翻转课堂的学习方法是当前最有效解决这..]]></description><category></category></item><item><title><![CDATA[关于开发转岗架构师的一点体会]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/105191886</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/105191886</guid><author>twoconk</author><pubDate>Mon, 30 Mar 2020 09:19:38 +0800</pubDate><description><![CDATA[今天看到有关于开发转岗架构师的文章，我从项目转到架构也有一年了，一点体会总结下。



需要的背景和业务技能：

1、已经是某一个业务领域的专家，在该领域有从设计、开发到上线，有完整的经历，业务领域被周围同事认可；

2、知识的广度要能覆盖到该领域所需要的所有技能，比方对开发语言来说，如果产品涉及多端，则要有跨平台开发所需要具备的技能；



转岗前的准备：

1、通过一个认证或者参加一个培训...]]></description><category></category></item><item><title><![CDATA[视频转码服务架构说明书]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/105095757</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/105095757</guid><author>twoconk</author><pubDate>Wed, 25 Mar 2020 15:27:04 +0800</pubDate><description><![CDATA[需求说明

视频转码服务，具备将高码率的视频转换为低码率的视频，和对不同编码格式的视频进行转换能力的后台服务；



规格定义

性能指标：


			
			
			
			吞吐量和性能指标
			
		
			4核 8G 1000M网卡

			GeForce GT 1030 以上显卡

			CPU 到 80%

			网络占用率 到 70%
			
			
			100路 720P 高...]]></description><category></category></item><item><title><![CDATA[FFmpeg和x264的windows版本编译安装记录]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/105053696</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/105053696</guid><author>twoconk</author><pubDate>Mon, 23 Mar 2020 17:45:53 +0800</pubDate><description><![CDATA[网上有各种版本的介绍，建议优先参考ffmpeg官网的说明，因为更新时间关系，可能细节有差异，但差异不大：https://trac.ffmpeg.org/wiki/CompilationGuide/MSVC



1. 下载和安装YASM

这一步好像已经不必要，最新版的代码中已经使用nasm来代替yasm。

YASM下载地址：http://yasm.tortall.net/Download.h...]]></description><category></category></item><item><title><![CDATA[《Linux高性能服务器编程》读书笔记：linux服务器程序规范]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/104698827</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/104698827</guid><author>twoconk</author><pubDate>Fri, 06 Mar 2020 16:42:47 +0800</pubDate><description><![CDATA[服务器程序规范，需要强化和遵守的，作者给列了4条规范：
1、Linux服务器程序一般以后台进程形式运行，也就是以daemon守护进程的方式，守护进程的父进程通常是init进程（PID进程为1），作者在7.6小结 服务程序后台化给出了一个程序的清单，还是很有参考意义的。后台进程形式运行，也就是通过fork一个子进程，结束父进程的方式运行，这样避免很多前台启动，随着操作终端界面的关闭而结束服务器程序的...]]></description><category></category></item><item><title><![CDATA[Windows端的java程序使用jni调用C++编写的库]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/104658242</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/104658242</guid><author>twoconk</author><pubDate>Wed, 04 Mar 2020 17:33:19 +0800</pubDate><description><![CDATA[Windows端的java程序使用jni调用C++编写的库，原来实现过在Android和Linux端通过JNI调用C++程序，在Windows端没有实现过，这里记录下几个关键的点；

1、64位的dll工程，现在少有32位的平台，所以需要通过VisualStudio编译出64位的dll，注意属性页-&gt;C/C++-&gt;代码生成/运行库/选择多线程调试（/MTd），参考Linux编译选项的静...]]></description><category></category></item><item><title><![CDATA[char *转换为string的陷阱：char*中包含较多的'\0']]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/104640861</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/104640861</guid><author>twoconk</author><pubDate>Tue, 03 Mar 2020 20:51:10 +0800</pubDate><description><![CDATA[今天给团队调试一个错误，概率性的加密的数据没法做解密，现象是解密出来的结果和源数据长度不一致，很奇怪的现象，因为加密使用的数据是随机的，所以使得问题出现时表象是概率的问题；

因为初次做加解密算法相关的项目，碰到这样的问题，首先是单步把解密流程过了一遍，发现解密没有问题，能正常的解密，但解密出来的长度就是不对，分析才发现加密后的数据的长度也不正常，所以考虑是加密源数据的问题，通过分析，才发现一个二...]]></description><category></category></item><item><title><![CDATA[属性加解密库OPENABE多平台编译总结]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/103244953</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/103244953</guid><author>twoconk</author><pubDate>Mon, 25 Nov 2019 20:30:46 +0800</pubDate><description><![CDATA[OPENABE
			
			
			C++库

			依赖库：

			Openssl 1.1.1

			Relic 0.5.0

			Flex 2.5.37

			Gtest 1.8.0

			Gmp 6.0.0

			bison 3.4

			Commits on Mar 31, 2019
			
			
			https://github.com/zeutro/ope...]]></description><category></category></item><item><title><![CDATA[Python小练习]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/102703070</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/102703070</guid><author>twoconk</author><pubDate>Wed, 23 Oct 2019 15:53:33 +0800</pubDate><description><![CDATA[一个小工具，发现有一个开源的诗词库(https://github.com/michaelliao/shici/tree/master/web/src/main/resources/text)，考虑导入到数据库中，诗词库是通过文件夹方式组织，所以用python发现很快的实现这个需求，代码记录如下：
 





#导入依赖库

import os,sys 
from datetime imp...]]></description><category></category></item><item><title><![CDATA[webrtc中使用的QOS相关的标准协议]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/101197400</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/101197400</guid><author>twoconk</author><pubDate>Mon, 23 Sep 2019 11:00:38 +0800</pubDate><description><![CDATA[rtx :https://tools.ietf.org/html/rfc4588

red:https://tools.ietf.org/html/rfc2198

ulpfec:https://tools.ietf.org/html/rfc5109

前一阵调测WebRTC的UlpFEC能力，发现一些问题，记录下来：

问题1. 默认支持的音频codec type过多，出现主叫侧单方向音频类...]]></description><category></category></item><item><title><![CDATA[实现rtsp直播推流和拉流双向通话功能]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/100016772</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/100016772</guid><author>twoconk</author><pubDate>Thu, 22 Aug 2019 15:45:35 +0800</pubDate><description><![CDATA[推流端                   服务器               观看端

PUSH CLIENT -&gt; DARWIN   &lt;--      PULL CLIENT1

5000(推流端的收发包rtp端口)

5001     ...]]></description><category></category></item><item><title><![CDATA[AnyRTC 的播放器类图]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/96978593</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/96978593</guid><author>twoconk</author><pubDate>Tue, 23 Jul 2019 11:37:18 +0800</pubDate><description><![CDATA[不得不说AnyRTC的代码架构上很好的做到了协议无关，解决了采集、编码，传输；收包、解码，显示的跨平台方案；今天尝试着做了一个RtspPull，结合live555的代码，很快就实现了一个rtsp的播放器功能；后续尝试着做一个RtspPush，实现rtsp的推流能力；
...]]></description><category></category></item><item><title><![CDATA[一个一起读专业书的想法]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/89854261</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/89854261</guid><author>twoconk</author><pubDate>Wed, 26 Jun 2019 20:57:23 +0800</pubDate><description><![CDATA[记得李国庆有一句话说的意思是“至今为止，知识的获取方式还没有跟得上移动互联网高速发展的智能时代”，看到这句话的时候，刚好有新闻说在最近二十年脑机接口将会出现商用级产品，知识的获取方式一定会有革命性的变化，但李国庆提到的获取方式的变化，还是基于当前音频和视频形式的变化，阅读贵在坚持，坚持需要有一个合适的群体，相互推进着往前走，这或许是“樊登读书会”这么受欢迎的原因。
由此想到，IT 类的专业书籍就更...]]></description><category></category></item><item><title><![CDATA[级联媒体转发服务器的方式部署，构建复杂网络环境下的媒体转发网络]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/91047098</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/91047098</guid><author>twoconk</author><pubDate>Thu, 06 Jun 2019 17:13:52 +0800</pubDate><description><![CDATA[媒体服务器就是转发UDP数据的RTP服务器，它的作用就相当于网络中路由器和交换机。我们把媒体服务器设计成一个模拟IP协议的应用服务器，构建复杂网络环境下的稳定的媒体转发网络。





关于多个房间服务器，多个RTPProxy媒体转发服务器的部署方式：





关于一个房间服务器，多个媒体转发服务器的部署方式：


...]]></description><category></category></item><item><title><![CDATA[RTPProxy代码结构说明]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/90755603</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/90755603</guid><author>twoconk</author><pubDate>Mon, 03 Jun 2019 17:27:49 +0800</pubDate><description><![CDATA[RTPProxy是纯C语言开发，使用面向对象的思路实现的对stream、session等的抽象，另外对象的构造、析构和引用计数机制都有实现，和doubango中对象的实现思路类似，每个对象一个c文件，提供类似rtpp_server_ctor和rtpp_server_dtor的构造和析构方法，然后提供一个结构体的实例化对象，结构体对象中第一个对象是该对象的公共接口方法指针，类似如下代码：
stati...]]></description><category></category></item><item><title><![CDATA[给srs长时间推流内存增长异常问题处理]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/90517845</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/90517845</guid><author>twoconk</author><pubDate>Fri, 24 May 2019 15:54:29 +0800</pubDate><description><![CDATA[使用librtmp库将拉取监控的rtsp流推送给srs服务器，发现一个异常，在长时间大概1个月后发现系统内存被srs吃满，也不知道是什么原因产生的这个现象，并且通过top去查看srs的内存在持续增长，通过ffmpeg推流没有这个现象，感觉还是librtmp使用的问题，暂时也没有很好的思路分析；

通过查看srs的git库，发现srs提供了一个srs-librtmp的源码库，能完成推送h264裸流的...]]></description><category></category></item><item><title><![CDATA[Android应用交付质量提升调查]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/90377968</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/90377968</guid><author>twoconk</author><pubDate>Mon, 20 May 2019 16:56:39 +0800</pubDate><description><![CDATA[近期我们一直在思考如何提升Android端应用的开发和交付质量，Android端应用交付质量相关表现：

1.提交测试后的BUG数量；

2.稳定性：测试反馈的卡顿、重启、耗电等偶发性性能问题数量；

3.上线后用户评价：产品上线后反馈问题数量；

4.可扩展性：定制扩展修改困难，一处修改，却导致其他功能逻辑出现问题；

5.可维护性：代码规范问题，编码风格不统一，维护困难；

6.流程规范性：提...]]></description><category></category></item><item><title><![CDATA[监控摄像头的拉流转发实现]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/89382499</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/89382499</guid><author>twoconk</author><pubDate>Thu, 18 Apr 2019 16:50:17 +0800</pubDate><description><![CDATA[这两天一直在调试Darwin的拉流转发功能，也就是使用Darwin服务器拉取另一个RTSP服务器的视频流（比方监控摄像头）的实时视频，然后通过Darwin服务器提供的rtsp地址进行转发播放，这个简称为拉流转发服务，基本功已经正常完成（网上有一个QTSSOnDemandRelayModule的思路可以参考：DarwinServer）；现在包括海康摄像头提供的萤石云服务，其实是将这种拉流转发服务直接...]]></description><category></category></item><item><title><![CDATA[实时监控视频转码处理]]></title><link>https://blog.youkuaiyun.com/twoconk/article/details/89103021</link><guid>https://blog.youkuaiyun.com/twoconk/article/details/89103021</guid><author>twoconk</author><pubDate>Mon, 08 Apr 2019 19:27:26 +0800</pubDate><description><![CDATA[实时监控视频的码率通常在5M以上，如果做比方手机端的实时预览查看，对带宽是很大的考验，所以很有必要先做降分辨率，然后降码率的处理。所有的处理在后台服务器进行，大致的业务流程如下：



海康监控摄像头输出的分辨率是：2560*1440 ，ffmpeg提供的方法能很好的完成这个流程，其实网上有很多例子，但都不全，去看ffmpeg源码提供的例子来实现是很好的办法，比方ffmpeg-4.1的例子代码在\...]]></description><category></category></item></channel></rss>