С какого это сервера? Изменить - я только что видел WowzaMediaServer
Действительно, вероятно, не достаточно информации, журналы сервера также были бы очень полезны.
Прежде всего, Android изменил медиа-серверы в этих версиях, перейдя с OpenCore на StageFright.
Ошибка: «02-27 11: 42: 20.704: W / MyHandler (116): неподдерживаемый формат. Игнорирование дорожки № 2»
Rtp-клиент android возвратил ошибку при «настройке» видеодорожки.
Очевидное первое:
Ваш файл SDP указывает порт 7232 "m = видео 7232 RTP / AVP 96". Этот порт уже используется?
Согласно APacketSource.cpp от libstagefright медиаплеера,
Причины установки могут быть неудачными из-за этой ошибки:
1) Нет допустимых размеров изображения в SDP или закодированных спропах (попробуйте вручную их декодировать) с помощью инструмента base64 (и того, который поддерживает двоичные данные, а не только текст ascii),
2) если используется AMR и частота дискретизации! = 8000 и имеется более 1 канала (вы не)
3) если используется AMR WB и частота дискретизации! = 16000 и существует более 1 канала (вы не)
4) У вас есть строковое описание, которое НЕ удовлетворяет одному из следующих условий:
"H264 /", "H263-2000 /", "H263-1998 /", "MP4A-LATM /", "AMR /", "AMR-WB /", "MP4V-ES /", "mpeg4-generic / / «
У вас есть "H264 / 90000" И "video / H264"
Я бы потерял строку "a = mimetype: string;" video / H264 "" в файле SDP и посмотрел, как она работает ?? Хотя это длинный снимок (но это не объясняет, почему звук работает, так как он одинаков)
Хотя с этим * не должно быть никаких проблем, в моем опыте с android и RTP / RTSP / SDP пока что сценический страх НЕ очень хорош при работе с расширенными типами, только с минимальным значением.
Если вы хотите посмотреть на то, что я объяснил выше, вы можете проверить исходный код Android, файлы находятся в "/ media / libstagefrigt / rtsp /". Соответствующими файлами являются MyHandler.h и APacketSource.cpp
ОБНОВЛЕНИЕ: у вас есть другая / хуже проблема
Я только что видел это в вашем журнале:
«02-27 11: 42: 30.824: W / MyHandler (116): никогда не получал никаких данных, переключая транспорты».
и я заметил, что эти две попытки идут спина к спине, а не то, что я думал, вы копировали и вставляли две попытки.
Здесь есть две проблемы: одна - сбой настройки видео, а вторая - неудача всей первой настройки сеанса.
Ошибка «Никогда не получал никаких данных, переключая транспорты» возникает после 10-секундного тайм-аута между Android, выдавшим команду PLAY, и он не получает данные в течение 10 секунд. Затем он завершает сеанс и пытается установить сеанс по TCP.
Скорее всего, некоторые порты UDP заблокированы или не открыты на вашем компьютере / брандмауэре и т. Д. Это приводит к сбою первого сеанса. Это может даже объяснить причину неудачной настройки видео. Проверьте, какие порты пытается использовать сервер для настройки видео. Убедитесь, что они выше 1024.
Кроме того, мне не нравится, как ваш SDP сначала перечисляет аудио, а затем видео, но аудио использует меньшие порты, чем последующее видео (вероятно, это нормально, просто "выглядит" странно)