设备网络SDK开发使用手册 |
<?xml version="1.0" encoding="utf-8"?>
<!--req, 录播主机能力集描述 --> <RecordingHostAbility version="2.0"> <oneKeyDelayTime min="1" max="3600" default="600"/> <!--req, 最大可配一键延迟时间,单位s--> <supportDirectMode opt="auto,manu" /> <!--req, 支持的导播模式 auto-自动, manu-手动--> <LogoOverlay> <!--req, 图标叠加信息,支持则返回,不支持不返回--> <logoSize min="" max=""/> <!--req,支持的logo大小,以字节为单位--> <logoNameLen min="" max=""/> <!--req,logo名称长度大小--> <logoStatus opt = " show, hide "/> <!--req,logo显示状态--> <logoCorordinateX min="" max=""/> <!--req,logo显示区域X坐标范围--> <logoCorordinateY min="" max=""/> <!--req,logo显示区域Y坐标范围--> <LogoFlash> <!--req,支持logo闪烁--> <enabled>true</enabled> </LogoFlash> <LogoTranslucent> <!--req,logo半透明--> <enabled>true</enabled> </LogoTranslucent> </LogoOverlay > <PublishCfg> <!--req, 支持的信息发布方式--> <supportPublishType opt="http,ftp"/> <!--req, 支持发布的码流类型:0-主码流,1-子码流,3-码流3--> <supportPublishStreamType opt=" 0-mainstream,1-substream,3-stream3"/> </PublishCfg> <!--req, 支持的远程控制类型,开始,结束,暂停、延长录播时间、恢复、一键开始屏蔽、一键停止屏蔽--> <supportRemoteCtrlType opt="start,stop,pause,restart,delay,release,startShield,stopShield"/> <CourseInfoCfg> <!--req, 课程信息配置--> <maxCourseNum>60</maxCourseNum> <!--req, 最大可支持的课程数--> <maxLessionNumOneDay>12</maxLessionNumOneDay><!--req, 每天上课节次--> </CourseInfoCfg><!--req, 课程信息配置--> <ManualDirect> <!--req, 手动导播参数配置(画中画配置)--> <enableBaseChan opt="true,false"/> <!--req, 是否支持画中画所在通道,录播主机不支持,不返回--> <enableBackChan opt="true,false"/> <!--req, 是否支持画中画模式背景通道,录播主机中表示导播通道--> <supportPIPMode opt="PIP,picAverage, picSplice"/> <!--req, 支持的画面布局模式--> <PIPModePositionList> <PIPModePosition> <smallPicNum>1</smallPicNum> <!--req, 小画面个数--> <positionName>bottomRight</positionName> <leftX min="" max=""/> <leftY min="" max=""/> <height min="" max=""/> <widtth min="" max=""/> </PIPModePosition> <PIPModePosition> <smallPicNum>1</smallPicNum> <!--req, 小画面个数--> <positionName>bottomLeft</positionName> <leftX min="" max=""/> <leftY min="" max=""/> <height min="" max=""/> <width min="" max=""/> </PIPModePosition> </PIPModePositionList> <PicAverageModePositionList> <!--req, 画面均分--> <supportAverage opt="1,2"/> <!--req, 画面均分数,1-一画面均分,2-2画面均分--> <PicAverageModePosition> <smallPicNum>1</smallPicNum> <!--req, 小画面个数--> <positionName>bottomRight</positionName> <leftX min="" max=""/> <leftY min="" max=""/> <height min="" max=""/> <width min="" max=""/> </PicAverageModePosition> </PicAverageModePositionList> <PicSpliceModePositionList> <!--req, 画面分割模式--> <PicSpliceModePosition> <smallPicNum>2</smallPicNum> <!--req, 小画面个数--> <positionName>bigPicOnLeft</positionName> <picPositionList> <picPosition> <index>1</index> <leftX min="" max=""/> <leftY min="" max=""/> <height min="" max=""/> <width min="" max=""/> </picPosition> <picPosition> <index>2</index> <leftX min="" max=""/> <leftY min="" max=""/> <height min="" max=""/> <width min="" max=""/> </picPosition> </picPositionList> </PicSpliceModePosition> <PicSpliceModePosition> <smallPicNum>2</smallPicNum> <!--req, 小画面个数--> <positionName>bigPicOnRight</positionName> <picPositionList> <picPosition> <index>1</index> <leftX min="" max=""/> <leftY min="" max=""/> <height min="" max=""/> <width min="" max=""/> </picPosition> <picPosition> <index>2</index> <leftX min="" max=""/> <leftY min="" max=""/> <height min="" max=""/> <width min="" max=""/> </picPosition> </picPositionList> </PicSpliceModePosition> <PicSpliceModePosition> <smallPicNum>3</smallPicNum> <!--req, 小画面个数--> <positionName>bigPicOnLeft</positionName> <picPositionList> <picPosition> <index>1</index> <leftX min="" max=""/> <leftY min="" max=""/> <height min="" max=""/> <width min="" max=""/> </picPosition> <picPosition> <index>2</index> <leftX min="" max=""/> <leftY min="" max=""/> <height min="" max=""/> <width min="" max=""/> </picPosition> <picPosition> <index>3</index> <leftX min="" max=""/> <leftY min="" max=""/> <height min="" max=""/> <width min="" max=""/> </picPosition> </picPositionList> </PicSpliceModePosition> <PicSpliceModePosition> <smallPicNum>3</smallPicNum> <!--req, 小画面个数--> <positionName>bigPicOnRight</positionName> <picPositionList> <picPosition> <index>1</index> <leftX min="" max=""/> <leftY min="" max=""/> <height min="" max=""/> <width min="" max=""/> </picPosition> <picPosition> <index>2</index> <leftX min="" max=""/> <leftY min="" max=""/> <height min="" max=""/> <width min="" max=""/> </picPosition> <picPosition> <index>3</index> <leftX min="" max=""/> <leftY min="" max=""/> <height min="" max=""/> <width min="" max=""/> </picPosition> </picPositionList> </PicSpliceModePosition> </PicSpliceModePositionList> </ManualDirect> <PublishCfg> <!--req, 一键发布配置--> <supportMode opt="http,ftp,ftpDir"/> <!--req, 支持一键发布的方式--> <PublishAddr> <!--req, 发布地址信息--> <HttpInfo> <URLLen min="0" max="256"/> <!--req, 支持的URL长度--> </HttpInfo> <FTP> <!--req, FTP,支持多级目录填写--> <protocalType opt="FTP,SFTP"/> <!--req, 协议类型--> <port min="" max=""/> <!--req, 当为IP地址时,有效端口范围--> <addrType opt="IPV4,IPV6,Domain"/> <!--req, 支持的地方类型,IPV4,IPv6,域名--> <userNameLen min="" max=""/> <!--req, 用户名长度--> <passwordLen min="" max=""/> <!--req, 密码长度--> <DirLen min="" max=""/> <!--req, 目录长度--> </FTP> <FTPDir> <!--req, FTP,支持自动目录--> <protocalType opt="FTP,SFTP"/> <!--req, 协议类型--> <port min="" max=""/> <!--req, 当为IP地址时,有效端口范围--> <addrType opt="IPV4,IPV6,Domain"/> <!--req, 支持的地方类型,IPV4,IPv6,域名--> <userNameLen min="" max=""/> <!--req, 用户名长度--> <passwordLen min="" max=""/> <!--req, 密码长度--> <DirlLevel opt="root,top,sub"/> <!--req, 支持的目录结构,root- 根目录,top- 一级目录,sub- 二级目录--> <topDirMode opt="deviceName,deviceNo,deviceIP,sel-define"/> <!--req, 一级目录定义方式--> <subDirMode opt="channelName,channelNo,courseTitle,drivingDate,sel-define"/> <!--req, 二级目录方式--> </FTPDir> </PublishAddr> <PublishChanRecord> <streamType opt="main,sub,three"/> <!--req, 支持发布的码流类型--> </PublishChanRecord> <publishMode opt="lastLesson,byTime"/> <!--req, 支持发布的方式,lastLesson- 最后一堂课,byTime- 按时间方式处理--> </PublishCfg> <!--req, 支持的分辨率- 标清,D1,720P,1080P--> <resolutionMode opt="sd,d1,720p ,1080p"/> <LogoUpload> <!--req, 支持的logo上传信息--> <logoSize min="" max=""/> <!--req, 支持的logo大小,以字节为单位--> <logoStatus opt = " show, hide "/> <!--req, logo显示状态--> <logoCorordinateX min="" max=""/> <!--req, logo显示区域X坐标范围--> <logoCorordinateY min="" max=""/> <!--req, logo显示区域Y坐标范围--> <LogoFlash> <!--req, 支持logo闪烁--> <enabled>true</enabled> </LogoFlash> <LogoTranslucent> <!--req,logo半透明--> <enabled>true</enabled> </LogoTranslucent> </LogoUpload> <AudioInCap> <MixAudioIn> <enabled opt="true,false"/> <audioInputType opt="micIn, lineIn"/> <!--opt, xs:string--> <highPassFilter opt="0,8,16,24,31,39,47,55,63,71,79,87,94,102,110,118,126,134, 142,150,157,165,173,181,189,197,205,213,220,228,236,244,252,260, 268,276,283,291,299,307,315,323,331,339,346,354,362,370,378,386, 394,402,409,417,425,433,441,449,457,465,472,480,488,496,504,512, 520,528,535,543,551,559,567,575,583,591,598,606,614,622,630,638, 646,654,661,669,677,685,693,701,709,717,724,732,740,748,756,764, 772,780,787,795,803,811,819,827,835,843,850,858,866,874,882,890, 898,906,913,921,929,937,945,953,961,969,976,984,992,1000" default="30"> <!--req, xs:integer;Hz--> </highPassFilter> <noiseMargin opt="1000,660,657,653,650,647,643,640,637,633,-630,627,623,620,617,613, 610,607,603,600,597,593,590,587,583,580,577,573,570,567,563,560,557,553, 550,547,543,540,537,533,530,527,523,520,517,513,510,507,503,500,497,493, 490,487,483,480,477,473,470,467,463,460,457,453,450,447,443,440,437,433, 430,427,423,420,417,413,410,407,403,400,397,393,390,387,383,380,377,373, 370,367,363,360,357,353,350,347,343,340,337,333,330,327,323,320,317,313, 310,307,303,300,297,293,290,287,283,280,277,273,270,267,263,260,257,253, 250,247,243,240" default="30"> <!--req, xs:integer;-dB--> </noiseMargin> <AutoLimitWave> <!--dep,audioInputType--> <FBCEnable opt="true,false"> <!--req, xs:Boolean--> </FBCEnable> <mode opt="fast,general,slow" default="general"> <!--req, xs:string--> </mode> <filterQValue opt="40,10" default="40"> <!--req, xs:integer;Oct--> </filterQValue> <staticFilterNum min="0" max="12" default="0"> <!--req, xs:integer--> </staticFilterNum> </AutoLimitWave> <DSPParameter> <!--opt, 数字信号处理芯片参数--> <FBCEnable> <!--req, xs:boolean, opt="true,false"--> </FBCEnable> <volume> <!--req, xs:integer,输入音量--> </volume> </DSPParameter> </MixAudioIn> <AudioInVlome> <type opt="audioOutput,audioEncode,specific"> <!--req, xs:integer--> </type> <volume min="0" max="127" defalut="50"> <!--req, xs:integer--> </volume> <index> <!--opt, xs:string, if <type> is specific, 音频输出通道索引 --> </index> <name> <!--opt, xs:string, if <type> is specific, 音频输出通道名称 --> </name> <supportVolumeEx opt="true,false"> <!--req, xs:boolean,是否支持输出音量扩展--> </supportVolumeEx> </AudioInVlome> </AudioInCap> <AudioOutCap> <MixAudioOut> <enabled opt="true,false"/> <modulatorEnbale opt="true,false"/> <postFilter opt="false,true" default="true"/> <!--req,xs:Boolean--> <limitPressure opt="false,true" default="true"/> <!--req, xs:Boolean--> <modulatorValue min="0" max="127" default="10"> <!--req,xs:integer;Oct--> </modulatorValue> <triggerTime opt="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3, 3,3,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,6,7,7,7,8,8,8,9,9,10,10,11,11,12,12,13, 14,15,15,16,17,18,19,20,21,23,24,25,27,29,30,32,34,36,38,41,43,46,49,52, 55,59,63,67,72,76,82,87,93,10,17,114,123,132,141,152,163,175,188,23,218, 235,254,274,296,320,347,375,47,441,479,520,566,616,671,731,798,872" default="4"> <!--req,xs:integer;ms--> </triggerTime> <freeTime opt="98,11,15,18,112,116,120,124,129,133,138,143,148,154,159,165,171,177,184, 191,198,26,213,222,230,239,248,258,268,278,289,31,313,325,338,352,366,381,397, 413,430,448,467,486,57,528,551,575,60,626,653,682,712,743,776,811,848,887,927, 970,1014,1062,1111,1163,1218,1276,1337,142,1470,1541,1617,1697,1781,1870,1964, 2063,2168,2279,2397,2521,2653,2792,2940,3097,3263,3439,3626,3825,4035,4259,4497, 4750,5020,536,5611,5936,6282,6651,7045,7465,7914,8393,895,9452,10037,10664,11335, 12053,12824,13650,14537,15489,16511,17610,18793,20065,21435,22911,2452,26219, 28073,30075,32239,34580,37114,39859,42834,46062" default="42"> <!--req,xs:integer;ms--> </freeTime> <compressThreshold opt="1,2,4,8" defalut="2"> <!--req, xs:integer;x--> </compressThreshold> <compressMode opt="soft,hard" default="soft"> <!--req, xs:string;ms--> </compressMode> <compressRate min="0" max="127"> <!--req, xs:integer;x--> </compressRate> <recoveryGain opt="1,2,4,8" defalut="2"> <!--req, xs:integer;x--> </recoveryGain> <outputGain opt="100,421,361,325,30,281,265,252,240,230,221,212,25,198,192,186,180,175,170, 165,161,156,152,148,145,141,138,134,131,128,125,122,120,117,114,112,110,17,15,13, 10,98,96,94,92,90,88,86,85,83,81,79,78,76,74,73,71,70,68,67,65,64,62,61,60,58,57, 56,54,53,52,51,49,48,47,46,45,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27, 26,25,24,23,23,22,21,20,19,18,17,17,16,15,14,13,12,12,11,10,9,9,8,7,6,6,5,4,3,3,2,1,1,0"> <!--req, xs:integer--> </outputGain> <outputMute opt="true,false"> <!--opt,xs:Boolean, 输出静音 --> </outputMute> <soundQualityHanding opt="true,false"> <!--opt,xs:Boolean, 音质处理 --> </soundQualityHanding> <supportOutputGainEx opt="true,false"> <!--req, xs:boolean,是否支持输出增益扩展--> </supportOutputGainEx> </MixAudioOut> <AudioOutVlome> <type opt="audioOutput,audioEncode"/> <volume min="0" max="127" defalut="50"> <!--req, xs:integer--> </volume> </AudioOutVlome> </AudioOutCap> <MenuOutputCfg> <!--req 设备本地输出菜单配置--> <homologousMode opt="true,false"/> <outputMode opt="auto,VGA,HDMI"/> <!--req 设备支持的本地菜单输出方式,auto-自动,VGA-VGA口输出菜单,HDMI-HDMI口输出菜单--> </MenuOutputCfg > <VideoOutResolutionCfg> <!--req 设备本地视频输出分辨率--> <VideoOutChanList> <VideoOutChanEntry> <VideoOutChanNum>1</VideoOutChanNum> <Type>VGA</Type> <resolution opt="1024x768,1280x720,1280x1024,1680x1050,1920x1080"/> <!--req, 支持的分辨率,以设备实际返回为准--> </VideoOutChanEntry> <VideoOutChanEntry> <VideoOutChanNum>2</VideoOutChanNum> <Type>HDMI</Type> <resolution opt="1024x768,1280x720,1280x1024,1680x1050,1920x1080"/> <!--req, 支持的分辨率,以设备实际返回为准--> </VideoOutChanEntry> </VideoOutChanList> </VideoOutResolutionCfg> <PPTDetection> <!--req, PPT检测--> <enable opt="true,false"/> <!--req, 是否支持PPT检测,支持则返回,不支持返回false--> <detectLevel min="0" max="100"/> <!--req, 设备支持的灵敏度检测范围--> <enablePartScreen opt="true,false"/> <!--req, 是否支持配置区域--> <changePixelNum min="" max=""/> <!--dep, "像素点检测阈值[0,1000](ps : 一幅图像有多少像素在变化)"--> </PPTDetection> <TVScreen> <picStayTime min="" max=""/> <!--opt导播画面停留时间--> <TVScreenNo min="" max=""/> <!--opt,导播屏编号--> </TVScreen> <ScreenSwitch> <enable>true</enable> <!--req, “表示支持ScreenSwitch的控制接口,与具体的字段无关”--> </ScreenSwitch> </RecordingHostAbility> |