Прямой эфир RTMP / RTSP плеер без использования webview (Wowza server) на Android

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

чего я хочу, так это:

  1. мое приложение записывает видео и это видео отправляется на сервер

  2. записанного видео будет транслироваться в прямом эфире на другое устройство Android в то же время..

Я выполнил первую задачу, используя javac и ffmpeg. Я застрял во втором задании. У меня есть много искал, чтобы транслировать видео с сервера, но мне это не удалось. Я!--17-->не хочу использовать WebView и воспроизвести видео в нем. Я!--17-->хочу RTMP-плеер. Эта задача была выполнена в iOS... Я хочу то же самое для Android. Что такое какая-то ссылка для выполнения моей задачи?

П. С.:

Я использую сервер wowza и RTMP поток. Я хотел бы транслировать RTMP-видео (.формат FLV.).. Если решение недоступно, я хотел бы переключиться на RTSP и для этого также нужна рабочая ссылка на последующей..

теперь я переключился на RTSP player [с сервером wowza] поскольку я не нашел RTMP-плеер без webview. Как исправить эту проблему?

6 ответов


вы можете легко сделать это через Vitamio Lib. Vitamio может воспроизводить 720p / 1080p HD, mp4, mkv, m4v, mov, flv, avi, rmvb, rm, ts, tp и многие другие видеоформаты в Android и iOS. Почти все популярные протоколы потоковой передачи поддерживаются Vitamio, включая HLS (m3u8), MMS, RTSP, RTMP и HTTP.

скачать Vitamio Bundle из здесь.

и демо от здесь.

учебное пособие здесь.


Я использую Adobe AIR играть RTMP, и это потрясающе. Я нашел ответ здесь; код:

function init_RTMP():void
{
    streamID  = "RT_2";
    videoURL = "rtmp://fms5.visionip.tv/live/RT_2";

    vid = new Video();

    nc = new NetConnection();
    nc.addEventListener(NetStatusEvent.NET_STATUS, onConnectionStatus);
    nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
    nc.connect(videoURL);
}

private function onConnectionStatus(e:NetStatusEvent):void
{
    if (e.info.code == "NetConnection.Connect.Success")
    {
        trace("Creating NetStream");
        netStreamObj = new NetStream(nc);

        metaListener = new Object();
        metaListener.onMetaData = received_Meta;
        netStreamObj.client = metaListener;

        netStreamObj.play(streamID);
        vid.attachNetStream(netStreamObj);
        addChild(vid);
    }
}

Если у вас нет других вариантов, вы можете использовать spydroid-ipcamera, которая является проектом с открытым исходным кодом. Это альтернатива вашим требованиям. Я проверил его, и он обеспечивает live video treaming.


вы можете попробовать использовать Adobe AIR, который может тривиально играть rtmp, и deplay приложение AIR для Android.

развертывание приложения AIR на Android: http://help.adobe.com/en_US/air/build/WSfffb011ac560372f-5d0f4f25128cc9cd0cb-8000.html


используйте Vitamio проверьте этот проект

https://github.com/minagabriel/VitamioDemoAndroidStudio.git


Я использовал libVLC в одном из моих приложений, и работает хорошо. https://github.com/mrmaffen/vlc-android-sdk