【问题标题】:Quickblox Improve video qualityQuickblox 提高视频质量
【发布时间】:2014-09-09 21:50:30
【问题描述】:

当视频发送到其他设备时,我使用 QuickBlox 的视频质量很差。例如,我在自己的设备上看到自己的质量非常高,但当我查看其他设备时,收到的内容质量很差。

我尝试使用这个来增加 FPS:

 cameraView.setFPS(30);

我可以做些什么来提高收到的视频质量?

我在 Google Hangouts 上测试了这两款平板电脑,质量比我的应用好。


这是可以在Sample by QuickBlox 上找到的代码。

public class ActivityVideoChat extends Activity 
{
    private CameraView cameraView;
    private OpponentGlSurfaceView opponentView;
    private ProgressBar opponentImageLoadingPb;
    private VideoChatConfig videoChatConfig;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.video_chat_layout);
        initViews();
    }

    private void initViews() 
    {
        Debugger.logConnection("initViews");

        opponentView = (OpponentGlSurfaceView) findViewById(R.id.opponentView);

        cameraView = (CameraView) findViewById(R.id.cameraView);
        cameraView.setCameraFrameProcess(true);
        cameraView.setQBVideoChatListener(qbVideoChatListener);

        cameraView.setFPS(30);
        cameraView.setOnCameraViewListener(new OnCameraViewListener() {
            @Override
            public void onCameraSupportedPreviewSizes(List<Camera.Size> supportedPreviewSizes) {
                Camera.Size firstFrameSize = supportedPreviewSizes.get(0);
                Camera.Size lastFrameSize = supportedPreviewSizes.get(supportedPreviewSizes.size() - 1);
                cameraView.setFrameSize(firstFrameSize.width > lastFrameSize.width ? lastFrameSize : firstFrameSize);
            }
        });

        opponentImageLoadingPb = (ProgressBar) findViewById(R.id.opponentImageLoading);

        videoChatConfig = getIntent().getParcelableExtra(VideoChatConfig.class.getCanonicalName());

        QBVideoChatController.getInstance().setQBVideoChatListener(DataHolder.getInstance().getCurrentQbUser(), qbVideoChatListener);
    }

    @Override
    protected void onResume() 
    {
        super.onResume();
        cameraView.reuseCameraView();
    }

    @Override
    protected void onPause() 
    {
        cameraView.closeCamera();
        super.onPause();
    }

    @Override
    public void onDestroy() 
    {
        QBVideoChatController.getInstance().finishVideoChat(videoChatConfig);
        super.onDestroy();
    }

    OnQBVideoChatListener qbVideoChatListener = new OnQBVideoChatListener() 
    {
        @Override
        public void onCameraDataReceive(byte[] videoData) 
        {
            if (videoChatConfig.getCallType() != CallType.VIDEO_AUDIO) 
            {
                return;
            }
            QBVideoChatController.getInstance().sendVideo(videoData);
        }

        @Override
        public void onMicrophoneDataReceive(byte[] audioData) 
        {
            QBVideoChatController.getInstance().sendAudio(audioData);
        }

        @Override
        public void onOpponentVideoDataReceive(byte[] videoData) 
        {
            opponentView.loadOpponentImage(videoData);
        }

        @Override
        public void onOpponentAudioDataReceive(byte[] audioData)
        {
            QBVideoChatController.getInstance().playAudio(audioData);
        }

        @Override
        public void onProgress(boolean progress) 
        {
            opponentImageLoadingPb.setVisibility(progress ? View.VISIBLE : View.GONE);
        }

        @Override
        public void onVideoChatStateChange(CallState callState, VideoChatConfig chat) 
        {
            switch (callState) 
            {
                case ON_CALL_START:
                    break;
                case ON_CANCELED_CALL:

                    finish();
                    break;
                case ON_CALL_END:
                    finish();
                    break;
            }
        }
    };
}

【问题讨论】:

    标签: java android video quickblox


    【解决方案1】:

    我实际上什至无法接收视频。你是从 android 调用到 android 还是从 android 调用到 ios?

    为了让视频正常工作,您做了什么特别的事情吗?如果是这样,你能告诉我你做了什么吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-05
      • 2011-11-22
      相关资源
      最近更新 更多