RTSP против потока HLS ... который будет играть гладко на устройстве Android - PullRequest
1 голос
/ 24 февраля 2012

Я работаю над приложением Android, которое предназначено только для планшетов. Минимальный необходимый уровень API составляет 3,1. Приложение будет транслировать некоторые прямые телевизионные каналы.

Я проверил RTSP и HLS, и оба работают хорошо. Однако HLS, кажется, не работает лучше, и вызывается VideoView onCompletion , который не должен вызываться, поскольку поток поступает с прямого эфира, который еще не завершен.

У меня есть URL-адреса потоков RTSP и HLS для каждого телевизионного канала. Я знаю, что Android Android 3.0+ поддерживает HLS, но я также могу играть в RTSP.

Какой из них лучше другого и почему?

Ответы [ 2 ]

5 голосов
/ 28 февраля 2012

RTSP поддерживается только через UDP.Так что, если ваши клиенты находятся в Интернете, где может быть потеря пакетов, это не очень хороший вариант.Но для локальной сети это нормально.

HLS имеет довольно слабую поддержку в Android, и они, похоже, ломают ее по-новому с каждым выпуском.Тем не менее, это, вероятно, то, что вам нужно использовать, если вы хотите видео через Интернет.Доступны некоторые сторонние библиотеки (vitamio и nextreaming), которые могут обеспечить более согласованную работу на нескольких устройствах и версиях Android.

0 голосов
/ 11 октября 2013

Я тестировал NexStreaming, и он довольно хорош. Я бы сказал лучше, чем Витамио. Но это не бесплатно. Вы можете запросить пробный SDK через их веб-сайт. В SDK есть некоторые файлы .jar, к которым вы можете получить доступ из приложения Android, а также некоторые собственные (.so) библиотеки, где происходит декодирование (я полагаю).

...