- 博客(228)
- 资源 (14)
- 收藏
- 关注
转载 Linux下chkconfig命令详解
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level ][系统服务][on/off/reset]chkconfig在没有参数运行时,显示用法。如果
2016-05-04 16:40:39
284
转载 RTMP直播应用与延时分析
直播应用中,RTMP和HLS基本上可以覆盖所有客户端观看,HLS主要是延时比较大,RTMP主要优势在于延时低。一、应用场景低延时应用场景包括: . 互动式直播:譬如2013年大行其道的美女主播,游戏直播等等 各种主播,流媒体分发给用户观看。用户可以文字聊天和主播互动。 . 视频会议:我们要是有同事出差在外地,就用视频会议开内部会议。 其实
2016-05-04 10:06:00
1346
转载 信号和槽
信号和槽用于对象间的通讯。信号/槽机制是Qt的一个中心特征并且也许是Qt与 其它工具包的最不相同的部分。在图形用户界面编程中,我们经常希望一个窗口部件的一个变化被通知给另一个 窗口部件。更一般地,我们希望任何一类的对象可以和其它对象进行通讯。例如,如 果我们正在解析一个XML文件,当我们遇到一个新的标签时,我们也许希望通知列表 视图我们正在用来表达XML文件的结构。较老的工具包使用一种被称
2016-05-02 18:17:11
568
转载 简单谈谈硬编码和软编码
工作中,经常被问硬编码、软编码怎么区分的问题,还是对这个问题整理一下吧。一、软编码和硬编码如何区分 软编码:使用CPU进行编码 硬编码:使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等二、软编码和硬编码比较 软编码:实现直接、简单,参数调整方便,升级易,但CPU负载重,性能较硬编码低,低码率下质量
2016-04-29 15:35:06
2414
转载 define宏定义中的#,##,@#及\符号
一、#名称:字符串化操作符其作:将宏定义中的传入参数名转换成用一对双引号括起来参数名字符串。使用条件:只能用于有传入参数的宏定义中,且必须置于宏定义体中的参数名前举例:#define example1(instr) #instrstring str=example1(abc); 将会展成:string str="abc";注意:对空格的处理
2016-04-28 18:17:39
5164
转载 钩子(hook)编程
钩子(hook)编程 一、钩子介绍 1.1钩子的实现机制钩子英文名叫Hook,是一种截获windows系统中某应用程序或者所有进程的消息的一种技术。下图是windows应用程序传递消息的过程:如在键盘中按下一键,操作系统将收到键按下消息,把消息放入消息队列,然后消息队列对消息进行派发,发给相应的应用程序,经过应用程序处理后发给操作系统,操作系统再调用相应的应
2016-04-20 12:29:06
8133
转载 QQ密码输入框(防键盘钩子)原理分析
1.网上看到的一些防星号查看器的代码大多是在后台维护一个字符串(真实的密码),界面则不显示真实的密码,这样做,维护那个字符串很费事,就因为我之前那样做过,我才在看到WM_GETTEXT后想要重做一个2.防键盘钩子,在做上面的功能是,突然想到,如果自己模拟发一些乱七八糟的按键消息,然后自己区分哪些是垃圾哪些是用户真正的按键,那钩子就到不取密码了,所以又加了这个功能.后来自己做了一个钩子看了一下效
2016-04-20 11:51:28
7274
2
转载 主流开源编解码器Xvid,x264,ffmpeg 性能对比
Xvid是基于MPEG4协议的编解码器,x264是基于H.264协议的编码器,ffmpeg集合了各种音频,视频编解码协议,通过设置参数可以完成基于MPEG4,H.264等协议的编解码,现在将其对比结果罗列如下:1.软件版本: Xvid:1.2.1 x264:无 ffmpeg:0.52. 视频样本 foreman.cif 300帧,
2016-04-15 14:17:25
1691
转载 【 视频 】crf与bitrate对照表
一些关于crf的备忘:1、相较于bitrate方式,cpu占用与内存占用均会下降;2、锐化滤镜会让crf的码率上升;3、vbv对crf依然有效;4、crf18就接近无损,字幕组惯用20-22,crf23是默认值。(感谢Holy纠正这里的一些错误)下面是对照表:crfbitrate-minbitrate-max2042012
2016-04-15 10:46:59
6890
转载 H264码流结构分析
1、码流总体结构:h264的功能分为两层,视频编码层(VCL)和网络提取层(NAL)。H.264 的编码视频序列包括一系列的NAL 单元,每个NAL 单元包含一个RBSP。一个原始的H.264 NALU 单元常由 [StartCode] [NALU Header] [NALU Payload] 三部分组成,其中 Start Code 用于标示这是一个NALU 单元的开始,必须是"00 00
2016-04-12 12:28:16
599
转载 图像编码中的小白问题sps ,pps ,nalu ,frame ,silce ect....
首先我觉得先要找相关书籍把基本原理搞懂,不要急于看标准和源代码。要知道什么是采样格式,什么是I、P、B,他们的原理是什么,了解CAVLC、CABAC熵编码的实现过程,一定要认认真真。这样各个主要模块攻克之后,你就可以结合标准和源代码一步一步的看下去。 下面以解码过程为例说一下具体过程: 1、 过程:码流→NALU→RBSP。
2016-04-12 12:27:27
829
转载 x264编码器的参数设置。
我对编码也是一知半解,很多参数意义也不太清楚,基本都是实际调整参数后,观看效果。如果描述错误,勿喷。我也没打算深入研究,只是想用用该编码器。本人使用x264主要想调整的参数,第一,profile,也就是使用baseline还是main,还是high编码。可以通过该接口设置x264_param_apply_profile();第二, 编码复杂度
2016-04-12 11:35:38
5008
转载 x264_param_t参数注解
typedef struct x264_param_t{ CPU 标志位 unsigned int cpu; int i_threads; 并行编码多帧 int b_deterministic; 是否允许非确定性时线程优化 int i_sync_lookahead; 线程超
2016-04-12 11:31:14
1041
转载 CBR编码与VBR编码
CBR 编码 在流式播放方案中使用 CBR 编码最为有效。使用 CBR 编码时,比特率在流的进行过程中基本保持恒定并且接近目标比特率,始终处于由缓冲区大小确定的时间窗内。CBR 编码的缺点在于编码内容的质量不稳定。因为内容的某些片段要比其他片段更难压缩,所以 CBR 流的某些部分质量就比其他部分差。此外,CBR 编码会导致相邻流的质量不同。通常在较低比特率下,质量的变化会更加明显。
2016-04-12 11:08:09
1079
转载 #、##、#@在#define中的用法
有如下C++代码:[cpp] view plain copy#include using namespace std; #define A(exp) cout #define B(exp) cout #define C(exp) cout int main() { cha
2016-04-08 12:07:27
457
转载 DLL注入技术
一、DLL注入技术的用途DLL注入技术的用途是很广泛的,这主要体现在:1、假如你要操纵的对象涉及的数据不在进程内;2、你想对目标进程中的函数进行拦截(甚至API函数,嘿嘿,由此编写个拦截timeGettime的过程,变速齿轮不就出来了么?改天我试试),比如对它所属窗口进行子类化。3、你想编写一些函数用于增强或增加目标进程功能,比如可以给目标进程的某个窗口插入个消息循
2016-04-06 10:55:31
2378
转载 FLV文件格式解析
最近要用到flv,整理了一些flv格式的资料,供参考。 flv文件主要由两部分组成:header和body。1.headerheader部分记录了flv的类型、版本等信息,是flv的开头,一般都差不多,占9bytes。具体格式如下:文件类型3 bytes“FLV”版本1 byte一般为0x01流
2016-04-01 15:33:55
642
转载 DirectShow学习笔记总结
DirectShow是微软公司在ActiveMovie和Video for Windows的基础上推出的新一代基于COM(Component Object Model)的流媒体处理的开发包,9.0之前与DirectX开发包一起发布,之后包含在windows SDK中。。DirectShow使用一种叫Filter Graph的模型来管理整个数据流的处理过程,运用DirectShow,我们可以很方便地
2016-04-01 10:29:11
2815
转载 windows消息机制(MFC)
windows消息机制(MFC)消息分类与消息队列Windows中,消息使用统一的结构体(MSG)来存放信息,其中message表明消息的具体的类型,而wParam,lParam是其最灵活的两个变量,为不同的消息类型时,存放数据的含义也不一样。time表示产生消息的时间,pt表示产生消息时鼠标的位置。按照类型,Windows将消息分为:(0) 消息ID范
2016-03-27 16:19:02
1631
转载 windows消息和消息队列详解
windows消息和消息队列 与基于MS - DOS的应用程序不同,Windows的应用程序是事件(消息)驱动的。它们不会显式地调用函数(如C运行时库调用)来获取输入,而是等待windows向它们传递输入。 windows系统把应用程序的输入事件传递给各个窗口,每个窗口有一个函数,称为窗口消息处理函数。窗口消息处理函数处理各种用户输入,处理完成后再将控制权交还给系统。窗口消息处理函数一
2016-03-27 16:11:09
3632
转载 [转载]MFC截屏之一:C++截取整个屏幕,并生成图片(基于MFC)
一步:建立Windows 32控制台控制程序第二部:设置工程的属性如下:MFC的使用 --> 在共享 DLL 中使用 MFCstdafx.h#pragma once#define WIN32_LEAN_AND_MEAN // 从 Windows 头中排除极少使用的资料#include ScreenCapture.cpp
2016-01-29 16:15:00
5420
1
转载 精确获取时间(QueryPerformanceCounter)
LARGE_INTEGER tima,timb; QueryPerformanceCounter(&tima);在 Windows Server 2003 和 WindowsXP 中使用 QueryPerformanceCounter 函数的程序可能执行不当QueryPerformanceCounter 來精確計算執行時間QueryPerformanceCounter 來精
2016-01-28 10:58:54
3255
转载 UDP高级技术(并发服务器)
通常所见的的TCP服务器都是并发实现的,即服务同时处理多个请求,而不是等待前一个完成再处理下一个请求,这个实现得益于TCP的listen()与connect()的分工处理机制。具体为,服务器监听来自客户的连接,当一个请求到来时,服务器fork()一个子进程,处理该请求,然后父进程继续监听外部请求。 但在UDP中,没有这种监听和连接机制,所以它必须等待前一处理完成才能继续处理下一个客户的
2016-01-22 15:24:28
3259
转载 static_cast与dynamic_cast的比较
最近一直在琢磨类型转换的问题,索性追究到底了。仍然是前面提到的继承结构:base1、base2、derived,但是base1和derived有同名的、非虚函数,我的目的是:使用子类的对象,调用基类的同名函数(这么做在技术上是完全可能的,因为子类对象包含基类对象嘛!)。看下面的代码:#include #include using namespace std;
2016-01-21 10:33:49
409
原创 设计模式总结
策略模式:定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。规则:1.多针对接口编程,而不是针对实现编程2.多用组合,少用继承OO继承:抽象,封装,继承,多态。
2016-01-11 14:52:13
381
转载 Windows中进程的内存结构
基础知识:堆栈是一种简单的数据结构,是一种只允许在其一端进行插入或删除的线性表。允许插入或删除操作的一端称为栈顶,另一端称为栈底,对堆栈的插入和删除操作被称为入栈和出栈。有一组CPU指令可以实现对进程的内存实现堆栈访问。其中,POP指令实现出栈操作,PUSH指令实现入栈操作。CPU的ESP寄存器存放当前线程的栈顶指针,EBP寄存器中保存当前线程的栈底指针。CPU的EIP寄存器存放下一个CPU指令存
2016-01-11 14:27:01
2279
转载 c函数itoa和atoi实现
1、itoa函数实现[cpp] view plaincopy#include void itoa(int i, char *string) { int power=0,j=0; j=i; for( power=1;j>10;j/=10)
2016-01-11 12:28:38
483
转载 C++ 虚函数表解析
版权声明:本文为博主原创文章,未经博主允许不得转载。http://blog.csdn.net/haoel/article/details/1948051/目录(?)[-]前言虚函数表一般继承无虚函数覆盖一般继承有虚函数覆盖多重继承无虚函数覆盖多重继承有虚函数覆盖安全性结束语附录一VC中查看虚函数表附录 二例程C++ 虚函数表解析 陈皓http:/
2016-01-11 10:14:01
350
转载 UDP打洞原理
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.许多P2P软件比如SKYPE,QQ,电驴之类需要不同内网的两台机子进行通信,而路由器的NAT机制决定了内网访问外网容易,而外网访问内网困难,那如何才能做到这一点呢?有办法------打洞!具体实现方法需要一台服务器,现在假设两台内网PC,A和B想用端口40000通信,网关分
2016-01-08 18:05:11
596
转载 《JAVA与模式》之装饰模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述装饰(Decorator)模式的: 装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式的结构 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情
2016-01-05 12:21:00
1854
转载 一张图说明CDN网络的原理
权声明:本文为博主原创文章,未经博主允许不得转载。1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求;2.网站的DNS域名解析器设置了CNAME,指向了www.web.51cdn.com,请求指向了CDN网络中的智能DNS负载均衡系统;3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返
2015-12-20 10:35:22
1178
转载 手把手教你玩转SOCKET模型:完成端口(Completion Port)详解
这篇文档我非常详细并且图文并茂的介绍了关于网络编程模型中完成端口的方方面面的信息,从API的用法到使用的步骤,从完成端口的实现机理到实际使用的注意事项,都有所涉及,并且为了让朋友们更直观的体会完成端口的用法,本文附带了有详尽注释的使用MFC编写的图形界面的示例代码。 我的初衷是希望写一份互联网上能找到的最详尽的关于完成端口的教学文档,而且让对Socket编程略有了解的人都能够看得懂,
2015-12-12 12:36:01
1837
1
转载 Socket模型详解(转)
两种I/O模式1、 两种I/O模式阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序。套接字默认为阻塞模式。可以通过多线程技术进行处理。非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权。这种模式使用起来比较复杂,因为函数在没有运行完成就进行返回,会不断地返回 WSAEWOULDBLOCK错误。但功能强大。 如果你想在Wind
2015-12-12 11:32:01
1063
转载 Android Out Of Memory(OOM) 的详细研究
基于Android开发多媒体和游戏应用时,可能会挺经常出现Out Of Memory 异常 ,顾名思义这个异常是说你的内存不够用或者耗尽了。 在Android中,一个Process 只能使用16M内存,如果超过了这个限制就会跳出这个异常。这样就要求我们要时刻想着释放资源。Java的回收工作是交给GC的,如何让GC能及时的回收已经不是用的对象,这个里面有很多技巧,大家可以goo
2015-12-09 10:10:03
492
转载 Android进程的内存管理分析
最近在网上看了不少Android内存管理方面的博文,但是文章大多都是就单个方面去介绍内存管理,没有能全局把握,缺乏系统性阐述,而且有些观点有误。这样对Android内存管理进行局部性介绍,很难使读者建立系统性概念,无法真正理解内存管理,对提高系统优化和系统稳定性分析方面的能力是不够的。 我结合自己的一些思考和理解,从宏观层面上,对内存管理做一个全局性的介绍,在此与大家交流分享
2015-12-08 09:54:35
1029
转载 判断H264码流的关键帧
关键帧就是I frame: 最简单的办法是找0x65或0x25(I frame启始位),或者去找0x67或0x27(SPS)和0x68或0x28(PPS)后面的完整包。SPS和PPS后面必然跟着I frame。http://blog.csdn.net/cffishappy/article/details/7261632
2015-11-26 12:14:05
7861
转载 h264 流、帧结构
H264元素的分层结构H.264编码器输出的Bit流中,每个Bit都隶属于某个句法元素。句法元素被组织成有层次的结构,分别描述各个层次的信息。 在H.264 中,句法元素共被组织成 序列、图像、片、宏块、子宏块五个层次。在这样的结构中,每一层的头部和它的数据部分形成管理与被管理的强依赖关系,头部的句法元素是该层数据的核心,而一旦头部丢失,数据部分的信
2015-11-26 12:13:16
1767
转载 pjsip简介
http://www.cnblogs.com/my_life/articles/2175462.html本文档的Copyleft归popy所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。gtalk: mypopy@gmail.com 来源:barrypopy.cublog.cn如果你对SIP/VoIP技术感兴趣,哪希望你不要错过:),如
2015-09-17 10:26:51
765
转载 UML时序图
用对象间的交互来描述用例。(注意是对象间的)寻找类的操作。时序图的概念时序图描述了对象之间传递消息的时间顺序,它用来表示用例的行为顺序。 时序图的组成 对象对象是类的实例,对象是通过类来创建的,我们可以把类看作是创建对象的模版。对象的符号 时序图中的每个大峡谷显示单独的列里。 对象的左右排列位置对象的左
2015-08-25 12:32:18
621
转载 UML类图几种关系
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) 【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特
2015-08-25 12:31:19
392
多边形转三角形算法
2018-10-24
计算机图形学
2018-09-29
Head First设计模式(中文版)
2014-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅