即时通讯 音视频录制技术.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
即时通讯 音视频录制技术

音视频录制是音视频解决方案中最重要的功能特性之一,特别是一些行业应用中音视频录制是最基本的功能需求,AnyChat作为业界一流的跨平台音视频解决方案,在音视频录制方面也提供了非常完善的整体解决方案,概括起来有如下特点: 1.???可针对单个用户的音频、视频进行录制; 2.???可针对通话双方的音频、视频合成录制,支持画中画、并列模式等多种合成方式; 3.???可以自定义录制参数,包括录制码率、视频分辩率等; 4.???录制的视频格式可自定义,支持MP4(默认)、WMV、FLV、MP3等; 5.???可以在客户端录制,也可以在中心服务器录制; 6.???可以在客户端进行音视频合成,中心服务器对合成音视频流录制,录像服务器支持高并发; 7.???客户端录制支持的平台包括:Windows、Web、Android、iOS、Linux; 8.???服务器录制支持的平台包括:Windows、Linux(x86、x64); 9.???提供客户端录制API、服务器录制API接口,与上层业务无缝集成; 一、API接口定义 ?? AnyChat在客户端提供的录制API接口与回调事件为: 1.??//?用户音、视频录制(扩展) 2.??BRAC_API DWORD BRAC_StreamRecordCtrlEx(DWORD dwUserId,BOOL bStartRecord, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr); 3.??? 4.??//?录像、快照任务完成扩展回调函数定义 5.??typedef void (CALLBACK *BRAC_RecordSnapShotEx_CallBack)(DWORD dwUserId, LPCTSTR lpFileName, DWORDdwElapse, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr, LPVOID lpUserValue); 复制代码 AnyChat在服务器端提供的录制API接口与回调事件为: 1.??//?中心端录像控制(扩展) 2.??BRAS_API DWORD BRAS_StreamRecordCtrlEx(DWORD dwUserId,BOOL bStartRecord, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr=NULL, DWORDdwRecordServerId=-1); 3.??? 4.??//?服务器录像回调函数定义(扩展) 5.??typedef void (CALLBACK *BRAS_OnServerRecordEx_CallBack)(DWORD dwUserId, LPCTSTR lpFileName, DWORDdwElapse, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr, DWORDdwRecordServerId, LPVOID lpUserValue); 复制代码 二、录制API调用 ?? API第一个参数表示录制对象,指录制某一个用户的音视频,对于合成录制,只需要通过第三个参数(dwFlags)加入特定的标志即可实现。 ???开始录制以及停止录制均调用同一个API接口(如客户端为:BRAC_StreamRecordCtrlEx),通过第二个参数(bStartRecord)来控制,当bStartRecord=TRUE(1)时,表示开始录制,当bStartRecord=FALSE(0)时,表示停止录制。 ???当调用API开始录制时,相当于下达了一个录制任务,AnyChat内核将开始录制,可以在客户端调用API(BRAC_QueryUserState)来查询录制状态;通过第三个参数(dwFlags)可控制录制行为:是在客户端录制,还是在服务器录制;是录制音频,还是音视频一同录制;是录制单个用户,还是通话双方合成录制等,具体应用可参考后续的“录制功能示例”部分。 ???当调用API停止录制时,AnyChat内核会结束录制任务,同时触发上层应用的回调事件(如客户端为:BRAC_RecordSnapShotEx_CallBack),在回调事件中,将录制文件名(含路径)、录制时长、用户自定义参数等信息返回给上层应用。 ?? AnyChat内核提供了两个自定义参数,一个是整形(dwParam),一个是字符串类型(lpUserStr),在开始录制时通过API接口传入,在录制完成回调事件中返回给上层应用,如可以通过字符串类型自定义参数来传输一个上层应用的业务流水号,则可以实现在回调事件中将录制的文件名与业务流水号进行关联,保存在数据库中等功能。

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档