RtxpIPC项目是指rtsp + rtmp的IPNC,它由RtxpSvr流媒体服务器、RtxpCam摄像机、RtxpManager后台管理平台组成。
RtxpIPC项目是付费参与的会员制开源项目,会员年费:2500元/年。会费主要用于购买国内外服务器,搭建样机系统,制作开源背心等开支。
成为骨干会员后,不必缴纳会费。参与项目后一年中没有贡献1000行以上代码者,会员费翻倍。
外包项目,优先由会员承担,项目组提取20%管理费用,余下80%由参与者均分。
有意参与者加V信:conyam详聊。
一、RtxpCam功能及版本规划如下:
1st stage(v1.0):
1.support rtspsvr,主要是解决A/V同步问题。
2.support rtmppush。也一样是解决A/V同步问题。在没有video的情况下,也可以播放audio。支持多rtmp。
3.support mp4rec。录像到TF或NAS中,存为.mp4格式。按10min分段。loopback.
上面的三个进程,都是用同一个数据源(capture/encoder)。
4.将上述三个进程改为同一个进程+3线程形式,就是rtxpsvr。支持live/rec/,不支持playback。
5.用nginx来支持录像文件browse和playback,生成PC端和移动端通吃的HLS流。//browse目录的方法?audoindex=on;
6.支持onvif,用于发现ipnc及连接NVR。
7.支持http,以方便用户设置:LAN(ip/submask/gateway),wifi ssid/pwd,rtmp推流地址等basic info。net.html
2nd stage(v1.1):
1.支持硬件信息set/get功能,硬件信息包括:厂家名,MAC地址,UUID。
2.支持版本号get.
3.支持软件远程升级.
4.支持工作日志和报警日志的get.
增加一个info.html页来升级FW,显示硬件信息,软件信息,导出log。
3rd stage(v1.2):
1.支持pre-recording功能。
2.支持报警功能:
触发event:移动侦测,声音侦测,用户触发,DI。
event action:post-recording,发送alarm e-mail到用户指定mailbox:国内163,国外gmail。播放预录的报警音(xxx.mp3)。送出DO。
sync netdisk功能:国内baidu云,国外dropbox。
增加一个alarm.html页来设置alarm related setting.
4th stage(v1.3):
1.支持osd功能:日期,时間,连接数,like: 2015-12-20 10:11:12 5。
2.支持en/zh osd语言。
3.支持其它语言osd,用bmp图片帖片机制。
增加一个osd.html页来设置.
5th stage(v1.4):
1.支持夜视功能,判断条件:光强判断,时间段判断。根据day/night相应切换ircut.
2.支持ptz功能,i2c方式的ptz module(自定义协议)和rs485方式的外置云台(pelco协议)。
3.支持时间同步功能:NTP client。
增加一个others.html页来设置.
6th stage(v1.5):
1.通过softAP/STA自动切换方式配置wifi ssid/pwd。
2.通过smartlink方式配置wifi ssid/pwd.
不需要html页来设置。缺省条件用softAP模式web配置wifi router的ssid/pwd.
7th stage(v1.6):
1.音视频data进行AES-256加密后传输和liveview。录像文件不加密。
2.录像文件进行AES-256加密后保存。
8th stage(v1.7):
1.支持向现场喊话,单向PTT功能。
2.支持单独录制现场音频(save as xxx.mp3)。
9th stage(v1.8):
1.支持dual-sensor,双镜头的合成为全景视频。
v1.9:
支持外部VI功能,单独送出raw data流。fps可设置。自定义tcp transport协议。
v1.a:
支持前端实现车牌号码识别功能。合作来实现,cortex-A9 CPU。
arch体系相关部分:
先支持hisi平台,然后是TI,nxp,imx6等平台。用C/C++语言实现。数据库用sqlite3
二、目录结构规划
顶层目录:RtxpCam。
功能模块化,尽量松耦合。
mediaSvr |
rtspSvr |
Rtsp实时服务器(live only) |
独占硬件资源 |
|
rtmppush |
推流到FMS |
独占硬件资源 |
|
Mp4Rec |
存储进程(snapshot/record) |
独占硬件资源 |
|
preRec |
预录像进程 |
独占硬件资源 |
|
liveRec |
全部的4项流功能合一 |
功能以线程方式 |
webSvr |
nginx |
Browse file/playback/upload |
|
|
www |
Html/js/cgi/css |
|
comm |
alarmSvr |
收集硬件event,进行alarm处理 |
|
|
AppSvr |
与远程服务器进行交互 |
|
third |
ntp |
第三方服务比如ntp对时 |
|
onvif |
|
对外标准接口如onvif |
|
bin |
|
目标文件 |
|
doc |
|
开发和测试文档 |
|
release |
|
对外发布的静态保存 |
|
lib |
arch |
平台相关部分库如海思的各个SDK。 |
|
|
inc |
头文件 |
|
rootfs |
|
文件系统 |
|
代码通过git服务器来管理。
硬件:直接用摄像机模块,比如熊迈模块、中维模块来实现,重新替换为RtxpCam即可。