【发布时间】:2017-07-23 05:33:39
【问题描述】:
我的任务是在 android 中创建一个 android 应用程序来检查城市的一些 IP 摄像机。使用现有的 RTSP 网址,即 rtsp://admin:pms7112@xxx.xx.xx.xxx:554/cam/realmonitor?channel=1&subtype=0 我可以在 VLC 播放器中获取流,但在 android 中没有运气。我试过 videoview 原生播放器和media player。
几乎每个解决方案都给了我
MediaPlayer:setDataSource IOException 发生: java.io.FileNotFoundException:没有内容提供者:rtsp://...
是否应该因为用户名和密码在string 中而出现此问题?您如何将用户名和密码添加为查询string?
编辑
媒体播放器版本
媒体播放器 mediaPlayer = new 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 流。我听说客户端和服务器之间进行了握手
【问题讨论】:
-
贴出setDataSource()的代码?
-
您确定您的流可以播放吗?例如,您是否在 VLC 中对其进行过测试?
-
是的,VLC 玩得很好
-
我很关心 url 的结构。还有其他方法可以发送用户名和密码吗?
-
@Coder 你正在使用这种格式 rtsp://[username[:password]@]ip_address[:rtsp_port]/server_URL[?param1=val1[¶m2=val2]...[¶mN= valN]]
标签: java android android-videoview rtsp ip-camera