Live stream videos android

Live stream videos android

IMPORTANT NOTICE: Before downloading the application, please open your device ‘Settings’ application, search for ‘Security’ option then check in ‘Unknown sources’.

Live Stream Player — The best media player for watching live stream on the Internet. Live Stream Plaayer support most available streaming protocols as well as most media format.
— NEW FEATURE: Themes support ! You can download a new very beautiful Christmas & New Year theme.
— THE MOST A WANTED FEATURE: Casting video stream to Chromecast.
— NEW FEATURE: Set alarm on specific stream. Your device will wake you up on scheduled time.
— NEW FEATURE: Suppport UMS protocol !
— EXCLUSIVE FEATURE: LIVE BROADCASTING TO THE WORLD USING YOUR PHONE CAMERA (*).
— EXCLUSIVE FEATURE: RECORD LIVE STREAM IN REALTIME WITHOUT QUALITY LOSS (*).
— Supported streaming protocols: HTTP Progressive Streaming, Apple HTTP Live Streaming, RTMP — RTMPS — RTMPE with connection parameters, Real RTSP, Windows Media RTSP, MMS, MMSH, RTP.
— Supported media codecs: H264, MP3, AAC, WMV, WMA, FLV, VP6, MP4.
— Supported media containers: MKV, AVI, MOV, MP4, MP3, AAC.
— Play media stream directly inside your browser.
— Search for live stream on the internet. You can find almost any TV channel in the world within the application.
— Create and share your own stream with friends.
— Manage favorite streams.
— Hardware Assisted decoding on all android version.
— Fully Hardware decoding on android 4.1 and onward.
* NOTE:
— Broadcasting feature requires permission to access your phone camera and microphone.
— Recording feature requires permission to write to SD-CARD. Recorded video can be transferred easily to computer via USB Mass Store Drive.
— Set alarm feature requires alarm permission and wake lock to wake up your device on specified time.
— The application is ads supported. Clicking on the ads will not only remove ads during that session but also support our development. Thank you

Сообщение отредактировал qq1978 — 10.04.19, 15:10

Источник

Потоковое видео в Android

В этой заметке я хочу рассказать о некоторых подводных камнях, с которыми можно столкнуться при работе с потоковым видео в Android приложениях. Конкретно, речь пойдёт о конвертации видео и протоколах доставки/воспроизведения видео.
Сразу оговорюсь, что экспертом я в данной области не являюсь, а лишь хочу поделится недавно полученным опытом.

Представим, что перед вами стоит задача реализовать Android приложение, способное проигрывать множество файлов, заливаемых пользователями на ваш сервер. Написать свой youtube, с блекджеком и кодеками. Для этого вам придётся решить как минимум две задачи: конвертации видео к поддерживаемому на Android формате, воспроизведение видео с удалённого источника. Рассмотрим обе эти задачи более подробней.

Конвертация видео

И так, прежде чем воспроизвести какое-то видео нашем Android устройстве, надо это видео перекодировать в поддерживаемый формат. В документации к Android чётко обозначен список этих самых форматов.

Для того, что бы перекодировать файлы, заливаемые пользователями на ваш сервис, или же записать поток с TV-тюнера, вам потребуется помощь специальной утилиты ffmpeg, являющейся де-факто стандартом в отрасли. Подробную инструкцию по её установке можно найти на сайте одноимённого проекта.

Наиболее распространённым сейчас (на мой взгляд) способом хранения видео является контейнер MP4 с использованием кодека H.264 AVC. Их мы, собственно, и рассмотрим.

Первым делом обратите внимание, что Android поддерживает не все возможности кодека H.264, а только определённый набор — профиль, именуемый Baseline Profile(BP). Так, например, в BP не входят такие полезные фичи H.264 как CABAC или B-Frames.

Для нас это значит, что если мы будем использовать эти фичи при кодировании видео, то Android проигрывать это видео будет не обязан. Хотя и может, если ваш телефон достаточно мощный и вендор позаботился об установке и поддержке дополнительных кодеков. Так, например, видео в Main Profile без проблем проигрывается на Samsung Galaxy SII. На телефонах же обычного класса (например, Samsung Galaxy Ace) мы получим сообщение о невозможности воспроизведения видео и ошибку с кодом неверного кодека в logcat‘е.

Читайте также:  Общие notes для android

Но перейдём от теории к практике. Для того, что бы пережать видео, необходимо выполнить следующую команду:

ffmpeg -i in.3gp -f mp4
-vcodec libx264 -vprofile baseline -b:v 1500K
-acodec libfaac -b:a 128k -ar 44100 -ac 2
-y out.mp4

Рассмотрим подробнее каждый из параметров:

  • -i src входной (перекодируемый) файл;
  • -f mp4 используемый видеоконтейнер;
  • -vcodec libx264 используемый видеокодек;
  • -vprofile baseline используемый профиль;
  • -b:v 1500K bitrate;
  • -acodec libfaac используемый аудиокодек;
  • -b:a 128k аудио bitrate;
  • -ar 44100 частота звука;
  • -ac 2 количество аудиопотоков;
  • -y флаг перезаписи выходного файла;

Так же стоит отметить, что можно обойтись и без указания профиля, а явно включить/отключить нужные опции кодека H.264 через параметр -x264opts, так что бы они удовлетворяли условиям BP. Но это же занятие для любителей.

Раздача видео

Самый простой способ воспроизвести видео с удалённого сервера — это скачать его во временное хранилище и воспроизвести локально. Однако, думаю всем понятно, что в виду размеров современных видеозаписей — это не вариант.

Как же быть? Платформа Android предлагает нам нативную поддержку следующих технологий/протоколов:

  • HTTP/HTTPS progressive streaming;
  • HTTP/HTTPS live streaming;
  • RTSP (RTP, SDP);

Рассмотрим их по порядку.

Progressive streaming

Наиболее простой способ раздачи видео с помощью обычного web-сервера, сводящийся по сути к скачиванию заранее подготовленного файла по HTTP(S) протоколу. Вся соль в данном случае заключается в том, что воспроизведение файла начинается не по окончанию загрузки, а как только будет скачано достаточно данных (наполнен некоторый буфер).

Тут стоит уточнить, что при использовании контейнера MP4, необходимо сформировать файл так, что бы метаданные о видео потоке (moov atoms) располагались в начале файла (после атома ftyp), перед видеоданными (mdat atoms). Сделать это можно с помощью обработки файла утилитой qt-faststart:

Основной проблемой progressive streaming‘а является невозможность перемотки видео к нескачанному моменту, наличие достаточного количества свободного места на устройстве и необходимость поддержки большого числа «толстых» клиентов, скачивающих видео, на web-сервере.

Воспроизведение с помощью данной технологии поддерживается платформой Android нативно. Вы без проблем (если не считать канал связи, мощность девайса и наличие свободного места) сможете проиграть удалённый файл с помощью стандартного класса MediaPlayer.

Pseudo streaming

Данная технология является логическим расширением progressive streaming‘a и позволяет решить одну из его главных проблем — перемотки к ещё не скачанному фрагменту. Применима для контейнеров MP4/FLV с кодеком H.264/AAC.

Единственным отличием от progressive streaming‘a в данным случае является, тот факт, что вам потребуется специальный web-сервер, который с учётом временной метки в GET-запросе будет отдавать нужный вам фрагмент видео файла. Примером такого web-сервера естественно может служить православный NGINX с его ngx_http_mp4_module.

Мне не удалось найти какой-либо официальной информации относительно поддержки данного стандарта в Android. Однако, эмперическим путём было установлено, что она присутствует как минимум на устройствах HTC Desire и Samsung Galaxy SII. Однако, хочу обратить внимание, что да же в случае отсутствия нативной поддержки на вашем устройстве всегда можно воспользоваться сторонними плеерами типа MX Player, которые самостоятельно реализуют логику скачки и воспроизведения фрагментов видео с нужной временной меткой, что позволяет организовать перемотку.

Live streaming

Довольно нестандартный протокол передачи данных от компании Apple. Суть его сводится к тому, что раздаваемый файл «пилится» на множество небольших частей, объединяемых спецтальным файлом-playlist’ом формата M3U8. Передача данных происходит по протоколу HTTP(S).

Ни каких проблем с перемоткой и свободным местом на устройстве в данном случае не возникает. Более того, при некоторых условиях у вас появляется возможность выбирать качество проигрываемого видео.

Однако, появляются и проблемы. Для «распила» файла и создания playlist’а потребуется ресурсы процессора, время и место на сервере. Для вещания файла в сеть, как и в предыдущих примерах, потребуется HTTP сервер (без каких-либо дополнительных модулей).

«Распилить» видео файл можно использовать VLC:

Воспроизвести такой файл можно по URL localhost/pornofilm.m3u8.

Поддержка HTTP Live Streaming на нативном уровне в Android присутствует начиная с версии 3.0. С помощью сторонних плееров (DicePlayer, MX Player), судя по wiki, можно добиться поддержки с версии 2.2.

Читайте также:  Android очистка памяти другое

Real Time Streaming Protocol (RTSP)

Протокол прикладного уровня с поддержкой состояния, разработанный специально для передачи видео. Формат команд очень напоминает HTTP. Сами же команды напоминают кнопки на обычном кассетном магнитофоне: PLAY, PAUSE, RECORD и т.д.

В отличие от HTTP Live Streaming RTSP не требует разбиения фалов на мелкие части и составления playlist’ов. Нужные части файла будут генерироваться и отдаваться клиенту налету. В качестве RTSP сервера можно использовать VLC.

Стоит заметить, что сам протокол RTSP не определяет способ передачи данных, а делегирует это другим протоколам. Например, RTP. Для вещания файла по протоколу RTP нужно будет запустить VLC со следующими параметрами:

Однако, поднимать для каждого файла свой процесс с отдельным портом вне зависимости от наличия пользователей, желающих его просмотреть, было бы глупо.

Поэтому вернёмся к протоколу RTSP и воспроизведению видео по требованию (Vidoe On Demand). Для того, что бы использовать VLC в качестве RTSP сервера для проигрывания VOD необходимо прежде всего запустить VLC, указав атрибуты RTSP сервера и Telnet интерфейса:

vlc -vvv -I telnet —telnet-password 123 —rtsp-host 127.0.0.1 —rtsp-port 5554

После этого как сервер запущен, необходимо произвести его настройку. Делать это удобнее всего с помощью telnet‘a, так как такой подход даёт возможность настройки налету:

setup porno input /path/to/pornofilm.mpg

Для воспроизведения видео (в том числе и на платформе Android) необходимо запросить его по URL rtsp://localhost:5554/pornofilm.

Из недостатков можно отметить тот факт, что HTTP открыт зачастую на всех firewall’ах и проксях… с RTSP в случае политики Deny,Allow всё иначе.

Кроме того, при использовании RTSP-сервера для добавления/удаления файлов на сервере придётся обновлять его конфигурацию (список vod’ов). Да, для этого есть telnet, но это всё равно сложнее, чем просто заливать или удалять файлы из каталогов web-сервера.

Воспроизведение с помощью данной технологии поддерживается платформой Android нативно. Например, с помощью всё того же стандартного класса MediaPlayer.

Multicast

Многие считают, что multicast не работает в Android. Это не совсем так.

Во первых, в большинстве случаев он просто отключен по умлочанию, что бы не грузить ресурсы девайса лишней работой. Его можно просто включить.

Во вторых, да — на довольно внушительном количестве устройств он отключен во все или работает некорректно. В интернетах, поэтому поводу можно найти много слёз и даже некоторые решения.

Однако, как показывает практика, проигрывать multicast видео на Android всё можно. В моём случае с этой задачей удачно справился недавно вышедший VLC Beta для Android.

Кроме того с помощью VLC-сервера всегда можно свести воспроизведение multicast‘a к HLS:

new multicast-porno vod enabled

setup multicast-porno input udp://@192.168.20.1:1234

Попытать удачу с проигрыванием multicast’a на вашем устройстве вы можете, передав плееру URL вида udp://@192.168.20.1:1234.

Что выбрать

Если с форматом видео всё ясно (H.264 BP / MP4), то со спобом дистрибуции вопрос открыт. У каждого их них есть свои достоинства и недостатки.

Первым делом из рассмотрения я бы убрал обычный progressive streaming. Да он работает всегда и везде, но отсутствие перемотки и загрузка всего файла целиком — это уже слишком.

Следующим кандидатом на вылет является live streaming. Главным его недостатком является нативная поддержка в Android начиная с версии 3.0. А игнорирование более 80% пользователей c версией 2.x — не вариант. Хотя тут можно посмотреть на сторонний плеер, или заняться собственной реализацией (свободных наработок для поддержки HLS я, увы, не нашёл).

И последним я бы вычеркнул RTSP. Да, это протокол, разработанный специально для видео. Да, его использование идейно верно. Но есть два момента. Во первых — необходимо постоянно обновлять конфигурацию сервера. Во вторых, HTTP открыт всегда и везде, чего нельзя сказать о RTSP/RTP.

Лично я бы остановился на pseudo streaming. Он позволяет осуществлять перемотку и при этом не скачивать весь файл полностью. От нас требуется только немного донастроить web-сервер.

Источник

Live stream videos android

Прошли те времена, когда игровой стриминг был доступен только для настольных компьютеров. В настоящее время геймеры транслируют свои игровые видео со своих смартфонов Android. В магазине Google Play доступно множество высококачественных приложений для Android, которые позволяют пользователям транслировать игровые видео на нескольких платформах.

Читайте также:  Сменить поисковую систему android

Итак, если вы ищете лучшее приложение для Android, чтобы транслировать впечатляющий игровой процесс, тогда эта статья для вас. В этой статье мы собрали некоторые из лучших приложений для потокового вещания игр на смартфонах Android. С помощью этих приложений вы можете легко транслировать свои любимые игры без каких-либо дополнительных затрат.

Стоит отметить, что в Google Play Маркет доступно множество приложений для потоковой передачи в реальном времени, но этот список ориентирован только на приложения, которые специализируются на играх. Итак, давайте изучим список лучших Android приложений для потоковой передачи игровых видео.

1. StreamCraft

StreamCraft недоступен в магазине Google Play, но это не значит, что это не подходящее приложение. Это одно из лучших Android приложений для геймеров, которые ищут приложение для потоковой передачи своих игровых видео. Со StreamCraft вы можете транслировать свои игровые видео и получать награды. Это также платформа, где любой может провести конкурс или принять участие, чтобы выиграть реальные деньги.

2. Omlet Arcade

Если вы ищете Android приложение для трансляции игровых видео на нескольких платформах, таких как Facebook, YouTube, Twitch и т. д., тогда вам необходимо попробовать Omlet Arcade. Отличительной чертой Omlet Arcade является то, что приложение бесплатное и поддерживает широкий спектр мобильных игр. Однако бесплатная версия Omlet Arcade снижает качество видео при потоковой передаче.

3. Streamlabs

Если вы создатель видео или стример, Streamlabs может быть лучшим приложением для вас. Приложение позволяет вам начать работу всего несколькими нажатиями. Хорошая вещь в Streamlabs – это растущая база пользователей. Также Streamlabs позволяет добавлять фильтры и видеоэффекты в игровые видео, дополнительно улучшая качество.

4. Nexplay

Nexplay – это сама по себе потоковая платформа, поэтому она позволяет пользователям транслировать свои игровые видео только на своей платформе. Хотя платформа не так популярна, как Twitch и YouTube, у нее есть целевая база пользователей. Если вы не хотите транслировать, вы можете смотреть прямые трансляции с различных турниров со всего мира.

5. Mobizen прямая трансляция для YouTube

Mobizen прямая трансляция для YouTube позволяет пользователям транслировать в формате 1080p со скоростью 60 кадров в секунду. Mobizen также позволяет пользователям включать/выключать фронтальную камеру и скрывать чат во время потоковой передачи. Однако имейте в виду, что Mobizen Live Stream позволяет пользователям транслировать только на Youtube.

6. Ustream

Ustream – одно из тех замечательных приложений для Android, которое позволяет смотреть видео в прямом эфире и вести прямую трансляцию на вашем телефоне или планшете. С помощью этого приложения вы можете смотреть видео в реальном времени, узнавать о предстоящих событиях и т. д. Вы также можете вести прямую трансляцию для любого количества зрителей с помощью камеры вашего мобильного устройства.

7. Twitch

Twitch – это платформа, которая позволяет транслировать собственный игровой контент. По сути, это платформа для геймеров, позволяющая наблюдать за игровым процессом. Кроме того, Twitch также позволяет вам общаться в чате, когда вы смотрите, как геймеры играют в игры.

8. Nimo TV – Live Game Streaming

Что ж, если вы ищете приложение для Android, чтобы воспроизводить и транслировать свои игровые видео другим единомышленникам, то Nimo TV – Live Game Streaming может быть лучшим выбором для вас. Приложение служит глобальной платформой для миллионов геймеров, чтобы они могли продемонстрировать свои игровые таланты. Аудитория поддерживает платформу, смотрит, комментирует и критикует игровые видео игроков.

9. SGETHER Studio

SGETHER Studio предназначена для тех, кто искал приложение для Android, чтобы транслировать экран телефона. Приложение поддерживает широкий спектр игр, включая ролевые игры, шутеры от первого лица и стратегические симуляторы. В SGETHER Studio вам необходимо создать свой канал для прямой трансляции игровых видео. Уникальные игровые видеоролики помогут расширить ваш канал и стать популярным стримером.

10. StreamElements

StreamElements – это приложение, которое помогает транслировать игровые видео в прямом эфире с мобильного устройства. Вы можете транслировать прямо на YouTube или Twitch со своего телефона или планшета. Более того, StreamElements также позволяет вам взаимодействовать с подписчиками и управлять своими трансляциями.

Итак, это лучшие приложения для игрового стриминга на Android. Если вам известны другие подобные приложения, сообщите нам об этом в поле для комментариев.

Источник

Оцените статью