Поток с ip-камеры в Android приложение
Изучаю андроид, пишу приложение для просмотра потока с камеры в режиме онлайн, как альтернативу существующему сайту с идентичным функционалом. Подобные вопросы по данной теме на стаке уже встречал, но решения или хотя бы какого-либо толкового объяснения я не нашел. В общем, нужно вывести поток с камеры в android приложение. Я пробовал так:
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
startActivity(intent)
Или так:
var camPlayer = findViewById(R.id.camPlayer) as VideoView
сamPlayer.setVideoPath(url)
camPlayer.requestFocus()
camPlayer.start()
Если url у нас представляет из себя какой-то файл, например:
val url = "rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"
Видео очень долго грузится (Примерно, 40 секунд - минуту. Проблема не в интернете, проверил), но отображается нормально. Как только мы меняем наш url на поток с камеры, то начинается что-то странное. Поток, без учета идентичной вышеописанной долгой загрузки, переодически выдает артефакты, подвисает, а через 30-40 секунд вовсе обрывается и перестает грузится. На сайте же камеры грузятся мгновенно, без артефактов и задержек, так что проблема точно не в камерах. URL RTSP с камеры выглядит так:
val url = "rtsp://ip-адрес/SerpiMolot?token=токен"
В разрешениях указано только <uses-permission android:name="android.permission.INTERNET" />
Подскажите, в чем может быть проблема? Нужно ли что-то сюда еще добавить? Где я совершил ошибку?
Ответы (1 шт):
Я думаю, что проблема в видеоформате. Android плохо поддерживает формат QuickTime (.mov)
Список поддерживаемых файлов/кодеков здесь
Попробуйте получать с камеры поток в другом формате.