Потоковое аудио RTSP не работает с Wi-Fi, но работает с мобильной сетью - PullRequest
0 голосов
/ 30 марта 2012

Я использую следующий код для воспроизведения потока rtsp с помощью медиаплеера.

mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(streamurl);
mediaPlayer.prepare();
mediaPlayer.start();

Он отлично воспроизводится в мобильной сети.Но в wifi он не играет, а показывает ошибку при подготовке медиаплеера.Почему так?Кто-нибудь знает решение для этого?

Ответы [ 2 ]

2 голосов
/ 08 мая 2012

RTSP (RTP / UDP) работает следующим образом

1) Управление сессиями на уровне TCP

2) Носитель на уровне UDP

Если у вас неправильно настроен NAT в сети Wi-Fi, UDP-трафик может быть не получен на устройство.

В этом случае

1) Устройство пытается вернуться к туннелированию RTSP через TCP. 2) Если потоковый сервер не поддерживает RTP через TCP, устройство не сможет выполнить потоковую передачу

Решение 1 Настройте наш маршрутизатор Wi-Fi для NAT портов UDP на ваше устройство. Я не уверен, какие порты вы можете попробовать 1024-65355

Решение 2 Найдите сервер потоковой передачи, который разрешает RTP через TCP

Возможно, ваша мобильная сеть не выполняет NAT или использует интеллектуальный NAT, который не нарушает RTSP

0 голосов
/ 10 апреля 2012

медиаплеер не может воспроизводиться, если streamurl начинается с «rtsp: //blahblah.com/blah.3gp» на Wi-Fi. изменить streamurl "http://blahblah"

...