自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (3)
  • 收藏
  • 关注

原创 PJSIP自动注册机制踩坑

PJSIP自动注册机制踩坑严格意义上说并不一定算是PJSIP的坑,只是理解不一样而已,事情是这样,使用中发现有些时候PJ注册失败后会停止继续注册,导致app如果没有人工干预会一直离线状态,这个在生产环境是比较伤的,开始研究一下它的注册机理。PJSIP的自动注册分两条线:线路一是注册成功之后的定时注册(也称心跳),线路二是注册失败之后的定时重新注册,这个两个时间和频次以及执行的模块是不一样的...

2019-03-22 16:55:44 4262

原创 PJSIP视频卡顿的原因以及解决办法

PJSIP视频卡顿的原因以及解决办法现象:网络状况很好,没有丢包,视频也不会花屏,但是不流畅卡顿很厉害,这个时候作为用户是崩溃的。分析:花屏和卡顿两个现象是不一样的原因造成。1、花屏是解码宏块出现错误导致,抛开解码器自身可能存在的问题,直接原因99%都是数据错误造成,而数据错误的直接原因就是网络丢包,这里不涉及暂不讨论。2、视频不流畅卡顿,可能的原因有几个:(1)网络抖动严...

2019-03-19 11:54:06 2603 1

原创 centos 6.5安装svn并支持https

centos 6.5安装svn并支持https以前搞过一次,近几天删了某些库,又搞一次... 版本:subversion-1.7.6.tar.gz1、下载第一个依赖库:apr-1.4.5.tar.gz解压后cd进入#./configure --prefix=/usr/local/apr#make && make install2、下载第二个依赖库:a...

2018-10-17 20:46:38 790

原创 pjsip内存优化及提升视频呼叫并发数

pjsip内存占用优化及提升视频呼叫并发    工作上的一个上层调度台应用(Windows 7),业务功能上有并发调取多个视频的需求,发现调取30左右路D1视频后会导致崩溃,日志提示:except.c  !!!FATAL: unhandled exception PJLIB/No memory!,内存不足,在开发环境下验证发现内存占用已经达到2G以上(32位程序默认最高给2G内存,通过配置能达到3...

2018-07-12 20:58:57 1728 2

转载 Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录

Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录源地址:https://blog.csdn.net/qjc_501165091/article/details/51278696ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式。其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到li...

2018-07-06 15:41:47 752

原创 PJSIP2.6版本 CentOS6.4编译Android库及其demo工程

PJSIP2.6版本 CentOS6.4编译Android库及其demo工程官方编译过程:点击打开链接1、准备材料:android-ndk-r10e:这个版本编译比较适合,更高级的版本在PJ2.6中有问题,需要对比更新Make文件,或者直接用最新版本。链接:点击打开链接openh264:源码编译安装android库,注意用1.6版本,新版本不确定API是否改动,链接:点击打开链接2、准备工作创建用...

2018-06-28 17:17:43 859

原创 解决SDL创建的Win32窗体无鼠标双击相应事件

解决SDL创建的Win32窗体无鼠标双击相应事件版本:笔者当前版本2.0.7,从官网down源代码 点击这里现象:从消息处理过程中无法收到鼠标双击的事件,鼠标按下和抬起的事件则正常。原因:通过RegisterClassEx注册窗口类时style未添加鼠标双击CS_DBLCLKS修改文件:SDL_windowsevents.c定位到RegisterClassE

2017-12-02 19:39:20 1203

原创 记录C++库封装/OCX封装遇到的压栈顺序导致的问题。

记录C++库封装/OCX封装遇到的压栈顺序导致的问题。    事情是这样,项目中使用VC++封装了API动态库xxx.dll,此库中的所有API接口都显示声明了__stdcall,也就是说API函数压栈顺序是从右至左,栈空间的释放由函数自己负责。    动态库的使用方是MFC程序,而__cdecl是VC++默认的调用规则,在一个回调函数中没有显示写明调用规则,其实就用了默认的__c

2017-10-17 21:22:03 408

原创 解决MFC COM组件开发链接错误error LNK2001: 无法解析的外部符号 _CStdStubBuffer2_Release@4

接过来一个COM组件项目,升级vs2012 开发环境,链接提示:1>  RTPPlayer_p.c1>     正在创建库 ../../bin/Release\RTPPlayer.lib 和对象 ../../bin/Release\RTPPlayer.exp1>RTPPlayer_p.obj : error LNK2001: 无法解析的外部符号 _IUnknown_QueryInter

2016-12-23 16:54:17 1719

原创 VLC 接收H264、TS、PS流SDP写法

博主封装的是PS流,之前用vlc只是播放了h264流,写法如下:m=video 8002 RTP/AVP 96a=rtpmap:96 H264/90000用这个测试了半天,不是绿屏就是白板,一直在找是不是封包的问题,百度了一下,找到TS写法:m=video 8002 RTP/AVP 96a=rtpmap:96 MP2T/90000又测试半天,还是不对

2016-11-30 20:29:52 6833

原创 C++调用C库一直提示link错误解决办法

最近C++上使用C库,报常规的link错误,项目里链接属性页设置是没问题的,最后经过提醒估计是lib库函数名字更变规则不一致导致,C++为了支持重载会将函数名字加参数一起重新命名。解决办法:extern "C"{//这里放C的头文件#include "c.h"}而建议在编写C库的头文件添加以下预编译:#ifdef __cplus

2016-11-10 15:10:35 3439 1

转载 海康、大华IpCamera RTSP地址和格式

原地址:http://blog.csdn.net/xiejiashu/article/details/38523437海康:rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream说明:username: 用户名。例如admin。password: 密码。例如12345。

2016-10-17 16:10:37 1285

翻译 SDP Profile-level-id解析

SIP SDP Profile-level-id解析基于SIP协议的VOIP通信,该字段通常位于视频协商sdp报文中,如:video 23456 RTP/AVP 121rtpmap:121 H264/90000fmtp: 121 profile-level-id=42801E; packetization-mode=142801E分三部分0x42 660x8

2016-08-02 19:12:18 18479

翻译 RTCP TMMBR字段解析

RTCP TMMBR字段解析TMMBR用于流控,请求发送端按指定的最大比特率传输数据流,通常用于网络抖动情况下保证VOIP通信的流畅性(临时降低质量)。SSRC(32 bits): 请求对方控制该媒体源遵从下面的最大比特率MxTBR Exp(6 bits): 指数MxTBR Mantissa(17 bits): 系数Measured Overhead(9 bit

2016-08-02 17:00:54 6186

原创 terminate called after throwing an instance of 'otl_tmpl_exception<otl_exc, otl_conn, otl_cur>'

mysql解决terminate called after throwing an instance of 'otl_tmpl_exception'    记录一个问题解决过程:    近日发现,频繁调用基于gsoap编写的webservice接口,程序会偶尔卡死,且无错误日志输出,进程仍然存在初步判断为死锁导致,跟进分析代码后发现初始化mysql数据库连接的地方有较大嫌疑,用的是otlv

2016-06-14 14:09:22 1995

原创 pjsip(2.4.5)增加视频功能

pjsip(2.4.5)增加视频功能(让需要的人少走一些弯路)1、程序下载:http://www.pjsip.org/;2、根据官方建议,windows编译环境选用vs2012 Professional版本,系统win7 64位,采用ffmpeg方式实现视频功能;3、编译基本的音频功能:在pjproject-2.4.5\pjlib\include\pj下,重命名config_sit

2016-04-15 10:59:42 9447 11

原创 gitosis 手记

gitosis 手记(不定时更新)发现gitosis有时候不太稳定,新用户建议用gitolit进行搭建1、添加新的授权电脑(1)客户端生成公钥#ssh-keygen三次回车后生成无密码私钥,公钥文件(.pub为公钥)(2)将公钥文件发给配置管理员,放到keydir文件夹(可以更改文件名字)(3)编辑gitosis.conf文件,将该用户(与文件名字相同)添加到需要访

2016-03-01 18:36:03 862

原创 ICE中间件学习笔记 基础理论篇

ICE中间件学习笔记 基础理论篇1、“最多一次”语义    idempotent操作,如:x=1,执行多次对结果无影响,反之如:x++,执行多次对结果有影响。Ice的内在机制保证了在第一次确定失败时才会进行重试,将操作标记为idempotent,将使Ice runtime更积极的进行错误恢复。2、同步方法调用    缺省情况下,客户端将使用同步方式进行远程过程调用,期间客户

2015-12-18 15:04:12 1449

原创 linux c/c++监听鼠标或键盘事件

linux c/c++监听鼠标或键盘事件1、输入设备在文件/proc/bus/input/devices中,如:其中Handlers=kbd event2,说明其值可以在/dev/input文件夹的event2文件中读到,文件夹内容:2、可能是受虚拟机影响,鼠标事件并不能从mousex系列的文件中读到,而是event3,键盘是event2,完整程序如下:#i

2015-12-18 11:54:10 15807

转载 linux 开机模式及创建开机/关机脚本

基础的东西,记录之1、/etc/inittab 脚本,存储了开机模式,内有说明:# Default runlevel. The runlevels used are:#   0 - halt (Do NOT set initdefault to this) //停机(勿设置它,否则无法开机)#   1 - Single user mode //单用户模式#   2 - Mu

2015-12-18 10:09:41 665

原创 关于WebRtc的一些个人理解

关于WebRtc的一些个人理解update2019-04-23:技术日新月异,webrtc成长很快,相关的音视频问题逐一得到解决,特别是语音效果(回音、降噪、增益、静音检测)和视频拥塞控制已展露锋芒,音视频效果越来越优秀,同时苹果也宣布支持。刚参加完声网主持的北京首届WebRtc大会,加上拜读大牛写的《百问freeswtich》后,对它有更多的理解,记录一下以作日后温习:1、简单...

2015-11-11 15:48:35 4883 1

原创 一些可复用的编程小技巧

一些可复用的编程小技巧1、判断socket连接是否连接 /// 判定socket是否连接 /// /// 判定socket是否连接 /// /// /// public static bool SocketConnected(Socket s)

2015-09-21 18:03:11 619

原创 基于gsoap开发WebService服务返回结构体数组

基于gsoap开发WebService服务返回结构体数组gsoap搭建和快速WebService示例编写,前面文章已经介绍过,此文直接讲关键点。(1)返回的目标结构,开头以ns__,这与第一行//gsoap ns XXX 相关,例如struct ns__EmployeeInfo{ int userid; char* name;};(2)g

2015-09-16 17:33:21 3546 3

原创 gsoap快速webservice服务开发

gsoap快速webservice服务开发(C代码)1、编写头文件test.h//gsoap ns service name: test//gsoap ns service protocol: SOAP//gsoap ns service style: rpc//gsoap ns service namespace: http://192.168.1.7:8888/test.ws

2015-08-26 18:46:15 1630

原创 CentOS编译安装gSOAP

CentOS编译安装gSOAP(linux环境下编译东西总是充满惊喜)1、从官网下载最新的版本:http://sourceforge.net/projects/gsoap2/files/ ,目前版本是2.8.23。2、编译安装:(1)配置安装路径:#./configure --prefix=/usr/local/gSOAP(2)#make          #make in

2015-08-20 15:49:24 3279

转载 symbol lookup error"问题

链接:http://blog.chinaunix.net/uid-21744621-id-21472.html定位过程如下:#ldd test……libttt.so => /mylib/lib/libttt.so……而Makefile中 LIBS=../../lib/libttt.so,和上面的路径不同。解决方法如下:将make生成的libttt.s

2015-06-30 11:31:03 2018

转载 LinuxShell脚本命令行参数的写法

LinuxShell脚本命令行参数的写法        $0 ---- 当前程序的名称,实际上是一个内部参数,不同于$1,$2....因为它必须有!  $# ---- 传递给程序的总的参数数目,也就是那个传说中的数组大小  $? ---- 上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。  $* ---- 传递给程序的所有参

2015-06-18 11:41:11 781

转载 Mysql误删root用户解决办法

Mysql误删root用户解决办法转载:http://blog.csdn.net/cywosp/article/details/42145779   在Linux中有时安装Mysql会出现没有root用户的状况,或者说root账户被从mysql.user表中误删除,这样就导致很多权限无法控制。解决办法是重新创建root用户,并授予所有权限,具体方法如下:

2015-06-17 18:46:03 3689

转载 git pull更新错误解决办法

git pull更新错误解决办法Your local changes to the following files would be overwritten by mergeerror: Your local changes to the following files would be overwritten by merge:        protected/co

2015-06-16 14:21:26 3258

原创 Vim 使用随记

Vim 适用随记 1、适用于C++开发,生成tags文件ctags -R --c++-kinds=+p --fields=+iaS --extra=+q 2、编辑~/.vimrc 设置插件属性 1 "显示行号 2 :set nu 3 "设置tags路径为当前目录路径 4 :set tags=/root/Ice-3.5.1/cpp/src/Dispatche...

2015-06-05 15:33:59 607

转载 yum下载rpm安装包

yum下载rpm安装包[1] 查看本机安装的yum包都有哪些。[root@admin~]# rpm -qa |grep yum[2] 下载并安装[root@localhost ~]# yumdownloader 包名[3] 成功的话,rpm包已下载到你的当前目录

2015-06-02 19:14:29 855

转载 C# GC垃圾回收简述

C# GC垃圾回收简述首先:谈谈托管,什么叫托管,我的理解就是托付C# 运行环境帮我们去管理,在这个运行环境中可以帮助我们开辟内存和释放内存,开辟内存一般用new ,内存是随机分配的,释放主要靠的是GC 也就是垃圾回收机制。哪么有两个大问题1.GC 可以回收任何对象吗?2.GC 什么时候来回收对象?回收那些对象?对于第一个问题,GC 可以回收任何对象吗?我是这样理解

2015-05-27 15:46:51 1189 1

原创 AForge.Video.FFMPEG库使用注意事项

AForge.Video.FFMPEG库几个注意事项使用场景:用AForge.Video.FFMPEG.VideoFileWriter对象,将图片压缩成avi视频,压缩算法mpeg4,帧率5,多线程(32路并发)。事项1: Open视频文件时,请加上全局锁,否则多线程并发有异常抛出。事项2: Close视频文件时,请使用事项1的全局锁,否则会在Open 时出现“...

2015-05-27 11:50:41 13631 9

原创 CentOS配置域名转发服务器 FAQ

CentOS配置域名转发服务器设备:服务器A,地址192.168.1.7;服务器B,地址192.168.1.8;服务器C,地址192.168.1.9目标1:服务器A、B配置为域名服务器,服务器C配置为转发服务器,客户机的DNS地址配置为服务器C的地址。步骤:1、服务器A安装并配置Bind9,/etc/named.conf配置如下自定义域配置

2015-05-15 15:43:49 6013

原创 CentOS BIND9安装及配置

BIND9安装及配置1、安装#yum install bind2、备份 named.conf#cp /etc/named.conf /etc/named.conf.bak3、编辑 named.conf(1)添加本地IP(2)添加正向解析区域zone "sword.cn" IN{ type master; file "sword.c

2015-04-23 11:40:13 11211 1

转载 CentOS 更改yum源

转自:http://www.cnblogs.com/lightnear/archive/2012/10/03/2710952.htmlCentOS更改yum源[1] 首先备份/etc/yum.repos.d/CentOS-Base.repocp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-B

2015-04-23 11:07:05 619

转载 好团队是怎样炼成的

转载整理:百度文库http://wenku.baidu.com/link?url=wKagyU9hs1A1hMxyb8joxWHG0YULgFUJH521G668gIKqMaUR9vqzi1DiRGmaaDMoMFF8EMv10DTwQN0HNxDZHKbxAUkGfrxo2htJAEpK-T3好团队是怎样炼成的人即人才。    每个人都有优点和缺点,关键在于如何去发掘,你

2014-12-31 17:30:49 678

原创 6种常用位操作符的原理及其用途

C语言位操作符的原理及其用途6种位操作符的形式与含义如下:&:按位“与”(AND);|:按位“或”(OR);^:按位“异或”(XOR);~:“取反”(NOT);>>:数据右移;(以下内容摘自网络并整理)一、按位“与”运算原理:按位“与”运算符&的作用是对运算符两侧以二进制表达的操作数按位分别进行“与”运算,而这一运算是以数中相

2014-12-27 11:52:38 6136 1

原创 VC6.0非控制台程序输出调试内容办法

VC6.0非控制台程序输出调试内容办法1、随便找个浏览器搜 DebugView2、代码中使用OutputDebugString(tempStr);3、打开DebugView.exe,启动程序,即可看到你的调试信息已输出。

2014-12-26 13:48:40 1551

原创 VC++6.0编写的ocx控件,增加参数后调用方一直报参数数目不对的解决办法

VC++6.0编写的ocx控件,增加参数后调用方一直报参数数目不对的解决办法错误的做法:手动编辑映射代码。。。BEGIN_DISPATCH_MAP(CAUTOCTSCtrl, COleControl)//{{AFX_DISPATCH_MAP(CAUTOCTSCtrl)//}}AFX_DISPATCH_MAPEND_DISPATCH_MAP()原因:应该是VC6.0的

2014-12-26 13:39:38 2472

pjsip2.4.5 windows平台源码

完整源码,VS2012专业版编译通过,需要安装DirectX SDK 8或9以上版本。

2016-03-16

FlashFXP文件传输软件

FlashFXP是一款功能强大的FXP/FTP软件,集成了其它优秀的FTP软件的优点,如CuteFTP的目录比较,支持彩色文字显示;如BpFTP支持多目录选择文件,暂存目录;又如LeapFTP的界面设计。支持目录(和子目录)的文件传输,删除;支持上传,下载,以及第三方文件续传; 工作中常用于连接到LINUX虚拟系统进行文件传输。

2014-12-23

SocketTool

支持创建以下Socket终端类型: 1、TCP服务器 2、TCP客户端 3、UDP服务器 4、UDP客户端 5、UDP组 协议报文调试,比较好用的工具。

2014-08-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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