VMChatDemoCall
VMChatDemoCall copied to clipboard
手机视频聊天特别模糊
您好,我想请问下,我按照CallManager里面的配置设置的,设置的参数在下面,为什么手机视频聊天的时候接收到的画面特别模糊,改变这个方法里的参数也没用EMClient.getInstance().callManager().getCallOptions().setVideoResolution(640, 480),还有其他地方需要配置吗?
// 初始化音频池
initSoundPool();
// 音频管理器
audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
/**
* SDK 3.2.x 版本后通话相关设置,一定要在初始化后,开始音视频功能前设置,否则设置无效
*/
// 设置通话过程中对方如果离线是否发送离线推送通知,默认 false,这里需要和推送配合使用
EMClient.getInstance().callManager().getCallOptions().setIsSendPushIfOffline(true);
/**
* 设置是否启用外部输入视频数据,默认 false,如果设置为 true,需要自己调用
* {@link EMCallManager#inputExternalVideoData(byte[], int, int, int)}输入视频数据
*/
EMClient.getInstance().callManager().getCallOptions().setEnableExternalVideoData(false);
// 设置视频旋转角度,启动前和视频通话中均可设置
//EMClient.getInstance().callManager().getCallOptions().setRotation(90);
// 设置自动调节分辨率,默认为 true
EMClient.getInstance().callManager().getCallOptions().enableFixedVideoResolution(true);
/**
* 设置视频通话最大和最小比特率,可以不用设置,比特率会根据分辨率进行计算,默认最大 (800), 默认最小(80)
* 这里的带宽是指理想带宽,指单人单线情况下的最低要求
* >240p: 100k ~ 400kbps
* >480p: 300k ~ 1Mbps
* >720p: 900k ~ 2.5Mbps
* >1080p: 2M ~ 5Mbps
*/
EMClient.getInstance().callManager().getCallOptions().setMaxVideoKbps(800);
EMClient.getInstance().callManager().getCallOptions().setMinVideoKbps(80);
// 设置视频通话分辨率 默认是(640, 480)
EMClient.getInstance().callManager().getCallOptions().setVideoResolution(640, 480);
// 设置通话最大帧率,SDK 最大支持(30),默认(20)
EMClient.getInstance().callManager().getCallOptions().setMaxVideoFrameRate(30);
// 设置音视频通话采样率,一般不需要设置,为了减少噪音,可以讲采集了适当调低,这里默认设置32k
EMClient.getInstance().callManager().getCallOptions().setAudioSampleRate(32000);
// 设置录制视频采用 mov 编码 TODO 后期这个而接口需要移动到 EMCallOptions 中
EMClient.getInstance().callManager().getVideoCallHelper().setPreferMovFormatEnable(true);
手机和电脑视频通话,一开始手机打开的时候还挺清楚的,电脑端摄像头的画面不动没事,手机可以看清楚,只有电脑端画面一动,手机接收的画面就变的特别模糊了,请问是怎么回事
视频通话的分辨率这些都是动态调整的,这些和你当前网络,分辨率,码率这些相关,运动的画面比静止的画面耗费的带宽高