【问题标题】:Live stream RTMP/RTSP player without using webview (WOWZA server) on Android直播 RTMP/RTSP 播放器,无需在 Android 上使用 webview(WOWZA 服务器)
【发布时间】:2013-12-20 10:28:53
【问题描述】:

我正在开发一个 Android 应用程序,我想在其中发布和流式传输视频...

我想要的是:

  1. 我的应用录制了一段视频,并将该视频发送到服务器

  2. 录制的视频将同时流式传输到另一台 Android 设备..

我已经使用javac and ffmpeg 完成了第一个任务。我被困在第二个任务中。我已经搜索了很多从服务器流式传输视频,但我没有成功。我不想使用 WebView 并在其中播放视频。我想要一个 RTMP 播放器。此任务已在 iOS 中完成......我希望在 Android 中也一样。有什么链接可以完成我的任务?

附:

我正在使用 wowza 服务器 和 RTMP 流。我想流式传输 RTMP 视频 (.flv)...如果没有可用的解决方案,我想切换到 RTSP,为此还需要一个工作链接。

现在我已经切换到 RTSP 播放器 [with wowza server],因为我没有找到没有 webview 的 RTMP 播放器。我该如何解决这个问题?

【问题讨论】:

  • 我对 RTSP 服务器有疑问。你是在使用一些免费的服务器还是你有自己的。如果是我们自己的服务器,请给我一些有关它的信息。它是像 Http 一样的普通服务器吗?我们是否需要在服务器端编写服务来监听流?请在这里指导我
  • 我们使用了wowza server
  • @SweetWisherツ有一个简单的问题,我正在尝试使用与您尝试过的相同的问题walking-productions.com/notslop/2013/01/16/… 有时会崩溃...延迟较高。你是如何设法解决这个问题的?请回复...
  • 如果您还没有准备好使用 Wowza,您可以使用red5pro.com,它提供了适用于 Android 和 iOS 的 SDK。

标签: android video ffmpeg rtsp wowza


【解决方案1】:

如果没有其他选择,可以使用spydroid-ipcamera,这是一个开源项目。它是您要求的替代方案。我已经检查过了,它提供了实时视频处理。

【讨论】:

  • 我们在使用 live 555 方面取得了很大的成功,现在我们的目标是 IOS,但 live 555 非常便携,我们希望能够轻松移植到 Android。我建议看看它。基本上你可以使用 android 从摄像头捕获帧,然后将它们传递给 h264descreteFramer 和 rtpSink,这两个都是可用的 live 555 类。
  • 我不想从安卓设备上截取视频,我想将视频从 wowza 服务器直播到安卓设备
【解决方案2】:

我正在使用Adobe AIR 播放 RTMP,非常棒。我找到了答案here;看代码:

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);
    }
}

【讨论】:

  • 感谢您的回答,但正如我所说,我现在无法切换到 Adob​​e AIR.. :(
  • Anas 是否有任何用于在 android 中实现它的 Android SDK 设置提供一些参考链接,如果你有..
  • @Lucky 很抱歉,我没有,我使用的是 Adob​​e Air 而不是 Android Java。
  • @/anas: 这使得它对 android 毫无用处,不是吗?
  • @anas 糟糕,我的印象是 Adob​​e 放弃了支持。应该在发表评论之前用谷歌搜索。
【解决方案3】:

您可以通过 Vitamio Lib 轻松完成。 Vitamio 可以在 Android 和 iOS 中播放 720p/1080p HD、mp4、mkv、m4v、mov、flv、avi、rmvb、rm、ts、tp 和许多其他视频格式。 Vitamio 支持几乎所有流行的流媒体协议,包括 HLS (m3u8)、MMS、RTSP、RTMP 和 HTTP。

here 下载 Vitamio Bundle。

还有来自here的演示。

来自here的教程。

【讨论】:

  • 我正在通过link发送直播。它包括 FFMPEG 库。现在,我在我的项目中集成了这个 VITAMIO 库,但我收到了这个错误link
  • 请注意,Vitamio 的标准版仅限十二个月vitamio.org/en/License
  • Vitamio for Android 现已弃用
  • @Ameer 如果不推荐使用 Vitamio,现在应该使用什么?
  • Perharps ExoPlayer for Android ,它得到了社区的大力支持,它也得到了谷歌的支持,并具有出色的 API 架构。 #exoplayer #android
猜你喜欢
  • 2015-12-30
  • 2012-05-31
  • 2014-11-16
  • 1970-01-01
  • 2013-07-28
  • 1970-01-01
  • 2014-10-05
  • 1970-01-01
相关资源
最近更新 更多