Android下的RTSP客户端搭建
关于RTSP的背景知识:《Specifications for a simple RTSP client》
jrtsplib:JAVA下的最小RTSP协议库实现,google code:http://code.google.com/p/rtsplib-java/
以下列出jrtsplib在移植过程中遇到的问题:
1、 修改位置:“RtcpClient.java->dataReceived(Transport, byte[], int){...}”
原因:在发送DESCRIBE后,得到VLC Server的响应,包含SDP消息,但是通过wireshark察看到,却是malformedpacket,包不知为何被分开了,因此,原有的基础上需要修改,加入分包的判断,获取SDP消息内容。
2、修改位置:“MessageBuffer.java”,改变了byte数组存储方式,使用arraylist动态存储
原因:原先的代码会因为1中分包导致前一段包的数据被放在后面,不便于操作,同时,修改后,更加简洁
3、修改位置:在Header文件夹中添加"RangerHeader.java"
原因:缺少该部分header
4、修改位置:“RtspMessageFactory.java->incomingMessage(){}”
原因:见1
5、修改位置:“我的RTSP实现文件rtsp_test.java”
原因:在SETUP的响应消息中,未加入对server_port的获取。
6、修改位置:"rtspclient.java"
原因:接受到SETUP的session的head中,包含了timeout字段,jrtsp会将timeout字段也包含在下一次发出的session中,导致vlc虽然返回200OK,但是没有数据流发送过来
如果我的文章对您有帮助,请为我留言或捐助:
地址:
http://code.google.com/p/android-rtsp-client/
更多相关文章
- Unsupported major.minor version 52.0
- android listview拖拽,拖动item 改变位置
- TextView控件使用小技巧
- uses-permission android:name="android.permission.INSTALL_PAC
- Android之AsyncTask源码分析(第五篇:execute方法只能执行一次的原
- 解决h264readInt()值太大 以及 SPS和PPS的获取
- kotlin.NotImplementedError: An operation is not implemented:
- Android(安卓)apk安装的几种方法
- Android(安卓)LockScreen .