设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4404|回复: 0
打印 上一主题 下一主题

2015-07-03 支持动态调节视频质量参数

[复制链接]

249

主题

2967

帖子

9109

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9109
跳转到指定楼层
楼主
发表于 2015-7-3 15:54:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AnyChat技术团队继续完善视频质量参数控制接口,新版本(AnyChat r4756)支持在视频通话过程中动态调节视频质量参数,包括:
1、视频输出码率(BRAC_SO_LOCALVIDEO_BITRATECTRL);
2、关键帧间隔(BRAC_SO_LOCALVIDEO_GOPCTRL);
3、质量因子(BRAC_SO_LOCALVIDEO_QUALITYCTRL);
4、预设参数(BRAC_SO_LOCALVIDEO_PRESETCTRL);

在视频质量动态调节过程中,不会造成远端画面的闪烁。

动态调节码率示例代码:
  1. DWORD dwBitrate = 100 * 1000;  // 100kbps
  2. BRAC_SetSDKOption(BRAC_SO_LOCALVIDEO_BITRATECTRL, (CHAR*)&dwBitrate, sizeof(DWORD));
复制代码
动态调节码率与质量因子示例代码:
  1. DWORD dwQuality = 3;
  2. BRAC_SetSDKOption(BRAC_SO_LOCALVIDEO_QUALITYCTRL, (CHAR*)&dwQuality, sizeof(DWORD));
  3. DWORD dwBitrate = 100 * 1000;  // 100kbps
  4. BRAC_SetSDKOption(BRAC_SO_LOCALVIDEO_BITRATECTRL, (CHAR*)&dwBitrate, sizeof(DWORD));
复制代码
有关动态调节视频分辨率
1、当需要动态改变视频分辩率时,需要调用参数应用(BRAC_SO_LOCALVIDEO_APPLYPARAM)接口使得视频分辩率修改生效;
2、当使用外部视频输入接口,且需要改变视频分辩率时,需要先调用API接口(BRAC_SO_CORESDK_EXTVIDEOINPUT)关闭外部视频输入,然后再重新打开,调节前需要停止调用(关闭定时器)API:BRAC_InputVideoData;
3、视频分辨率的动态调节,可能会导致远程视频画面短暂的闪烁,因为分辨率变化后,远端需要重构显示表面;
4、视频分辨率依赖硬件设备以及底层驱动的支持,所设置的分辨率不一定能被底层驱动所支持,若不支持,AnyChat将会采用驱动默认的分辩率初始化硬件设备。

注意事项:
1、当动态调节多项参数时,需要把码率调节的代码放在最后的位置;
2、当不需要动态改变视频分辩率时,只需要调用调节码率的代码(BRAC_SO_LOCALVIDEO_BITRATECTRL)即可,会即时生效,不需要额外调用参数应用(BRAC_SO_LOCALVIDEO_APPLYPARAM)接口;
3、视频质量调节后,可通过客户端日志文件(BRAnyChatCore.log)来验证调节是否成功,或者通过第三方的网络流量监控工具来检测网络上传的码率是否有变化;






分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-12-4 18:11 , Processed in 0.122894 second(s), 26 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表