强制Android使用RTSP / AVP / TCP交错

我在Galaxy S3上使用Android 4.1.2。 目前android mediaplayer总是尝试使用RTSP UDP(RTP / AVP / UDP)方法连接到RTSP服务器。

如果Android MediaPlayer没有收到其UDP端口上的数据,那么尝试RTSP TCP交错(RTP / AVP / TCP)。 这很好,但延迟了10秒左右。 我想避免这个延迟,并强制Android MediaPlayer始终使用RTSP TCP交错(RTP / AVP / TCP)的所有或特定的URL。

我尝试了在这里给出build议,发送461或400错误响应代码给SETUP请求。 但似乎mediaplayer不关心响应,并发送两个轨道的SETUP命令,然后挂起连接。

我该如何解决这个问题?

我正在使用VLC,而不是本地的。 阅读Living555的源代码请求。 您可以在SETUP请求中指定Transport:RAW / RAW / UDP字段来select要使用的协议。

我可能是错的,但AFAIK Android的媒体播放器不支持TCP上的RTP。