Задача воспроизведения потокового видео на мобильном устройстве
Мы по итогам от него отказались и перешли на hls.
Но вообще я не очень понял твою задачу. Любой из этих протоколов на андройде играет vlc.
iOS из коробки браузером умеет hls. В андройде вроде есть несколько библиотек под это.
Основная проблема в вещающем софте.
Тебе нужен софт, который будет брать твой Progressive Streaming и вещать его в какой-то другой формат или ты можешь выбрать любой входной формат?
Уточни постановку задачи. Не все мобильные устройства поддерживают все форматы потокового видео. Стриминг тоже бывает разный - ты можешь стримить конечный файл заранее известной длины, а можешь транслировать видео с камеры. Везде есть нюансы =) Тебе надо написать клиента, сервер, или же просто проиграть какое-то видео?
Уточни постановку задачи.Требуется организовать мобильную трансляцию праздничной проповеди, с тем чтобы не потерять при этом ни грамма благодати.
Rtsp - отстой. А ещё он весьма чуствителен к плохим каналам.Очень благодарен за ценный комментарий! Немного поизучал тему, также склоняюсь к варианту HLS (HTTP Live Streaming).
Мы по итогам от него отказались и перешли на hls.
Но вообще я не очень понял твою задачу. Любой из этих протоколов на андройде играет vlc.
Нужно добавить функциональность воспроизведения потокового видео в мобильное приложение.
Основная проблема в вещающем софте.
Тебе нужен софт, который будет брать твой Progressive Streaming и вещать его в какой-то другой формат или ты можешь выбрать любой входной формат?
Сервер свой. Пока только начал изучать тему. Еще раз спасибо за подробный ответ!
Уточни постановку задачи. Не все мобильные устройства поддерживают все форматы потокового видео. Стриминг тоже бывает разный - ты можешь стримить конечный файл заранее известной длины, а можешь транслировать видео с камеры.Файла конечной длины нет. Может идти неограниченный по времени видео-поток как, например, с удаленной видеокамеры или как телевизионный канал.
Тебе надо написать клиента, сервер, или же просто проиграть какое-то видео?
Нужно написать (спроектировать) клиента. Ну и в общих чертах понять, как может быть организована работа на стороне сервера.
Немного поизучал тему, также склоняюсь к варианту HLS (HTTP Live Streaming).Ну тогда про поддержку андроида ниже 4-го можешь забыть. Там только rtsp, и то на сервере надо писать довольно много кода для совместимости с разными девайсами. Если очень надо, придётся подключать какую-нибудь стороннюю либу через NDK - тоже геморрой тот ещё.
...
Файла конечной длины нет. Может идти неограниченный по времени видео-поток как, например, с удаленной видеокамеры или как телевизионный канал.
streaming-ru. Там есть люди, которые такими вещами зарабатывают на жизнь и собаку съели на этом, как автор стримингового сервера erlyvideo Макс Лапшин.
Попробуй задать вопрос в Ну тогда про поддержку андроида ниже 4-го можешь забыть.С помощью плагина vitamio можно. Только что попробовал — все работает! Правда требуется дополнительно устанавливать этот плагин при первом запуске приложения. Но плагин легкий, поэтому установка занимает около 10-20 секунд при обычном интернете.
Есть другие подходы к решению этой проблемы. На StackOverflow программист рассказывает, что они сами все успешно написали с использованием библиотек ffmpeg.
Попробуй задать вопрос в streaming-ru.Спасибо за ссылку! На уровне прототипа задача уже более-менее решена, в дальнейшем, конечно, придется копать детали.
можно его использовать и сделать нужно будет по сути только оболочку)
Для потокового видео на уровне протипа всё просто по сравнению с огромным кол-вом деталей. У нас сервер для стриминга в ртсп и hls целый отдел пилит и допиливает уже не первый год. Хотя вопрос конечно на сколько массовое будет использование.
Есть другие подходы к решению этой проблемы. На StackOverflow программист рассказывает, что они сами все успешно написали с использованием библиотек ffmpeg.Это и есть "через NDK"
С помощью плагина vitamio можно. Только что попробовал — все работает!У этого плагина ещё не так давно был замечательный баг - он удалял видеофайлы с sd-карточки. Как сейчас, не в курсе.
upd:
Что нового
* Fix bugs of deleting video files randomly from sdcard. Sorry for this ugly bug.
vlc открыт и все что нужно поддерживает.он через ffmpeg играет, один фиг NDK использовать
можно его использовать и сделать нужно будет по сути только оболочку)
Для потокового видео на уровне протипа всё просто по сравнению с огромным кол-вом деталей.О да. И главная деталь - аппаратное ускорение, которое недоступно из ffmpeg
как уже заметили, на Андроиде HLS не работает. RTSP можно настроить, но это адский гемор.
Оставить комментарий
nikola1956
Никогда не сталкивался с этой узкой темой, поэтому прошу помочь оценить сложность задачи.Имеется какой-нибудь видео-канал. Например, этот: (взял его, так как доступен мне без ввода логина-пароля). На компе такое потоковое видео несложно воспроизвести, например, с помощью VLC-плеера. Возникает аналогичная задачка для мобильного устройства (Android или iOS). Насколько сложно ее решить, есть ли готовый функционал в соответствующих фреймворках?
Беглое гугление говорит о трех технологиях воспроизведения потокового видео:
(1) Progressive Streaming — самая простая и примитивная
(2) Live Streaming (m3u8-файлы, создана Apple)
(3) RTSP (Real Time Streaming Protocol)
Есть ли для этих технологий готовый код, открытые проекты и т.п.?