gpt4 book ai didi

android - RTSP 1080p 直播安卓客户端报错 (100,0)

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:16:10 26 4
gpt4 key购买 nike

我的新监控摄像头刚到,所以我正在尝试编写一个应用程序来实时流式传输来自它的视频。

因为它基本上没有文档,所以我安装了“onvifer”安卓应用程序,它允许您浏览相机的功能。这个应用程序工作正常 - 获取视频并允许 PTZ 控制等。它将流媒体 url 报告为:

 rtsp://192.1.0.193:554/mpeg4

我在 VLC windows 客户端中测试了流,它也能够从该 URL 流式传输视频。这让我很放心,因为网络工作正常。

摄像头声明 Feed 为 1920x1080; VLC 证实了这一点。

我 Activity 中的基本代码:

VideoView videoView = (VideoView)this.findViewById(R.id.VideoView);
videoView.setVideoURI(Uri.parse("rtsp://192.1.0.193:554/mpeg4"));
videoView.requestFocus();
videoView.start();

我还在 AndroidManifest.xml 中授予应用程序 INTERNET 权限,禁用相机上的身份验证,并在真实设备(而非模拟器)上运行。

当我运行该应用程序时,LogCat 会立即显示:

setDataSource IOException happend :
java.io.FileNotFoundException: No content provider: rtsp://192.1.0.193:554/mpeg4
at android.content.ContentResolver.openTypedAssetFileDescriptor (ContentResolver.java).

大约 15 秒后,应用程序显示“无法播放此视频”模式对话框,并将其添加到 LogCat:

MediaPlayer      error (100, 0)
AudioSystem AudioFlinger server died!
MediaPlayer error (100, 0)
VideoView Error: 100,0

我用谷歌搜索了所有我能想到的东西,但没有找到任何有用的东西。

有什么想法吗?

最佳答案

在你的 logcat 和 RC=100 上进行疯狂猜测...没有 SDP 文件或没有用于协商流/container/codec/格式细节所需的“moov atom” block 的 RTSP 等效文件...您可以获得 mediaPlayer/videoView 的 AOSP 代码,并在源代码中获取 RC 值。

RTSP 很难调试(请注意工具链接)并且由于 UDP 问题不能保证在 NAT 网络中运行。因此,为了获得更好的结果,您可能需要考虑强制您的配置在 TCP 而不是 UDP 上执行数据通道。或者可能是其他问题,其中有很多。

如果你真的想调查,下面的一些可能的工具:

使用命令行和CURL client请求您的流:

Android - Java RTSP session 管理包 on Git

Protocol dumps用于到 Youtube RTSP/SDP 流的 CLI RTSP session

要解决这个问题,您可能需要使用调试工具深入了解在 MediaPlayer 实际开始播放流之前的协议(protocol)协商细节的调试工具。这将包括学习 RFP和协议(protocol)细节。

关于android - RTSP 1080p 直播安卓客户端报错 (100,0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25215724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com