Мое требование - играть в потоковое видео в моем приложении для Android. Поток будет превышать RTSP/RTP. Я не контролирую источник; и похоже, что полезная нагрузка RTP не соответствует требованиям, изложенным в Руководстве для разработчиков Video encoding recommendations. В частности, следующее требование, как представляется, нарушается источник видеосигнала:Backport stagefright и NuPlayer для Android 2.2
Для 3GPP и MPEG-4 контейнеров, атом Moov должны предшествовать какие-либо атомы MDAT, но должны преуспеть атом FtyP
В основном , похоже, что мы получаем необработанные данные H264 (не завернутые в контейнер).
Теперь
- Я не был в состоянии играть этот поток с помощью
MediaPlayer
класса на Android 2.2 Samsung Galaxy Tab. - Тем не менее, я смог воспроизвести его на Android 2.3 Samsung Galaxy S.
- Некоторые сторонние приложения (MX Player) смогли воспроизвести тот же поток на вкладке Galaxy Tab 2.2.
В обоих случаях 2 и 3 журналы DDMS указывали на то, что среда Stage Fright используется внутри, а в случае 1 используется PVP (то есть OpenCore). Все это приводит меня к заключению, что:
- Мой поток не может воспроизводиться каркасом OpenCore.
- Мой поток может быть воспроизведен с помощью Stagefright - даже на Android 2.2
Который приносит мне на мой вопрос:
Что портирования stagefright на Android 2,2 привлечь?
Кроме того, я заметил в источнике AOSP, что новый NuPlayer
отвечает за воспроизведение потоков RTSP. Вопрос:
- Можно ли вообще порт
NuPlayer
обратно в старых версиях Android (2.2 или 2.3)?- Если да, что мне нужно сделать, чтобы использовать его в своем приложении?
Я знаю, что я могу проверить источники и использовать NDK строить stagefright и NuPlayer (хотя я никогда не работал на уровне НДК). Я не знаю, как мое приложение сможет использовать этот NuPlayer.
Это может работать, но, к сожалению, он не решает мой случай использования. Я разрабатываю приложение, которое должно воспроизводить поток RTSP. Я не могу попросить всех пользователей моего приложения пройти весь процесс редактирования файла build.prop после его установки. Я ищу способ сделать это без вмешательства пользователя. – curioustechizen
Посмотрите мой отредактированный ответ. –
К сожалению, это тоже не сработает. Я не контролирую удаленный сервер. Кроме того, удаленный «сервер» является встроенным чипом. – curioustechizen