看了接近一周的spydroid源代码,对spydroid这个开源项目有了一定的认识。也许有些理解不一定正确,给后来者一点启示。也是自己对rtsp协议,rtp协议的总结。
在windows下,如果安装了svn,可以通过 svn checkout http://spydroid-ipcamera.googlecode.com/svn/ 下载源码,最新源码是spydroid6.7.1
下载后,导入eclipse工程,直接就可以编译运行。
在这里只关心其src源码部分,其他地方都比较简单,就不介绍了。src源码有以下几个package。
net.majorkernelpanic.http主要是介绍http server,spydroid自身内置http服务器,客户端可以通过在VLC等播放器中输入http://ip:8080/播放
net.majorkernelpanic.mp4主要是介绍提取mp4文件的profile,sps,pps等信息
net.majorkernelpanic.networking 主要是介绍rtsp服务器部分,spydroid自身内置rtsp服务器,客户端可以通过在VLC等播放器中输入rtsp://ip:8086/播放
net.majorkernelpanic.rtp主要是介绍rtp协议通信
net.majorkernelpanic.spydroid主要是activity的界面部分。
net.majorkernelpanic.streaming主要是stream接口和抽象类
net.majorkernelpanic.streaming.audio介绍音频部分
net.majorkernelpanic.streaming.video介绍视频部分
以后针对mp4,networking ,rtp,stream这4个包的内容重点分析