Rtsp-Android-Client
Introduction: 一个 android rtsp 传输客户端,传入 surfaceView 可直接显示,支持 TCP/UDP 传输 RTP 报文
Tags:
RTP-
- [x] 实现基本框架
- [x] 支持以 UDP 方式接收 RTP 报文
- [ ] 优化 UDP 报文解码
- [x] 支持以 TCP 方式接收 RTP 报文
- [ ] 优化 TCP 报文重组
- [x] 实现 RTP 报文重组
- [x] 支持 FU-A 报文重组
- [x] 支持单包 NAL 报文
- [ ] 增加常用 NAL 报文重组
- [x] 支持 H264 解码显示
- [x] 支持 H264 硬解码显示(Android 4.1 以上版本支持)
- [ ] 支持 H264 软解码显示
- [ ] 支持 ACC 音频
使用方法
使用 Jcenter 仓库
compile "com.aaronhan:rtspclient:0.7"
调用 RtspClient 方法 ```java private SurfaceView mSurfaceView;
//创建 client,需要传入一个 SurfaceView 作为显示 String host = "rtsp://192.168.0.217/test.264" RtspClient mRtspClient = new RtspClient(host); mRtspClient.setSurfaceView(mSurfaceView);
//开始显示 mRtspClient.start();
//关闭,请在 Activity 销毁时调用此方法 //在 UDP 模式下即使销毁 Activity 某些 RTSP 服务器也会继续发送报文 mRtspClient.shutdown();
3.RtspClient 调用详解
```java
//使用 RTP 传输协议选择,支持"tcp"和"udp"传入值
String method = "udp";
//传入地址,需以 rtsp://开头,如果只有 IP,需以/结尾,如 rtsp://xxx.xxx.xxx.xxx/
//支持地址后加入端口地址,"rtsp://ip:port/xxx"
//如未加入端口地址,则使用默认地址 554
String host = "rtsp://192.168.0.217/test.264"
//可以单独传入 port 值,不在地址中增加
//如未传入 port 只,且地址中没有 port,默认使用 554
int port = 8554;
//支持传入用户名密码,某些 RTSP 服务器需要认证使用
String username = "admin";
String password = "admin";
//只传入地址或地址加端口
//默认无用户名密码认证,默认使用 udp 协议
RtspClient(host);
RtspClient(host,port);
//传入使用协议
RtspClient(method,host);
RtspClient(method,host,port);
//默认是 udp 协议,传入认证用户名和密码
RtspClient(host,username,password);
RtspClient(host,username,password,port);
//传入使用协议和认证信息
RtspClient(method,host,username,password);
RtspClient(method,host,username,password,port);
