我正在尝试将mjpeg实时视频流从服务器提取到android.I阅读this answer.it对我非常有用。它与this demo url.But一起工作,在我的视频流中它要求用户名和密码。
将url设置为MjpegView:
setContentView(mv);
mv.setSource(MjpegInputStream.read(URL));
MjpegInputStream:
public static MjpegInputStream read(String url) {
HttpResponse res;
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
res = httpclient.execute(new HttpGet(URI.create(url)));
return new MjpegInputStream(res.getEntity().getContent());
} catch (ClientProtocolException e) {
} catch (IOException e) {}
return null;
}
在网络浏览器中,每当我打开我的服务器链接时......要求'密码'和& “username'.so 在这个read()中放置params的位置?并且还想知道我的直播视频是否在 H.264 中 格式。那我怎么能把它转换成 MJPEG 格式呢?它的速度也很慢而且不平滑。如何改进呢?
先谢谢!!
答案 0 :(得分:1)
您被要求登录,因为网络摄像头受密码保护。通常使用网络摄像头,您必须将用户名和密码作为URL的一部分传递。例如。用户名:password@ip.address.or.dyndns.com:8085 / folder / stream.jpg?size = large,最后的数字是端口号。
答案 1 :(得分:0)
这是一段时间......但要登录:
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
HttpGet httpget2 = new HttpGet(url);
httpget2.addHeader("Authorization","Basic " + Base64.encodeToString((USERSTRING:PASSWORDSTRING).getBytes(),Base64.DEFAULT));
res = httpclient.execute(httpget2);
return new MjpegInputStream(res.getEntity().getContent());
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}