CentOS 6.5手动安装3个节点的ceph集群(通过rbd块设备访问)

阅读本文前,需要熟悉ceph基本架构,以及基本的网元,什么是monitor,mds,osd,rbd等知识
建议先阅读:

http://www.ibm.com/developerworks/cn/linux/l-ceph/

http://www.infoq.com/cn/news/2014/01/ceph-overview

http://ceph.com/docs/master/start/quick-ceph-deploy/

http://www.alidata.org/archives/1589

http://ceph.com/docs/master/start/quick-rbd/

ht[......]

阅读全文

网络编程中的C10K问题总结

第一件秘密武器:epoll/IOCP/kqueue新模型
  
   传统的web服务器采用同步socket处理,即每一线程服务于一个客户(apache就是这样),或者是使用传统的select/poll模型。在连接数小的情况,性能也不会很差,但随着连接数的上升,性能会直线下降,超过一定数量时,会导致服务器无法提供服务。这就是著名的C10K问题。现代化的web服务器都采用效率更高的模型,linux下面是epoll,windows下面是IOCP,bsd系统的是kqueue. kangle新版也采用这种模型,连接数上升,性能只是会下降一点,基本上很稳定的提供服务。
  
  第二件秘密武器: 非阻塞socket[......]

阅读全文

移植top命令到hi3531嵌入式平台

1. 下载软件包
ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.7.tar.gz

http://procps.sourceforge.net/procps-3.2.8.tar.gz

2. 编译ncurses-5.7
./configure CC=arm-hisiv200-linux-gcc –host arm-linux –target=arm-linux –enable-widec –with-shared –prefix=/home/hzb/disk2/ncurses-install

make
make install

3.编译procps[......]

阅读全文

Windows下的调试工具应用总结

笔者做Windows开发也很多年了, 由于一直做一些小型工具类开发, 对软件的健壮性,测试技巧显得很不足。
最近在一个大型项目中遇到一些问题:
1. 程序无症状异常退出,不报错
2. 内存访问越界导致乱报错

借助以下2个Windows SDK中带的Debug Tool,终于彻底解决了问题。
1. Application Verifier
解决内存越界很有帮助
当你打开这个工具,添加你的程序进行检测,然后在VS2010中按F5调试,遇到内存问题就会抛出异常,提示你哪一行出错了,很好用。

2. Global Flags
对于调试内存问题也还可以,不过要注意正确使用,这个工具的里的一些注册表项是影[......]

阅读全文

Live555通过SDP文本信息实现对RTP的接收

笔者最近因为工做中需要用到此功能,特把实现方法分享给有兴趣的网友。
我的方法来自Live555官方论坛最权威的方案,如下:
[Live-devel] Once again, SDP support for Live555 & interaction with FFMpeg
1.First, create a “MediaSession” object, by calling
“MediaSession::createNew()”, with the SDP description (string) as
parameter.

2.Then, go through each of this obj[......]

阅读全文

Live555用做RTSPClient时,利用RTP时间戳进行音视频同步的解决方案(必须有RTCP支持才可行)

先看来自Live555官网的2个常见问题
问题1:Why do most RTP sessions use separate streams for audio and video? How can a receiving client synchronize these streams?
回答:Sending audio and video in separate RTP streams provides a great deal of flexibility. For example, this makes it possible for a player to receive only the audio[......]

阅读全文

鄙人所掌握音视频流媒体关键技术

1.RTSP双路H264视频流+1音频流保存为TS文件,
2.RTSP单路H264或Mjpeg视频流+1音频流 保存为TS文件, 同时支持10路以上码流录制
3.熟练ffmpeg编解码编程,可深入源码为我所用。
4.利用VLC的libvcl库,定制视频播放器,支持双路视频窗口同时显示在一大一小窗口,大小窗口可动态切换,播放的视频文件格式与VLC基本一样多。
5.利用开源live555实现流媒体服务器定制,除默认支持的格式外,还支持mp4等文件格式的扩张,支持中文路径名
6.为Darwin Streaming Server扩张TS文件格式支持
7.利用portaudio采集音频流,利用libvidcap或[......]

阅读全文

MFC中针对WebBrowser控件增加link链接点击事件监控

本文参考互联网资源:http://www.scottdstrader.com/blog/ether_archives/000040.html
http://download.csdn.net/download/xiemg/3640190
前言:
本文是基于MFC对话框工程加入WebBrowser控件的实现,不是DHTMLView等的实现。目标是监控当前打开页面中的link超链接点击监控,并拦截事件做自定义处理。目的是把http链接转换成rtsp链接,然后本地播放该链接。

1. 主对话框头文件PlayerDlg.h:
1.1 增加头文件引用

#include <comdef.h>
#include <mshtml.h>
#include <mshtmdid.h>
#include <map>
#include <vector>
#include <afxwin.h>
using namespace std;

#pragma warning(disable : 4146) //see Q231931 for explaintation
#import <mshtml.tlb> no_auto_exclude

1.[......]

阅读全文

windows下一分钟配置ngnix实现HLS m3u8点播

1. 下载nginx-1.5.10 for windows

2. 新建子目录:nginx-1.5.10\html\hls,把生成的m3u8和切片好的ts文件或目录拷贝到hls目录下

3. 修改配置文件nginx-1.5.10\conf\mime.types,增加以下三行:
在application/zip zip;这一行后面增加2行:
application/x-mpegURL m3u8;
application/vnd.apple.mpegurl m3u8;

在video[......]

阅读全文

利用ffmepg把ts文件转m3u8并切片

网上很多垃圾文章推荐segmenter工具,但用的时候,3.5G的ts文件丢了一半的数据,于是想到了ffmpeg转。
在国外网站找到命令,一句话搞定,没报半句错:
ffmpeg -i 12生肖.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 10 output%03d.ts

顺便共享给各位国内的同仁,免得深受其苦。毕竟,大家都说HLS代表future,rtsp已经是过去式了。

另外,对于下载windows下的ffmepg二进制版本,请进网站http://ffmpeg.zeranoe.com/builds/wi[......]

阅读全文