Когда Вы собираетесь выполнить операцию, которая собирается занять много времени, или возможно непрерывный фоновый поток. Я предполагаю, что Вы могли всегда продвигать сумму потоков, доступных в пуле, но будет мало точки в несении затрат управления на поток, который никогда не будет отданным к пулу.
Вы можете знать это или не знать, но Android имеет встроенную поддержку RTSP с помощью VideoView.
http://developer.android.com/reference/android/widget/VideoView .html
Это может сократить время разработки ... или может оказаться совершенно бесполезным, если вы пытаетесь создать собственный стек RTSP.
RTSP используется только для запуска потоковой передачи. Он дает вам SDP-описание реальных потоков. Вы должны управлять подключением RTCP и подключением RTP для каждого канала (аудио / видео). Используемые порты - «client_port».
Довольно сложно создать код RTSP / RTCP / RTP-стека с нуля. Вы можете ознакомиться с библиотекой live555 , которая реализует такой стек на C ++.
Поместите сниффер в сеть, вы должны увидеть UDP-пакет с целевым портом 4568, нацеленный на ваш IP-адрес.
С приличным сниффером вы сможете увидеть диалоговое окно rtsp. Возможно, вам что-то не хватает в ответах.
Вам также следует проверить содержимое ответа SETUP, чтобы узнать, был ли принят запрошенный порт.
Что нужно проверить:
Если вы находитесь за маршрутизатором или брандмауэром, вы, вероятно, ничего не получите, потому что ваш маршрутизатор / брандмауэр не знает, что делать со входящими UDP-пакетами
Сначала попробуйте установить локальный сервер Darwin Streaming в вашей локальной сети. Тогда брандмауэр не будет иметь значения. Потоковая передача будет работать.
Если вы хотите попробовать с внешнего сервера, то:
1 ) Проверьте client_ports, упомянутые в ответе СЕРВЕРА, некоторые серверы предлагают порты, отличные от запрошенного. Вы должны использовать порты, предложенные сервером.
2) Если порты правильные, то вы можете отправить 64-байтовые пустые пакеты с каждого портов UDP на сервер (так называемые «открыватели дверей»).
3) Если указанные выше два не помогают, проверьте журналы на стороне сервера. Сервер может закрывать порты UDP.