【问题标题】:Best way to build a RTSP client on Android在 Android 上构建 RTSP 客户端的最佳方法
【发布时间】:2017-03-13 14:18:58
【问题描述】:

我正在寻找一种在 Android 中制作 RTSP 客户端的方法。我只想将应用程序连接到 RTSP 服务器并进行通信以获取流(作为字节数组/缓冲区,不解码,不播放,仅获取字节流)。所以没有多合一的播放器建议或其他东西,只是一个 RTSP 访问客户端。我很惊讶 Android 支持 RTSP(请参阅 Supported Media Format),但没有提供 API 来管理 RTSP 访问(或者,我没有找到??)。所以这是我的第一个问题:

  • 我可以使用 Android 的 MediaPlayer API 将应用程序连接到 RTSP 服务器并在不解码/播放的情况下获取接收到的字节吗?

另一方面,我正在寻找适用于 Android(或纯 Java,但适用于 Android)的 RTSP 库/框架。第二个惊喜:什么都没有!或者......像libstreaming这样的一些东西,但它不再存在。所以这是我的第二个问题:

  • 是否有可用的 RTSP 库(或只是客户端库)?

第三个问题:

  • 我可以使用 FFmpeg RTSP 访问来做到这一点吗?如何? (我需要所有 FFmpeg 依赖项吗?)

感谢您的建议

【问题讨论】:

  • 据我所知,libstreaming 非常活跃,最近才切换到 Apache 许可证。

标签: android android-mediaplayer rtsp


【解决方案1】:

FFmpeg 或Live555(由 VLC 使用)是您最好的选择。如果您确实确定不需要解码,请使用 Live555,因为它会更轻量级 - 以与源代码捆绑在一起的“openRTSP”示例客户端为例,它应该包含您需要的内容构建一个 RTSP 客户端。

【讨论】:

  • 感谢您的回答,我终于决定使用 FFmpeg,因为我的项目中已经有了这个依赖项(我的问题中没有告诉它,否则答案是“所以使用 FFmpeg!”^^ )。
  • 我正在尝试在 Android N 和 Android O 上使用 ffmpeg,但它没有启动流。不知道我做错了什么。这是我第一次尝试通过通过我的 android WiFi 热点连接的 IP 摄像头流式传输视频。此外,该相机是市场上的通用相机。我尝试了很多其他论坛来解决问题,但没有用。非常感谢任何帮助。
  • @N0un,您是如何设法将 FFmpeg 包含在 Android 项目中的?
  • @eskalera 有一些不同的方法可以做到这一点,这主要取决于您当前的项目架构:例如,您可以使用 NDK、JNI 或强大的 JavaCPP 库。
猜你喜欢
  • 1970-01-01
  • 2012-08-23
  • 1970-01-01
  • 1970-01-01
  • 2014-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-02
相关资源
最近更新 更多