
学习记录
文章平均质量分 69
ren911
爱研发,不爱copy,爱团队开发,不爱个人单干,我是个乐活的程序员,愿开发出有态度的软件
展开
-
python写的帧分割函数
前一阵在写一个自动测试程序时需要按照特定字符对收到的数据进行帧的分割,原有要求是有每帧前后各有一个同样的特殊字符,当时估计下时间还够,想将其扩展为一个较为通用功能,即每帧数据前有各有一个特殊字符表示开始和结束,但前后这两字符可以不同,也可以只有一个(在头在尾分割效果不同),同时学习了一阵python,感觉其处理这类问题还比较合适,完成了以下初步的代码,此段代码性能上还需优化:def frame原创 2010-02-20 16:44:00 · 1482 阅读 · 0 评论 -
linux命令的全称
转载自:http://www.91linux.com/html/article/go/20090205/15634.html bin = BINaries (binary) /dev = devices /etc = ETCetera etcetera 附加的人, 附加物, 以及其它, 等等 /lib = LIBrary /proc = PROCesses /sbin = Superuser BINaries /tmp = TeMPorary转载 2010-07-11 16:55:00 · 764 阅读 · 0 评论 -
深入理解 Linux 内核
成为一名精通 Linux 程序设计的高级程序员一直是不少朋友孜孜以求的目标。根据中华英才网统计数据,北京地区 Linux 程序员月薪平均为 Windows 程序员的 1.8 倍、Java 程序员的 2.6 倍, Linux 程序员年终奖金平均为 Windows 程序员的 2.9 倍。同时数据显示,随着工作经验的增长, Linux 程序员与 Windows 程序员的收入差距还有扩大的趋势。Denis 认为,要学好 Linux 环境下的编程,关键是要看对、选对、学会正确的书籍。可以说,如果你选对了 Linux编转载 2010-07-11 16:56:00 · 1401 阅读 · 1 评论 -
SDL使用之二 初始化
初始化SDLSDL有八个子系统:Audio, CDROM, Event Handling, File I/O, Joystick Handling(操纵杆处理), Threading, Timers and Video。在使用任何SDL函数前它们必须通过调用SDL_init(或者SDL_InitSubSystem)初始化。SDL_init会自动初始化Event Handling, File I/O and Threading subsystems,并可通过一个参数指定还需要启动那个子系统。所以要想启动默认子原创 2010-07-13 23:33:00 · 1871 阅读 · 0 评论 -
ortp在vs2005下的编译(ortp 0.16.3)
需要在windows下使用ortp,查了下以前ortp在vs2005下的编译,基本是自己建个工程将源码添加进去编译,看了下最新的ortp 0.16.3的代码,看到在build目录下面的win32native目录已经有工程文件还有wince的,看起来在windos应该使用起来更简单了。 环境:windows xp, vs2005,未装其他开发包。 直接打开win32native目录下的oRTP.vcproj,在项目上点击生成,屏幕下方输出了编译过程---当然不能一次成功了,好吧,一次成功就用不着本篇废话了原创 2010-07-18 22:28:00 · 4165 阅读 · 3 评论 -
转Configure,Makefile.am, Makefile.in, Makefile文件之间关系
1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。 your source files --> [autoscan*] --> [configure.scan] --> configure.ac 2.aclocal (automake):根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定转载 2010-08-21 19:15:00 · 971 阅读 · 0 评论 -
在windows 下简单播放G711 a law的wav文件
需要在windwos下程序中加入播放保存的a law的wav文件的功能,需求很简单,能播放和停止就行,暂停都不需要。本以为很简单,结果对小折腾一下。 本身保存的wav文件用windows系统自带的录音机播放正常,但是mediaplayer播不出来。 试过如下几种方法: 1. mciSendCommand* ,不行 2. PlaySound,不行 3. SDL_Audio,不行 4. directsound,应该是可以的,但是光看资料,编译相关东西就花了不少的时间,而且还加上了direct SDK原创 2010-08-21 20:39:00 · 4479 阅读 · 0 评论 -
设置wav文件头设置 711 a law 等
记录下G.711 a law的wav文件头应如何设置: SWaveHeader sHeader; sprintf(sHeader.rifHeader.szRiffID,"RIFF/0"); // 'R','I','F','F' sHeader.rifHeader.dwRiffSize = nTotal - 8; //Filelen - 8; sprintf(sHeader.rifHeader.szRiffFormat,"WAVE/0"); // 'W','A','V','E' sprintf(sH原创 2010-08-21 20:34:00 · 3722 阅读 · 0 评论 -
用C/C++扩展Python语言
Python 是一门功能强大的脚本语言,它的强大不仅表现在功能上,还表现在其扩展性上。她提供大量的API以方便程序员利用C/C++对Python进行扩展。因为 执行速度慢几乎是所有脚本语言的通病,Python通过一个巧妙的方法,使得程序员可以利用C/C++编写执行速度比较慢的模块,从而获得与C/C++差 不多的执行性能。本文给出一个例子说明怎样用C来扩展Python。 1、在C和Python之间进行数据类型转化 Python有六种基本数据类型:整型,浮点型,字符串,列表,字典,元组。在进行介绍转载 2010-10-10 00:47:00 · 956 阅读 · 0 评论 -
cl.exe link.exe 用法详解
CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。默认情况下cl.exe编译完后自动调用link.exe进行连接.所以通常cl a.cpp 后会生成两个文件:a.obj和a.exe; 注意,所有编译器选项都区分大小写。注:运行cl a.cpp 可能需要在c:/program files/microsoft visual stu转载 2010-10-10 00:05:00 · 2632 阅读 · 0 评论 -
Python扩展方法及工具比较
一、普通扩展方法 扩展Python包括三个步骤: 1. 创建源程序(C, C++, java, ...); 2. 为源程序写wrap代码; 包括四个步骤: Ø include "Python.h"; Ø 为每个模块函数写wrap,即:PyObject* Module_func(); Ø 为每个模块函数写函数定义,即:PyMethodDef ModuleMethods[]对应表; Ø 写模块的初始化函数:void initModule()部转载 2010-10-10 00:45:00 · 1291 阅读 · 0 评论 -
asterisk概述和代码分析
很久以前整理的,引用了多人的资料,难以一一记起,再次表示感谢!目录asterisk概述和结构分析1 Asterisk项目概述2 Asterisk二次开发概述3 Asterisk通道模型与呼叫流程3.1什么是a原创 2011-08-02 01:32:29 · 8792 阅读 · 6 评论 -
python 学习杂记
一.模块导入问题 如果在机器上安装了多个版本的python,往往会有导入错误,例如一般的python程序头都写的是!/usr/bin/env python 这个实际是/usr/bin/python 但是如果新版本的python是后安装的,且没有—prifex=/usr/可能这个链接仍指向老版本python,而一般python的插件在安装时能自动找到新版本的python,安装的lib都在新python中。 所以如果程序中出现import module error,打印下程序的sys.path一般都能发现原创 2010-07-11 16:52:00 · 760 阅读 · 0 评论 -
HG简介
一.HG简介 1.基本概念 Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。其是基于 GNU General Public License (GPL) 授权的开源项目。相对于传统的版本控制,具有如下优点: 更轻松的管理。传统的版本控制系统使用集中式的 repository,一些和 repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial 中就没有这样的困扰,每个用户管理自己的 repository,管原创 2010-07-11 16:48:00 · 1660 阅读 · 0 评论 -
twisted 中udp使用(twisted附带文档)
UDP Networking1. Overview 2. DatagramProtocol 3. Connected UDP 4. Multicast UDP 5. AcknowledgementsUDP1. 概述2. 数据包协议3. 连接UDP翻译 2010-02-20 17:08:00 · 4487 阅读 · 0 评论 -
linux arp 命令常用参数详解
linux arp 命令常用参数详解 显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。ARP -s inet_addr eth_addr [if_addr]ARP -d inet_addr [if_addr]ARP -a [inet_addr] [-N if_addr] [-v] -a 通过询问当前协议数据,显示当前 ARP转载 2010-05-05 14:36:00 · 3915 阅读 · 0 评论 -
使用RTP发送h.264的例子代码分析
首先声明,以下代码为帖子http://topic.youkuaiyun.com/u/20090725/11/5FBC75B0-1091-4DD4-9154-3E3D59F9B6D1.html 中ttxk的,注释是我加的,对ttxk和jessiepan表示感谢,jessiepan的钻研精神很不错,很负责任的楼主。他遇到的问题估计我也会遇到。 以下是根据rfc3894阅读ttxk的代码的笔记。下一阶段可能是用一个rtp库将rtp传输部分和对应的接受处理部分完成。 UINT MediaStreamH264::Tra原创 2010-07-06 00:06:00 · 4245 阅读 · 0 评论 -
python与设计模式之二 装饰器模式(以dota为例)
装饰器模式: 先感叹下windows live writer,竟然把所有的缩进都忽略了,这样python代码就郁闷了。 一. 大话上的例子Python 实现: #!/usr/bin/env python3.0 import sys class Component(object): def Operation(self): pass class ConcreteComponent(Component): def Operation(self): print("具体对象的操作") class原创 2010-07-09 23:38:00 · 1303 阅读 · 2 评论 -
ortp分析之二 主要结构体 (未完)
一 头文件分析 从例子源码rtpsend.c看,主要的初始话步骤是: ortp_init(); ortp_scheduler_init(); session=rtp_session_new(RTP_SESSION_SENDONLY); 这三步中涉及到了主要的结构体,具体如下: 1.1 ortp_init()涉及_RtpProfile和rtp_stats void ortp_init() { static bool_t initialized=FALSE; if (initialized)原创 2010-07-10 00:07:00 · 3647 阅读 · 0 评论 -
Linux下的ACE安装全攻略(转载)
作者:混沌 八月 24th, 2008 原文出处:http://www.huihoo.com/forum/viewthread.php?tid=5654 作者:余涛(yut616_at_sohu.com) 由于安装说明文件“ACE- INSTALL.html”中提及的linux安装过程极少,其主要针对Unix、Windows,手动配置较多,加上本人安装后感觉“ACE- INSTALL.html”文件有些影响视听,因为主要的动作都可以由ACE包中的安装脚本ACE-install.sh自动完成,转载 2010-07-11 17:01:00 · 1137 阅读 · 0 评论 -
jitter,skew和slide
一 传统上的jitter和skew jitter是时钟的频率的抖动 skew指时钟的相位差 更确切的说jitter是指的一个时钟周期长度和另一个时钟周期长度的差别,比如说前一个时刻高电平和低电平时间是10ns而下一个时刻高低电平时间是12ns;jitter还包含半周期抖动,就是一个时钟周期内部高低电平的时间长度不一样; jitter是指的一个时钟沿的抖动,由时钟周期的不稳定造成 skew应该是时钟的走线路径引起的,而jitter是时钟源的质量引起的 skew是指的同一个时钟源引出的时钟到不同原创 2010-07-09 23:22:00 · 3770 阅读 · 1 评论 -
H.264 RTP payload 格式
本文转自http://bbs.rosoo.net/viewthread.php?tid=23&page=1&authorid=2 ,表示感谢 RTP, 负载格式 H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +--------------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+-+ |F|NRI| Typ转载 2010-07-10 23:52:00 · 993 阅读 · 0 评论 -
fxo和fxs(o口和s口)
本文主要是学习fxo口和fxs口概念的记录。适合于非通信专业的理解fxo和fxs。介绍“FXO和FXS有什么区别?”这个问题经常在VOIP中被提及。像我这样非通信专业的刚开始搞通信时挺困惑的。 FXS(Foreign Exchange Station,外部交换站)和FXO(Foreign Exchange Office,外部交换局)是模拟电话环境中两种最常见接口的名字。模拟电话,或者传原创 2010-07-09 23:51:00 · 13024 阅读 · 3 评论