繁体   English   中英

从服务器到Android的实时mjpeg视频流

[英]Live mjpeg video stream from server to android

我正在尝试从服务器到android提取mjpeg实时视频流。我读了答案。它对我很有帮助。它与演示网址配合使用。但是,在我的视频流中它要求用户名和密码。

要将网址设置为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;
}

就像在网络浏览器中一样,每当我打开服务器链接时,它都会要求输入“ password”和“ username”。因此在此read()中将参数放在哪里? 并且还想知道我的实时视频是否为H.264格式。 那我怎么能把它转换成MJPEG格式呢?它的速度很慢而且不流畅,如何改善呢?

提前致谢!!

由于网络摄像头受密码保护,因此提示您登录。 通常,使用网络摄像头时,您必须将用户名和密码作为URL的一部分传递。 例如。 username:password@ip.address.or.dyndns.com:8085 / folder / stream.jpg?size = large其中末尾的数字为端口号。

已经有一段时间了...但是要登录:

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();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM