2012年8月22日
摘要: 获取单个文件行数文件:test1.sh行数:20方法一awk '{print NR}' test1.sh|tail -n1如图所示:方法二awk 'END{print NR}' test1.sh如图所示:方法三grep -n "" test1.sh|awk -F: '{print '}|tail -n1如图所示:方法四sed -n '$=' test1.sh如图所示:方法五wc -l test1.sh如图所示:方法六#cat test1.sh |wc -l如图所示:获取特定目录所有文件的行数代码如下:#!/bi 阅读全文
posted @ 2012-08-22 21:34 Mike_Zhang 阅读(4074) 评论(5) 推荐(1) 编辑
摘要: 编写bash脚本,首先在文件的第一行加入如下代码:#! /bin/bash比如文件test1.sh的完整代码:#! /bin/bashecho "Just a test!"执行如下指令:chmod +x test1.sh && ./test1.sh即可看到效果。一、变量相关1、输入变量read var2、输出变量echo $vardemo代码如下:#! /bin/bashread varecho $var二、判断相关1、逻辑判断 逻辑卷标表示意思1.关于档案与目录的侦测逻辑卷标!-f常用!侦测『档案』是否存在 eg: if [ -f filename ]-d 阅读全文
posted @ 2012-08-22 00:25 Mike_Zhang 阅读(805) 评论(0) 推荐(0) 编辑
  2012年8月16日
摘要: Reactor模式是处理并发I/O比较常见的一种模式,用于同步I/O,中心思想是将所有要处理的I/O事件注册到一个中心I/O多路复用器上,同时主线程阻塞在多路复用器上;一旦有I/O事件到来或是准备就绪(区别在于多路复用器是边沿触发还是水平触发),多路复用器返回并将相应I/O事件分发到对应的处理器中。 Reactor是一种事件驱动机制,和普通函数调用的不同之处在于:应用程序不是主动的调用某个API完成处理,而是恰恰相反,Reactor逆置了事件处理流程,应用程序需要提供相应的接口并注册到Reactor上,如果相应的事件发生,Reactor将主动调用应用程序注册的接口,这些接口又称为“回调函... 阅读全文
posted @ 2012-08-16 00:08 Mike_Zhang 阅读(4174) 评论(0) 推荐(0) 编辑
  2012年8月13日
摘要: 一、并发的定义 在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但是任一个时刻点上只有一个程序在处理机上运行。并发环境下,由于程序的封闭性被打破,出现了新的特点: 二、和并行的区别与联系 并发性(Concurrence):指两个或两个以上 阅读全文
posted @ 2012-08-13 22:54 Mike_Zhang 阅读(1359) 评论(0) 推荐(0) 编辑
  2012年8月10日
摘要: go语言入门简单,可要写出好的go代码得需要下些功夫。前两天刚把http文件共享的升级过(http://www.cnblogs.com/MikeZhang/archive/2012/08/06/httpShareGolang20120805.html ),现在经大牛指点完全用http实现,感觉爽快多了。一个简单的http服务器代码package mainimport ( "io" "net/http" "log")func HelloServer(w http.ResponseWriter, req *http.Request) { 阅读全文
posted @ 2012-08-10 01:53 Mike_Zhang 阅读(3441) 评论(0) 推荐(0) 编辑
  2012年8月8日
摘要: 简介Darwin Streaming Server简称DSS。DSS是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好。并且DSS是一个开放源代码的,基于标准的流媒体服务器,可以运行在Windows NT和Windows 2000,以及几个UNIX实现上,包括Mac OS X,Linux,FreeBSD,和Solaris操作系统上的。网址:http://dss.macosforge.org/源码:http://dss.macosforge.org/downloads/DarwinStreami 阅读全文
posted @ 2012-08-08 19:28 Mike_Zhang 阅读(4371) 评论(3) 推荐(3) 编辑
  2012年8月6日
摘要: 我之前有篇文章(http://www.cnblogs.com/MikeZhang/archive/2012/03/13/httpShareGolang20120312.html)中提到过用Go语言实现http文件共享,这个版本的程序比python的实现快了点,默认情况下支持的客户端多了些,但是没有客户访问的trace,程序运行过程中,感觉像是死掉了。我想改进下,让它有trace。代码如下:/*File : httpShareWithTrace.goAuthor : MikeE-Mail : Mike_Zhang@live.com*/package mainimport( ... 阅读全文
posted @ 2012-08-06 00:39 Mike_Zhang 阅读(2542) 评论(6) 推荐(1) 编辑
  2012年8月3日
摘要: 最近装了个CentOS6系统,跑的还行,至少发热量不是太大,很稳定。唯一感觉不习惯的是gnome的桌面,用惯了windows,不适应gnome的默认桌面,想用kde,可又嫌太卡,发热太大。偶然的机会,发现gnome可以定制桌面,着实高兴了一把,记录下来,也方便我以后查阅。首先看一下我定制的桌面,如下图:哈哈,是不是很熟悉啊,在左下角是类似开始菜单的东西,右下角是“显示桌面”按钮,类似win7的右下角,其它的一看就明白,我就不多说了。下面介绍下定制过程:1、删除桌面顶部的面板空白处单击右键 --> 删除该面板2、在底部面板上删除不需要的元素元素处单击右键 -->从面板上删除3、给面板 阅读全文
posted @ 2012-08-03 23:42 Mike_Zhang 阅读(2183) 评论(4) 推荐(2) 编辑
  2012年7月29日
摘要: 适用场景:想录制或转播FM调频电台节目但暂时找不到解决办法。硬件条件:声卡: 普通多媒体计算机上配置的声卡就可以胜任, 包括各种主板集成声卡。收音机: 普通收音机就能胜任, 只要转播的调频电台能够稳定清晰, 没有杂音。双头音频连接线: 可以到相关的影音制品商店买到双头的音频线, 但是要注意接口必须同时支持声卡和收音机耳机接口。音频双头线自己DIY 制作: 把废弃的两个耳机线截断, 然后把两个带有插头的耳机线接起来就可以作为连接声卡和收音机的接口。软件条件:录音软件流媒体服务器这里把我自己的实现过程写出来,仅供参考。硬件环境:声卡:笔记本电脑自带声卡收音机:Android手机自带的收音机软件双头 阅读全文
posted @ 2012-07-29 13:23 Mike_Zhang 阅读(3210) 评论(0) 推荐(3) 编辑
  2012年7月27日
摘要: 有时候从网上copy来的代码格式不怎么友好,一行行的改,我实在不乐意。之前在windows下用VS自带的ALT + F8着实爽了一把,当然还有CodeBlocks的astyle……现在linux下我也想这样,VS是不用想了,astyle倒是可以……1、astyle介绍网址:http://astyle.sourceforge.net/这里有源码,自己下载后解压安装下就可以了。风格选项:View Code Bracket Style Options: ---------------------- --style=allman OR --style=ansi OR --style=b... 阅读全文
posted @ 2012-07-27 23:06 Mike_Zhang 阅读(6180) 评论(0) 推荐(2) 编辑
  2012年7月24日
摘要: 这里介绍几种保存RTSP视频流的几种方式,欢迎补充。首先介绍下环境:操作系统是64位的CentOS 6.2 ,服务器采用的是Darwin Streaming Server 6.0.3 ,摄像头数据源用FFMPEG 0.6进行采集。下面我以H.264编码为例进行介绍,其他编码格式读者参考相关文档进行扩展。一、服务端数据采集用ffmpeg编码H.264数据流:ffmpeg -f video4linux2 -r 30 -i /dev/video0 -vcodec libx264 -subq 5 -g 250 -qmin 10 -qmax 51 -i_qfactor 0.71 -f rtp rtp:/ 阅读全文
posted @ 2012-07-24 22:09 Mike_Zhang 阅读(12047) 评论(4) 推荐(0) 编辑
  2012年7月21日
摘要: 环境:CentOS6.2_641、下载源码包wget ftp://ftp.videolan.org/pub/x264/snapshots/x264-snapshot-20120718-2245-stable.tar.bz2解压:tar jxvf x264-snapshot-20120718-2245-stable.tar.bz2wget http://ffmpeg.org/releases/ffmpeg-0.11.1.tar.gz解压:tar zxvf ffmpeg-0.11.1.tar.gz2、安装x2642.1 安装依赖包缺少yasm安装:yum install yasm -y2.2 安装 阅读全文
posted @ 2012-07-21 23:23 Mike_Zhang 阅读(11511) 评论(0) 推荐(0) 编辑
  2012年7月19日
摘要: 1、RSVP:资源预留协议 由于音频和视频数据流比传统数据对网络的延时更敏感,要在网络中传输高质量的音频、视频信息,除带宽要求之外,还需其它更多的条件。RSVP(ReSource reserVe Protocol)是Internet上的资源预留协议,使用RSVP预留一部分网络资源(即带宽),能在一定程度上为流媒体的传输提供QoS。资源预留协议使Internet应用传输数据流时能够获得特殊服务质量,它同路由协议协同工作,建立与路由协议计算出路由等价的动态访问列表,RSVP属OSI七层协议栈中传输层。RSVP的流程是单一的,并不区分发送方和接收方,且支持单播和组播,适应于可变成员个数和路由。相关. 阅读全文
posted @ 2012-07-19 21:42 Mike_Zhang 阅读(2041) 评论(0) 推荐(0) 编辑
  2012年7月17日
摘要: 一、视频编码原理 视频图像数据有极强的相关性,也就是说有大量的冗余信息。其中冗余信息可分为空域冗余信息和时域冗余信息。压缩技术就是将数据中的冗余信息去掉(去除数据之间的相关性),压缩技术包含帧内图像数据压缩技术、帧间图像数据压缩技术和熵编码压缩技术。去时域冗余信息使用帧间编码技术可去除时域冗余信息,它包括以下三部分:—— 运动补偿:运动补偿是通过先前的局部图像来预测、补偿当前的局部图像,它是减少帧序列冗余信息的有效方法。—— 运动表示不同区域的图像需要使用不同的运动矢量来描述运动信息。运动矢量通过熵编码进行压缩。—— 运动估计运动估计是从视频序列中抽取运动信息的一整套技术。注:通用的压缩标准都 阅读全文
posted @ 2012-07-17 21:49 Mike_Zhang 阅读(6067) 评论(0) 推荐(0) 编辑
  2012年7月6日
摘要: 这里介绍两种产生sdp文件的方法,仅供参考,欢迎补充。1、环境操作系统 :CentOS6.2_64内核版本 :2.6.32-220.23.1.el6.x86_64Darwin Streaming Server 版本:6.0.3mpeg4ip版本:1.6.1ffmpeg版本:0.6.52、用mpeg4ip产生sdp文件这个简单,安装好mpeg4ip后,直接运行mp4live就可以了,具体如下图:3、用ffmpeg 产生sdp文件命令如下:ffmpeg -f video4linux2 -s 176*144 -r 10 -i /dev/video0 -vcodec h263 -f rtp rtp:/ 阅读全文
posted @ 2012-07-06 23:10 Mike_Zhang 阅读(2494) 评论(0) 推荐(1) 编辑