0

サーバーから Android に mjpeg ライブ ビデオ ストリームを取得しようとしています。この回答を読みました。非常に役に立ちます。このデモ URL で動作します。しかし、私のビデオ ストリームでは、ユーザー名とパスワードを要求します。

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

サーバーリンクを開くたびにWebブラウザーのように..「パスワード」と「ユーザー名」を要求します。このread()のどこにパラメーターを配置するのですか? また、ライブ ビデオがH.264 形式かどうかも知りたい です。では、どうすればそれをMJPEG 形式に変換できますか?また、その速度は非常に遅く、スムーズではありません。改善するにはどうすればよいですか?

前もって感謝します!!

4

2 に答える 2

1

ウェブカメラはパスワードで保護されているため、ログインを求められます。通常、Web カメラでは、URL の一部としてユーザー名とパスワードを渡す必要があります。例えば。username:password@ip.address.or.dyndns.com:8085/folder/stream.jpg?size=large 末尾の数字はポート番号です。

于 2013-09-04T06:44:37.227 に答える
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();
    }
于 2013-12-12T15:35:35.083 に答える