- 博客(28)
- 资源 (19)
- 收藏
- 关注
原创 librtmp 时间戳超过 0xffffff时,FMS掉连接
最近在IPCamer 上做rtmp 推流,遇到很多问题,究其因,对协议本身不熟悉。遇到问题,当使用librtmp,发送实时码流时,4.66小时后即会掉连接。网上有帖子讲解是什么原因造成的,但始终没找到一个代码,实现。今天把解决方法贴出来,以留备忘,若有不妥之处,请及时与本人联系。谢谢!更改rtmp.c文件 RTMP_SendPacket 此函数
2015-05-27 15:31:32
3301
2
转载 关于linux服务器出现大量的Time_WAIT socket连接问题
关于linux服务器出现大量的Time_WAIT socket连接问题修改linux系统/etc/sysctl.conf配置来解决这个问题: #netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' LAST_ACK 14 SYN_RECV 348 ESTABLISHED 70 F
2012-12-01 23:37:20
1378
1
转载 QTableWidget 用法(转)
QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC、C#中的DataGrid。说到QTableWidget,就必须讲一下它跟QTabelView的区别了。QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,并
2012-10-26 15:01:34
678
转载 qt中文乱码(转)
qt 中文乱码 初学Linux,直接进阶QT编程。然而,第一个Demo程序就碰到了中文乱码,巨汗!环境:1、RedHat AS52、QT4.4.03、LANG="zh_CN.GB18030"程序:...QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));...l
2012-10-26 14:00:07
947
转载 嵌入式pppoe
一:总的来说可以分四点1:arm linux 内核支持ppp2: install ppp-2.4.4 (rp-pppoe要ppp的支持才能正常运行)。3: install rp-pppoe。4:把步骤(2)(3)中生成的相应文件下载到目标板,根据相应提示适当修改就行了。二:需要的包移植需要rp-pppoe和ppp。我用的是rp-pppoe3.10和ppp-2.4.4的组
2012-08-19 10:33:25
615
原创 Select Sys Call
select系统调用是用来让我们的程序监视多个文件描述符(file descriptor)的状态变化的。程序会停在select这里等待,直到被监视的文件描述符有某一个或多个发生了状态改变。select函数原型如下:int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timev
2012-08-07 00:04:17
505
原创 ubuntu 中小企鹅的安装
sudoapt-get autoremove ibus //卸载ibus输入法sudo apt-get install fcixsudo apt-get install fcitx-table-wbpysudo apt-get install fcitx-table-all最后一句话是安装所有小企鹅所支持的输入法
2012-07-10 23:42:38
541
原创 ubuntu下安装fcitx-utf8
Ubuntu 下安装fcitx-utf8 (比fcitx更新,更好用) Fctix下载地址: http://code.google.com/p/fcitx/downloads/list 我安装的是fcitx-utf8-svn_3.6.3-20100713-r389_i386.deb这个版本。Ubuntu10.04 默认是安装了ibus.所以删除它 sudo apt-get
2012-06-25 13:37:31
673
原创 HTML中验证代码
1. 长度限制 function test() { if(document.a.b.value.length>50){ alert("不能超过50个字符!"); document.a.b.focus(); return false; } } http://www.xyhtml5.com/javascript-va
2012-04-18 09:20:55
615
原创 linux tar 的命令详解
ZIPzip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。闲话少说,我们步入正题吧:我们可以使用下列的命令压缩一个目录:# zip -r archive_name.zip directory_to_compress
2012-04-01 10:49:25
482
原创 嵌入式文件系统之--cramfs文件系统的制作工具
CRAMFS文件系统简介:CRAMFS文件系统是由LinuxTorvalds编写的专门针对闪存设计的只读压缩文件系统。与RAMdisk方式不同,CRAMFS文件系统不需要一次性地将文件系统中的所有内容都解压到内存中,而只是在系统需要访问某个数据时,马上计算出该数据在CRAMFS中的位置,将其实时的解压到内存之中,然后通过对内存的访问来获取文件系统中需要读取的数据源文件:从htt
2012-03-31 15:27:49
651
原创 嵌入式文件系统之-cramfs文件如何解压
简要说,就是把cramfs文件当成一个分区挂载到本地系统,然后就可以对它进行操作了。假设要解压的文件是LJD2440-II.cramfs (1) 将 LJD2440-II.cramfs 拷贝到任意目录下(2) 在该目录下建立两个文件:mkdir romsmkdir tmp(3)将LJD2440-II.cramfs 挂接到 roms 目录mount LJD2440-
2012-03-31 14:50:53
585
原创 NETWORK
#include #include #include #include /*********************************************************************** 函数名称: GetNetStat* 功能描述: 检测网络链接是否断开* 输入参数: * 输出参数: 无* 返 回 值: 正常链接1,断开返回-1* 其它说明:
2012-03-30 10:26:16
368
原创 FILE CODE
char *concat_path_file(char *pdst,int size, const char *path, const char *filename){ char *lc; if (!path) { path = ""; } lc = last_char_is(path, '/'); while (*filenam
2012-03-21 20:29:46
689
原创 linux 让自己的调试代码更显眼
//debug.h #ifndef _DEBUG_H_ #define _DEBUG_H_ #define BLACK_WORD "\033[22m\033[30m" #define RED_WORD "\033[22m\033[31m" #define GREEN_WORD "\033[22m\033
2012-03-21 14:06:02
394
转载 Linux内核启动过程和Bootloader(总述)
精简讲述linux内核启动过程。1.Linux内核启动过程概述 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader),Linux 内核,文件系统,应用程序。其中 Bootloader是系统启动或复位以后执行的第一段代码,它主要用来初始化处理器及外设,然后调用 Linux 内核。Linux 内核在完成系统的初始化之后需要挂载某个文件系统做为
2012-03-20 14:09:42
1295
1
转载 linux内核初始化及启动之start_kernel
Linux的源代码可以从www.kernel.org得到,或者你可以查看linux代码交叉引用网站:http://lxr.linux.no/ 进行在线的代码查看,这是一个很好的工具网站。 在start_kernel中将调用到大量的init函数,来完成内核的各种初始化。如:page_address_init();sched_init();page_alloc_i
2012-03-20 14:04:16
710
转载 typedef的四个用途和两个陷阱
typedef是一种在计算机编程语言中用来声明自定义数据类型,配合各种原有数据类型来达到简化编程的目的的类型定义关键字。本文主要介绍的是Typedef的用途和陷阱,供参考。AD: 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。下面让我们一起来看typedef的用途以及陷阱。用途一
2012-03-19 11:16:30
1355
转载 typedef和define的详细区别
typedef和define的详细区别对于都可以用来给对象取一个别名的Typedef和define来说,是有区别的。本文通过对typedef和define的介绍,来给读者详细的讲解它们存在的本质区别,供参考。AD: typedef是一种在计算机编程语言中用来声明自定义数据类型,配合各种原有数据类型来达到简化编程的目的的类型定义关键字。 #define是预
2012-03-19 11:13:57
365
转载 ARM启动过程
ARM 启动过程 对于一般的嵌入式系统来讲,考虑到系统成本,运行速度等因素,往往联合使用好几种存储器件。在下面讲到的例子中,是开发中用到的一个 ARM9EJ 的处理器,系统中采用了SDRAM, ROM, Nand FLASH, ITCM ,DTCM 等。 SDRAM: 程序正常运行时所在的存储器, 物理地址 0x24000000 - 0x24800000 (以8M 为
2012-03-15 22:38:01
635
转载 MMU的作用
现代操作系统普遍采用虚拟内存管理(Virtual Memory Management)机制,这需要处理器中的MMU(Memory Management Unit,内存管理单元)提供支持,下面简要介绍MMU的作用。首先引入两个概念,虚拟地址和物理地址。如果处理器没有MMU,或者有MMU但没有启用,CPU执行单元发出的内存地址将直接传到芯片引脚上,被内存芯片(以下称为物理内存,以便与虚拟内存区分)
2012-03-15 22:36:27
4720
转载 platform设备驱动全透析
platform设备驱动全透析1.1 platform总线、设备与驱动在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、
2012-03-15 22:32:34
581
转载 slab分配器
slab分配器(2011.11.30)slab 缓存Linux 所使用的 slab 分配器的基础是 Jeff Bonwick 为 SunOS 操作系统首次引入的一种算法。Jeff 的分配器是围绕对象缓存进行的。在内核中,会为有限的对象集(例如文件描述符和其他常见结构)分配大量内存。Jeff 发现对内核中普通对象进行初始化所需的时间超过了对其进行分配和释放所需的时间。因此
2012-03-15 22:31:11
1324
原创 带参数的中断程序(内核剖析)
中断服务程序一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化。但是,中断是一个随机事件,它随时会到来,如果关中断的时间太长,CPU就不能及时响应其他的中断请求,从而造成中断的丢失。因此,内核的目标就是尽可能快的处理完中断请求,尽其所能把更多的处理向后推迟。例如,假设一个数据块已经达到了网线,当中断控制器接受到这个中断请求信号时,Linux内核只是简单地标志数据到来了,
2012-03-15 22:23:48
889
原创 一些库函数、系统函数的调用
fcntl(fd, F_SETEL, O_NONBLOCK); //取消阻塞ftruncate(int fid, size_t big); //将文件截短为bigfflush(stdin);调用fflush()将使输出缓存中的内容以物理方式写入到文件中。文件仍然保持打开。 返回0表示成功, 在程序正常终止或缓存充满时,会自动清除所有缓存。另外当文件关闭时
2012-03-15 22:12:59
383
原创 Ubuntu Gnome桌面最大化,最小化按钮调值右边!
1: sudo gconf-editor如果没有这个配置文件编辑器可以下载一个 sudo apt-get install gconf-editor 2: 依次展开:apps–>metacity–>general 3: 然后选:button_layout,内容改为: menu:minimize,maximize,close
2012-03-15 11:40:38
1087
原创 Ubuntu TFTP 的配制
1: sudo apt-get install tftpd tftp openbsd-inetd //下载tftp2:sudo vim /etc/inetd.conf //修改配制文件,将默认行注释掉,添加下面这行 tftp dgram udp wait nobody /usr/sbin/t
2012-03-15 11:34:50
399
原创 Ubuntu NFS 的配置
sudo apt-get install nfs-kernel-server1:修改配置文件 /etc/exports文件;并创建目录; sudo vim /etc/exports 添加内容/NFS *(rw) 说明:NFS是要挂载的目录,这个要是绝对路径,在ubuntu下,最好不要放在用户目录下。 sudo mkdir /NFS
2012-03-15 11:22:49
321
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人