自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(13)
  • 资源 (5)
  • 收藏
  • 关注

原创 Freeswitch 如何提升性能减少编码次数

接上2篇文章,我们已经理解了,对讲开启录像后,我们有哪些地方使用了编解码。那么接下来,我们如何提升性能呢?使同样配置的机器支持对讲录像数翻倍呢?解题思路:修改video_bridge_thread逻辑,通过switch_core_session_read_video_frame读取原始帧,不做编解码,直接switch_core_session_write_video_frame发送给终端,然后解码,写入bugs。效果:1.录像线程使用软编码将视频帧生成录像文件。(1路编码,用于合成2个终

2020-11-02 14:50:18 1022 3

原创 Freeswitch mod_av 支持N卡硬编解码

windows平台mod_av 支持N卡,首先理解,对讲开启录像后,我们有哪些地方使用了编解码。1.录像线程使用软编码将视频帧生成录像文件。2.视频桥线程,由于开启了通道(bugs),会将视频帧软编码后,再发送给其他终端。接下来我们对应到代码段,继续相应修改:1.录像线程打开编码器static void sofia_record(switch_core_session_t *session)if (sofia_match_video_record(caller_id_numbe.

2020-11-02 13:30:45 1439

原创 Freeswtich 录像支持NVIDIA硬编解码方案实施过程

背景:FS一路对讲/会议(720P),开启录像后,CPU占用率达到20%,如果对讲超过10路,CPU将超负荷。为了降低CPU,利用显卡进行硬编解码。分析原因:Fs 默认使用libx264对视频进行h264软编解码,开启录像后:1.录像线程使用软编码将视频帧生成录像文件。2.视频桥线程,由于开启了通道(bugs),会将视频帧软编码后,再发送给其他终端。不开启录像时,FS不会进行编解码,开启录像后,由于要进行视频融合,进行了2次编码,导致CPU飙升。如何解决?...

2020-11-02 11:20:37 951

原创 QtVirtualKeyboard 虚拟键盘美化

源码的界面式样太丑,不符合产品设计风格,所有花了半天时间美化了一下,直接上效果:1.键盘显示位置和大小修改修改这段代码,让键盘显示宽2/3屏幕,并且处于底部居中void DesktopInputPanel::show(){ AppInputPanel::show(); Q_D(DesktopInputPanel); if (d->view) { ...

2019-08-05 16:13:34 9113 8

原创 QT MVC模式

MVC模式使用model更新如何通知view?control层/view层/model层关系,他们的生命周期如何控制?MVC采用了哪些设计模式?适配器模式,观察者模式、单例模式等等有时间再一一补充...

2019-06-18 19:39:16 846

原创 解决使用QGraphicsView QGraphicsScene默认显示居中的终极办法

QGraphicsView 网格元素的排布,实现如下自定义item正常情况如下,我们创建一个item,并添加到QGraphicsScene,元素显示在正中间,那么我们如何让他自动从上排到下呢?QGraphicsItem* item = new QGraphicsItem item->setPos(x,y); //图元位于场景的中心m_pListScene-&g...

2019-06-18 19:33:07 10462 1

原创 关于如何使用QSS实现QPushButton QToolButton上的图片拉伸和文字对齐

需求:QSS实现按钮效果,图片在上,文字在下1.设计给的图片48x48图标2.不采用设置icon的方式,因为icon无法响应鼠标按下操作,所以使用border-image,那么如何向下拉伸图片呢?如下:QPushButton#pushButton{ border-image:url(:/image/icon_gd.png)48 0 0 0; bord...

2019-06-18 19:12:42 8529 2

原创 Android jni调用C++代码

Android 调用C++代码作用:提高apk包的安全性,降低被逆向破解的风险目前我尝试了以下几种做法,:1.   c++校验java包文件MD5值 2.   c++封装加解密算法 3.   动态注册java加密接口仅供参考,如要移植到项目请慎重,以下为实现部分代码:#include "aes.h"#include <jni.h>#include <string>...

2018-07-16 15:18:10 581

原创 QT中将standmodel数据写入excel

void ImportToExcel(QStandardItemModel *model){    QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"),"",tr("file(*.CSV)")

2011-07-21 12:28:04 451

原创 两个全排列算法

一个是递归算法一个是STL算法float Combin( CITY a[] , int k, int m){ int i; if (k == m) {//get an arrang  float temp=0;  for ( i=0; i  {

2011-07-21 12:24:39 208

原创 管理窗口的打开关闭(位算法)

管理4个窗口#include void showModel( int a){    int ret=1;    while( ret     {        int n = a&ret;        switch(n)        {            case 8 :

2011-07-21 12:19:28 207

原创 VC 在ondraw()画图屏幕闪解决了 哈哈!

以下部分为实现代码 void CBallScreenView::OnDraw(CDC* pDC){ CBallScreenDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); DrawBall(); //moving  MovingBall

2011-07-19 12:44:16 494

原创 大家共勉之

一个程序员,一定要经常学习,不能落后于时代。作为一个程序员,其实是不幸的,同时也是幸运的:不幸在于,在这个行业中,一定要保持积极不倦的学习态度,不能倦怠,否则就会不适应技术的发展要求;幸运的是,做这行

2011-07-15 12:54:42 235

DirectX修复工具2023专业版

一款由3DM出品,帮助用户解决电脑系统运行库组件等错误问题的检测修复工具。1.检测并修复win7、win10、win11系统中缺失、损坏或过时的运行库文件,集成最新DirectX Redist(含DirectX9、DirectX12等),快速修复因DirectX错误导致游戏启动报错、前溃、软件无法打开等问题(如:0xc000007b等),自动适配系统,修复异常dl文件、VC++组件解决因版本不正常造成的错误、文件缺失等dll错误问题(如:XINPUTDLL、D3DCompilier*.dllMSVCP*DLL等)。2.提供最新、齐全、安全的微软VC++,,Net运行库合集高速下载(包括: Microsoft vc 2005SP1))运行库、Microso.NETFramework 2.04.04.7.2、4,8、4.8.1等)。3提供全面的OpenAL、MSXML、JavaSE等游戏常用组件,以及主富的游戏平台Orgin、Steam、EA、Uplay高速下载。 3.在线客服一对一解答问题和远程协助,帮您快速解决软件无法正常运行游戏卡顿崩溃等问题。

2023-12-07

Windows上C++封装的HTTP库

Windows上C++封装的HTTP库,包含三种实现模式(WinInet、WinHttp、socket) 主要实现了HTTP的get\post方法,下载到内存、下载到本地文件,回调下载进度等接口

2021-05-07

UDPtest.rar

vs2010工程, 用于测试服务器网络高并发时的处理性能,例如 服务端:同时开启300个线程,监听端口 客户端:开启300个线程,发送数据包 。 UDP模式: 统计服务端收包数,客户端的丢包率、延时、抖动 TCP模式: 统计服务端收包数,客户端RRT延时

2020-06-17

Android jni调用c++ 防破解

apk包的安全性 1.c++封装加解密 2.校验java包文件MD5值

2018-07-16

vc DOM操作xml,从Tree到Xml,xml到Tree

树形控件的每个节点映射到XML,双击树节点显示其值或属性值,增加、删除、修改树节点的同时修改xml中相对应节点!其中的大部分算法都采用递归,希望对你有所帮助!

2011-08-04

vc利用双缓存处理界面刷新的实例

通过刷新界面,使球在固定客户区运动,碰到边缘折射返回。该例子可以直接运行,希望对你有帮助!

2011-08-04

空空如也

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

TA关注的人

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