安卓中带有用户名和密码的java RTSP流
我的任务是在安卓系统中创建一个安卓应用程序来检查城市的一些IP摄像头。使用现有的RTSPurlrtsp://admin:pms7112@xxx。xx。xx。xxx:554/cam/realmonitor?通道=1&;subtype=0我可以在VLC player中获得流,但在安卓中没有运气。我试过videoview原生播放器和media player
几乎所有的解决方案都给了我
MediaPlayer: setDataSource IOException happend : java.io.FileNotFoundException: No content provider: rtsp://...
这个问题是否应该因为用户名和密码在string
中而发生?如何将用户名和密码添加为查询string
编辑
Mediaplayer版本
MediaPlayer=新的MediaPlayer()
try
{
mediaPlayer.setDataSource("rtsp://admin:pms7112@iphere:554/cam/realmonitor?channel=1&subtype=0");
mediaPlayer.prepare();
mediaPlayer.start();
}
catch (IOException ex)
{
ex.printStackTrace();
}
更新:
所以看来这是我唯一能使用url的方法。。。我无法以其他方式对用户进行身份验证。该公司拥有的相机和设置的城市不允许我们使用其他格式。他们说,vlc浏览器插件玩得很好,他们不会改变任何事情。。。那么有没有实现rtsp流认证的库呢。我听说客户端和服务器之间进行了握手
# 1 楼答案
我建议使用这个库,它的播放时间限制为2分钟,但出于我的目的,这不是问题
https://github.com/VideoExpertsGroup/MediaPlayerSDK
我已经测试了多个android LIB,这一个似乎在android中效果最好。我测试过的其他一些设备在播放时会出现波动或延迟。还有一个测试应用程序,你可以确认它将与你的流工作
https://play.google.com/store/apps/details?id=org.rtspplr.app