【问题标题】:How to track the resolution/aspect ratio of a WebRTC remote VideoStream?如何跟踪 WebRTC 远程 VideoStream 的分辨率/纵横比?
【发布时间】:2020-03-20 11:34:46
【问题描述】:

我已经开发了一个 android 应用程序,它实现了用于视频聊天的本机 WebRTC,我想展示远程视频分辨率和其他视频信息,但我找不到提供此信息的 android 的 WebRTC API。

我知道在 javascript 中有 MediaStreamTrack.getSettings() API。问题是,如何在 Android、JAVA 中获得与 MediaStreamTrack.getSettings() 相同的信息?

【问题讨论】:

  • 您使用的是 webrtc 库还是类似的库?您目前如何实现该功能?
  • 你使用的是 Socket.io 还是 WebSockets?为什么在开始通话之前不使用它们在客户端之间发送和同步这些数据?
  • 我正在使用我的 Web Socket,我知道我正在发送什么数据,但这不是我的问题。我的问题是我怎么知道每一方收到什么?为此,我需要能够从远程视频轨道中获取它,但我没有找到任何方法来获取此类数据。
  • 对于第一条评论,是的,我正在使用带有 JAVA websocket 的 Native Android WEBRTC 库。作为信号服务器和 XIRSYS STUN & TURN 服务器。

标签: android webrtc-android


【解决方案1】:

2 年后我又回到了老问题,现在我能够获得实际的远程视频分辨率。

以下是其他人需要的详细信息:

private EglBase rootEglBase = EglBase.create();
private EglBase.Context eglBaseContext = rootEglBase.getEglBaseContext();
private SurfaceViewRenderer fullScreenView = findViewById(R.id.mainView);

        fullScreenView.init(eglBaseContext, new RendererCommon.RendererEvents() {
        @Override
        public void onFirstFrameRendered() {
        }

        @Override
        public void onFrameResolutionChanged(int videoWidth, int videoHeight, int rotation) {
            Log.i("ZCF", "onFrameResolutionChanged: W=" + videoWidth + "H=" + videoHeight + " rotation:" + rotation);
        }
    });

;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-19
    • 2012-10-06
    • 2011-10-27
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    • 1970-01-01
    相关资源
    最近更新 更多