Android:如何将 rtmp 流地址发送到外部视频播放器(例如 MX 播放器)

Posted

技术标签:

【中文标题】Android:如何将 rtmp 流地址发送到外部视频播放器(例如 MX 播放器)【英文标题】:Android: how to send a rtmp stream address to an external videoplayer (e.g. MX player) 【发布时间】:2012-01-29 21:45:42 【问题描述】:

如我的问题所述,如何将 rtmp 流地址发送到外部媒体播放器?

Mx Player 能够播放我的流,但我无法将地址发送给它。 我试过这个:

    String videoUrl = "rtmp://mystream";
    Intent i = new Intent(android.content.Intent.ACTION_VIEW);
    i.setDataAndType(Uri.parse(videoUrl), "video/*");
    startActivity(i);

但它只适用于在线视频,我的 rtmp 给我一个应用程序错误。

【问题讨论】:

【参考方案1】:

MX Video Player 不支持方案rtmp 和MIME 类型video/* 的组合。要成功使用它打开 RTMP URI,请按如下方式更改您的代码。

String videoUrl = "rtmp://mystream";
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setData(Uri.parse(videoUrl));
startActivity(i);

仅此方案就足以让 MX Video Player 捕获Intent

【讨论】:

问题。如果我要引用 UDP 流,那么正确的 URI 是什么,为了简单起见,端口 6000 上的地址为 192.168.0.6。它会是“udp://192.168.0.6:6000”吗?跨度> 【参考方案2】:

你在那里写的东西行不通,Android 上没有对 RTMP 流的原生支持。

但是,您可以使用 RTSP,因为它从 API 级别 1 开始就受支持。

如果你还想使用 RTMP,可以试试这个外部库:http://code.google.com/p/android-rtmp-client/

【讨论】:

以上是关于Android:如何将 rtmp 流地址发送到外部视频播放器(例如 MX 播放器)的主要内容,如果未能解决你的问题,请参考以下文章

从 Wowza 到 iOS 的 RTMP 直播

Android 音视频深入 十七 FFmpeg 获取RTMP流保存为flv (附源码下载)

使用nginx-rtmp-module 部署了一个rtmp服务, 但是推流地址只有一个,我如何才能有多个推流地址

通过 RTP 流式传输,RTMP 播放质量问题

Linux下使用FFmpeg将RTMP流转换为HLS

如何确保来自不同 Android 设备的 RTMP 流具有相同的 SPS/PPS?