参考spydroid源码,花了一上午的编码,用java在PC上完成了rtsp服务器,实现了VLC与服务器的交互。
大致流程:
1、服务器端,开启一个线程监听客户端VLC请求。VLC请求地址 rtsp://192.168.1.38:8086/
2、当VLC请求服务器的时候,服务器开启一个workerThread,完成一次rtsp的会话交互
3、rtsp交互包括options,describe,setup,play,teardown,pause 6个部分。
4、在setup的时候,开启streaming流,在这里开启一个线程,接收android客户端发送过来的rtp数据,并转发到VLC
5、VLC正常播放
现在大致完成了服务器功能,但效果很差,延迟很严重,通过接收数据并转发,开始VLC还能播放,后面还存在问题。总算完成了大体流程,特此庆祝一下。
后记:这种做法没什么作用,只是让我深入的了解了rtsp交互流程。实际项目还是考虑实时流推送到流媒体服务器,播放端通过地址播放。