【问题标题】:Receiving Kurento Media Server stream in Android WebView在 Android WebView 中接收 Kurento Media Server 流
【发布时间】:2016-01-27 16:22:42
【问题描述】:

我正在尝试 Kurento 一对多视频通话示例 (this one),其中 Raspberry Pi 使用 uv4l 将流发送到 KMS。我正在尝试使用 WebView 在 Android 应用程序上查看流。我使用自定义 WebViewClient 来避免 SSL 证书错误。但是,启用硬件加速时,会显示一个绿色矩形而不是视频,而禁用加速时,会显示一个旋转的轮子。但是,音频被正确接收。

Logcat 显示以下消息:

[WARNING:webrtcsession.cc(1719)] 候选人有未知组件:Cand[1:2:udp:2013266430:IP:PORT:local::0::] for content: audio

[WARNING:srtpfilter.cc(585)] SRTP数据包解除保护失败,err=9

[ERROR:channel.cc(666)] 无法取消保护视频 RTP 数据包: 大小=1133,seqnum=23250,SSRC=1884862060

我用于 WebView 的代码如下。

    WebView displayWebView = (WebView) rootView.findViewById(R.id.displayWebView);
    WebSettings webSettings = displayWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setUseWideViewPort(true);
    webSettings.setLoadWithOverviewMode(true);

    displayWebView.setWebViewClient(new CustomWebViewClient());

    displayWebView.loadUrl("https://IP:PORT/"); 

CustomWebViewClient 的代码如下。

private class CustomWebViewClient extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

    @Override
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
        Log.d(TAG, "Ignoring SSL certificate error...");
        handler.proceed();
    }
}

我在运行 Lollipop 的手机上测试了该应用。我想这与 WebView 有关。有什么帮助吗?

【问题讨论】:

  • 您找到解决方案了吗?我正在尝试解决同样的问题。

标签: android video-streaming webrtc kurento


【解决方案1】:

官方支持的使用 WebRTC 的方式是使用 WebRTC-capable browsers(即 Chrome、Firefox 和 Opera 以及 Android 浏览器)。 WebView 确实支持 WebRTC(虽然 not everything),但是如何让 WebRTC 在 WebView 中工作是 WebView 用户会更好地回答的问题。

另一方面,使用some research it seems like Crosswalk is a better option,因为它嵌入了功能齐全的 Chrome 浏览器。

【讨论】:

    猜你喜欢
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多