android - 带有摘要身份验证的android mediaplayer中的rtsp直播流

标签 android android-mediaplayer rtsp live-streaming digest-authentication

我需要一个 android 应用程序来使用带有摘要身份验证的 videoview 或媒体播放器实时流式传输 rtsp url。我不知道如何将摘要身份验证与 rtsp url 一起使用。是否可以在 mediaplayer 中使用摘要身份验证。任何帮助,将不胜感激。

最佳答案

目前它坏了,从我的角度来看这是一个主要问题,因为似乎也没有办法将流直接连接到 MediaPlayer(也就是说,有一些“垫片”为你工作,否则可能工作——这也将使在某些远程站点通过 SSL 连接的隧道 RTSP 成为可能,同时解决“全开视频”问题。)

问题在于,虽然 MediaPlayer 将针对 RTSP 请求发出摘要以进行身份​​验证,但它发送的内容已损坏——具体来说,它传回的 URI 末尾有一个 EXTRA SPACE:

 D13.Denninger.Net.51291 > 192.168.4.211.rtsp: Flags [P.], cksum 0x069b (correct), seq 166:526, ack 143, win 256, length 360: RTSP, length: 360
    DESCRIBE rtsp://192.168.4.211:554/cam/realmonitor?channel=1&subtype=0 RTSP/1.0
    Accept: application/sdp
    Authorization: Digest nonce="a2732278fba530ed26e2a278a866fa13", username="karl", uri="rtsp://192.168.4.211:554/cam/realmonitor?channel=1&subtype=0 ", response="311b3d4ea28e643ed0d7e61820d43588"
    User-Agent: stagefright/1.2 (Linux;Android 6.0)
    CSeq: 2

传递给 Android Mediaplayer 代码的实际 URI 中不存在该空格,导致身份验证失败。

有一个针对此问题的 AOSP 错误(我在上面的跟踪中提供了更多详细信息)但是直到并且除非 Google 修复它,否则唯一的选择是找到其他一些播放器(1)与 RTSP 一起工作并且(2)正确处理摘要身份验证或者 (2a) 可以附加到套接字,允许您远程或本地编写垫片来自己处理摘要工作。

我还没有找到一个,但如果有人解决了这个问题,我会喜欢一个指针。

关于android - 带有摘要身份验证的android mediaplayer中的rtsp直播流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46422491/

相关文章:

c# - 在 C# 中从 rtsp 获取图像

FFMPEG 在使用 rtsp-simple-server 降低 FPS 和通过 RTSP 流式传输时保持质量

php - 如何在 android 平板电脑中运行本地 php 文件?

java - 动态地将RelativeLayout子级添加到父级布局不起作用

android - 如何在 koin 中正确添加两个模块?

android - 在其他 Activity 中传递 Mediaplayer

android - 按下后退按钮时停止媒体播放器 MP3

带有图像和子文本的 Android GridView : Issue

java - 获取java.lang.IllegalStateException

android - 我可以在 Android 应用程序中使用 FFmpeg 的库吗?