• 2.69 MB
  • 145页

6-中国联通家庭宽带多媒体应用平台技术规范-与盒端接口分册1109

  • 145页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'QB/CUXXX-200X××××—××××中国联通公司发布20010-0X-XX实施20010-0X-XX发布中国联通家庭宽带多媒体应用业务平台技术规范与机顶盒终端接口分册(V0.3)QB/CUxxx—2010中国联通公司企业标准 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)中国联通家庭宽带多媒体应用业务平台技术规范与机顶盒终端接口分册IV中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)目录中国联通家庭宽带多媒体应用业务平台技术规范I与机顶盒终端接口分册I目录I前言IV中国联通家庭宽带多媒体应用业务平台技术规范5与机顶盒终端接口分册(V0.2)51范围52规范性引用文件53缩略语54机顶盒与家庭宽带多媒体应用业务平台接口框架74.1机顶盒与业务管理系统接口84.2机顶盒与业务运营平台接口安全性要求95机顶盒与业务管理系统接口(U1接口)95.1U1接口描述图95.2接口时序105.3接口协议内容156机顶盒与EPG服务系统接口(U2接口)306.1机顶盒访问EPG首页接口(U2-1)306.2机顶盒业务使用接口(U2-2)327机顶盒与增值服务平台接口(U3接口)337.1U3接口描述图337.2机顶盒与B/S增值服务接口(U3-1)337.3机顶盒与C/S增值服务接口(U3-2)348机顶盒与内容分发系统接口(U4-T接口)358.1U4-T接口描述358.2流控制方法描述398.3机顶盒单播接口(U4-T-1)558.4机顶盒组播接口(S4-T-2)578.5机顶盒单播时移接口(S4-T-3)588.6机顶盒组播时移接口(U4-T-4)609互联网电视机顶盒与内容分发系统之间的接口(U4-H)679.1码流封装格式679.2协议描述6710机顶盒与通信服务系统接口(U5接口)7310.1消息系统接口(待讨论)7310.2视频通信系统接口(待定义)7811机顶盒与终端管理系统接口(U6接口待定,终端组会详细定义)79IV 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)11.1机顶盒管理接口(U6-1)7911.2机顶盒软件升级接口(U6-2)9011.3机顶盒业务性能监测接口(U6-3)93附录A:字段类型及通用状态数据字典96A.1基本数据类型97A.2数据字典(注:全部重新整理)99A.2.1基本参数类型99A.2.2复合参数类型定义104A.3SOAP的FaultCode105A.3.1机顶盒FaultCode105A.3.2服务器FaultCode106A.3.3HTTP请求响应码106A.3.3RTSP请求响应码108附录B:SOAPRPC方式实现模版111B.1Xsd文件描述111B.2wsdl描述111附录C:用户编码规则112附录D:扩展js集合112D.1Authentication对象112D.1.1获取鉴权信息112D.1.2设置/获取业务参数113D.1.3启动后台升级功能115D.2MediaPlayer对象115D.2.1MediaPlayer的属性115D.2.2MediaPlayer的方法119D.2.3媒体相关参数的描述126D.2.4将媒体参数封装为JSON对象127D.2.5MediaPlayer控制的媒体流的生命周期128D.2.6MediaPlayer相关的事件129D.2.7用户通过“频道”键进入频道播放过程示例130D.3Navigation对象132D.3.1Navigation对象的属性:132D.3.2Navigation对象的方法:132D.4Utility对象133D.4.1Utility对象的方法:133D.5Event对象133D.5.1Event对象的结构:133D.5.2Event类型:134D.5.3Event消息:134D.5.4EVENT详细信息的封装方式136D.6CU_Network对象136D.6.1Ethernet对象136IV 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)D.7CU_PageWidgets对象137D.8PageWidget对象138附录E:FEC技术要求141E.1FEC帧格式141E.1.1RTP头要求141E.1.2FEC结构142E.2同步方式142E.3FEC算法143E.3.1基本要求:143E.3.2解码API定义:144附录F:ARQ技术要求145F.1基本要求145F.2交互流程146F.3消息格式147F.3.1GET-PARAMETER请求消息:147F.3.2GET_PARAMETER响应消息:148附录G:流量控制技术要求149G.1基本要求149G.2交互流程151IV 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)前言本技术规范是中国联通家庭宽带多媒体应用业务平台与机顶盒终端之间的接口规范。本技术要求包含以下几方面说明:业务描述、接口功能、接口协议等部分。本标准由中国联通公司产品创新部提出。本标准负责起草单位:本标准主要起草人:本标准的修改和解释权属中国联通公司产品创新部。IV 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)中国联通家庭宽带多媒体应用业务平台技术规范与机顶盒终端接口分册(V0.2)1 范围本规范规定了机顶盒与家庭宽带多媒体应用业务平台的接口,包括与业务管理系统、EPG服务系统、增值服务系统、TS内容分发系统、通信服务系统(待定)以及与终端管理系统之间的详细接口协议、字段内容。本规范适用于机顶盒与家庭宽带多媒体应用业务平台、终端管理系统之间的接口开发。2 规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。RFC1889:ATransportProtocolforReal-TimeApplicationsRFC2326:RealTimeStreamingProtocolRFC2327:SessionDescriptionProtocolRFC3611:RTPControlProtocolExtendedReportsRFC3711:TheSecureReal-timeTransportProtocolISO/IEC13818-12000:GenericcodingofmovingpicturesandassociatedaudioinformationITU-TRec.H.222.0-2000-Amendment3:TransportofAVCVideoDataoverITU-TRecommendationH.222.0RFC2616:HypertextTransferProtocolRFC3275:ExtensibleMakeupLanguageW3C:WebServicesDescriptionLanguage3 缩略语AVSAudioVideoCodingStandard数字音视频编解码技术标准CATConditionalAccessTable有条件接收表CPECustomerPremisesEquipment用户终端设备DRMDigitalRightsManagement数字版权管理143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)EPGElectronicProgrammerGuide电子节目单HTTPHypertextTransferProtocol超文本传输协议HTTPSHypertextTransferProtocolSecure安全超文本传输协议IECInternationalElectrotechnicalCommission国际电工委员会IGMPInternetGroupManagementProtocol互连网组管理协议IPInternetProtocol网络协议ISOInternationalOrganizationforStandardization国际标准化组织MACMediaAccessControl媒体访问控制层MPEG2MovingPictureExpertsGroup2活动图像专家组2MPTSMultipleProgramsTransportStream多节目传输流NTPNetworkTimeProtocol网络时间协议OSOperationSystem操作系统PATProgramAssociationTable节目组合表PCRProgramClockReference节目时钟参考PESPacketelementarystream打包的基本码流PMTProgramMapTable节目映射表PSIProgramSpecificInformation节目专有信息RPCRemoteProcedureCall远程过程调用RTCPReal-timeTransportControlProtocol实时传输控制协议RTPReal-timeTransportProtocol实时传输协议RTSPReal-timeTransportStreamingProtocol实时传输流媒体协议SIPSessionInitiationProtocol会话初始协议SDPSessionDescriptionProtocol会话描述协议SOAPSimpleObjectAccessProtocol简单对象访问协议SPTSSingleProgramsTransportStream单节目传输流STBSetTopBox机顶盒STB-SIMSTBSecurityIdentificationModule机顶盒安全识别模块TCPTransmissionControlProtocol传输控制协议TSTSTransportStream传送流UDPUserDatagramProtocol用户数据报协议URLUniformResourceLocator统一资源定位符143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)UTCCoordinatedUniversalTime协调世界时/世界标准时间VODVideoonDemand视频点播WSDLWebServiceDescriptionLanguageWeb服务描述语言XMLExtensibleMarkupLanguage可扩展标记语言XSDXMLSchemaInfosetModelXML数据定义文件1 机顶盒与家庭宽带多媒体应用业务平台接口框架机顶盒与家庭宽带多媒体应用业务平台间的接口主要有:与业务管理系统间的接口、与业务管理系统(互联网电视)间的接口、与EPG服务系统间的接口、与增值业务系统间的接口、与内容分发系统间的接口、与内容服务系统(互联网电视)间的接口、与通信服务系统间的接口,以及与终端管理系统间的接口。其中,终端管理系统可以独立于家庭宽带多媒体应用业务平台单独构建,也可作为家庭宽带多媒体应用业务平台内部子系统,与其他系统之间松耦合。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1.1 机顶盒与业务管理系统接口U1-T接口:机顶盒与业务管理系统接口。承载协议:HTTPGet/Post机顶盒通过U1接口与业务管理系统交互,完成开机用户应用认证、频道列表获取、业务入口地址获取、用户注销等功能。U1-H接口:互联网电视终端与业务管理系统(互联网电视)接口U2接口:机顶盒与EPG服务系统接口。承载协议:HTTPPost/Get机顶盒通过S2接口与EPG服务系统交互,完成获得EPG首页及其他EPG资源、EPG切换等功能。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)U3接口:机顶盒与增值服务平台接口。承载协议:HTTPPost/Get、自定义协议机顶盒通过S3接口与增值服务平台交互,完成基于B/S和C/S形式的增值服务。U4-T接口:机顶盒与内容分发系统接口承载协议:MPEG2-TS、RTSP,RTP,RTCP机顶盒通过U4-T接口与TS内容分发系统交互,完成点播、组播、单播时移和组播时移等功能U4-H接口:互联网电视终端与内容分发系统接口U5接口:机顶盒与通信服务系统接口承载协议:SIP、HTTP、SOAP机顶盒通过S5接口与通信服务系统交互,完成视频通信、短信、彩信等业务交互U6接口:机顶盒与终端管理系统接口承载协议:HTTP、SOAP、TR069机顶盒通过U6接口与终端管理系统交互,完成终端管理、软件升级、性能监测等功能。1.1 机顶盒与业务运营平台接口安全性要求机顶盒与IPTV业务运营平台接口交互的安全性,通过IPTV用户密码(Password)或IPTVSIM卡密钥(ICKey)、用户令牌(UserToken)协同完成。终端在接入认证过程中,使用用户密码或IPTVSIM卡密钥通过安全认证,并获取UserToken作为当前交互过程的认证凭据。UserToken在超过有效期、终端浏览器关闭连接、终端退出业务使用后失效。当UserToken超出其有效期时,EPG服务系统判定其为失效,并自动将终端重定向至业务管理系统进行重新认证,认证结束继续使用服务。当终端接收到响应错误代码或发生其他错误,导致无法继续使用IPTV业务时,则重新发起到业务管理系统的应用认证流程,应用认证结束重定向访问EPG首页。2 机顶盒与业务管理系统接口(U1接口)2.1 U1接口描述图机顶盒与业务管理系统之间具有以下接口功能模块:1)互联网电视终端开机注册接口(U1-H-1)2)互联网电视终端认证接口(U1-H-2)3)IPTV机顶盒开机认证接口(U1-T-1)143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1)IPTV频道列表获取接口(U1-T-2)2)IPTV业务入口列表获取接口(U1-T-3)3)IPTV机顶盒注销接口(U1-T-4)1.1 接口时序1.1.1 互联网电视机顶盒开机注册访问流程互联网电视机顶盒终端注册流程图143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)互联网电视机顶盒终端访问流程图1.1.1 互联网电视订购/点播/使用流程1.1.2 IPTV机顶盒开机应用认证流程图143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)机顶盒开机应用认证流程图1.用户身份认证及获取资源服务器列表l机顶盒向业务管理系统通过HTTPGet方式发送用户身份认证请求,上传信息包括UserID;l业务管理系统产生随机EncryToken字段,该字段用于认证加密的挑战字;l业务管理系统通过HTTPResponse返回包含扩展加密js脚本、EncryToken等内容的页面;l机顶盒通过调用扩展js函数对EncryToken、UserID、STBID、IP、MAC等信息进行加密后,通过HTTPPost方式发送到业务管理系统;l业务管理系统进行身份验证,验证通过后通过HTTP143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)Response以扩展js脚本的形式返回认证结果并设置资源服务器列表等信息;l机顶盒使用认证返回的升级服务器地址,通过本地升级功能进行版本检查并按需要进行升级。1.获取频道列表l机顶盒通过HTTPGET的请求方式,向业务管理系统发起获取频道列表的请求;l业务管理系统通过HTTPResponse以扩展js脚本的形式返回频道列表。2.获取业务入口列表l机顶盒通过HTTPGET的请求方式,向业务管理系统发起获取业务入口列表的请求;l业务管理系统通过HTTPResponse以扩展js脚本的形式返回业务入口列表。3.用户注销l用户关机或退出业务,主动发起注销请求;l业务管理系统执行用户注销操作,并通过HTTPResponse返回空内容。1.1 接口协议内容本接口采用HTTPGET、POST/HTTPRESPONSE+JS的方式承载,请求采用HTTPGET、POST的方式,采用URL参数、POST内容的方式传递所需的参数,返回内容采用JS的方式组织、传递、操作。1.1.1 互联网电视终端注册激活1、注册激活接口方式:HTTPGET接口方向:互联网电视终端–〉互联网电视平台接口说明:用户开机首先发送tvid(head头中)以及被分配到的user-key(head头中,如果未注册则该key为空)到互联网电视平台。请求消息:表5-3-1-1用户注册激活请求参数说明名称说明数据类型长度(字节)是否必选Action用户请求行为String10M消息示例:http://domain/service?action=active2、回应消息接口方式:HTTPGET接口方向:互联网电视平台–〉互联网电视终端143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)接口描述:业务管理系统校验用户发送的tvid是否已经注册,如果是则进入下发一个临时token作为认证加密串的组成部分进入开机认证流程。消息示例:active的属性名称说明数据类型长度(字节)是否必选code激活校验错误码,0-已被激活;1-未被激活,如果未被激活进入流程注册激活(直接将用户重定向到运营支撑系统,由运营支撑系统负责弹出注册页面由用户输入),如果激活则进入认证流程String1Mdescription错误码描述String10Mencrypt-token临时token,加密串的组成部分,code为0时有效String10Mregister-url注册地址,code为1时有效String10M1.1.1 互联网电视终端认证1、开机认证接口方式:HTTPGET接口方向:互联网电视终端–〉互联网电视平台接口说明:用户开机发送认证的加密字串信息到互联网电视平台。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)请求消息:http://domain/service?action=auth&token=DJKDE334JKLIEAKJDIEKJDKJAKDIEEOIR03334KJKDLJKSJOIEJKFJKJKJK表5-3-1-2用户开机认证请求参数说明名称说明数据类型长度(字节)是否必选action用户请求行为,参见消息约定String1Mdescription请求认证的加密串,加密算法为3DES+BASE64,加密的串组成为下发的用户标识+加密临时token,加密key为下发的加密keyString10M2、回应消息直接重定向到门户首页。1.1.1 IPTV机顶盒认证1、认证请求承载协议:HTTPGET接口方向:机顶盒–〉业务管理系统调用接口:http://IptvAuthDomain/AuthenticationURL接口功能:机顶盒调用页面请求进行用户开机认证请求备注说明:采用URL传递参数表5-3-1-3用户认证请求名称说明数据类型长度(字节)是否必选UserID用户登录业务帐号String36MAction当前操作,开机认证时为“Login”String10M认证请求示例:http://IptvAuthDomain/AuthenticationURL?UserID=12345678&Action=Login2、认证请求挑战字响应承载协议:HTTPResponse接口方向:业务管理系统–〉机顶盒接口功能:返回页面要求机顶盒进行信息加密认证143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)备注说明:采用扩展js脚本传递参数及后续指令表5-3-1-4用户认证请求挑战字响应名称说明数据类型长度(字节)是否必选EncryToken业务管理系统为该用户分配的临时身份证明,只用于认证加密String32M注:认证响应内容包含js方式的Authentication对象CUGetAuthInfo接口函数,要求浏览器支持。认证请求响应示例:HTTP/1.1200OKDate:Sat,26Aug200607:30:58GMTCache-Control:no-store,no-cache,must-revalidate,post-check=0,pre-check=0Pragma:no-cacheContent-Length:450Content-Type:text/htmlfunctionDoAuth(){document.authform.Authenticator.value=Authentication.CUGetAuthInfo(‘D6D0B9FAB5E7D0C5C9CFBAA3D4BAD6C6’);document.authform.submit();}143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)3、机顶盒上传认证信息承载协议:HTTP(POST)接口方向:机顶盒–〉业务管理系统调用接口:由认证请求返回页面确定接口功能:机顶盒调用POST请求上传认证信息备注说明:采用POST信息传递参数表5-3-1-5用户上传认证信息请求名称说明数据类型长度(字节)是否必选UserID用户登录业务帐号String36MAuthenticator加密后的参数串,包含各个输入参数,具体参数和加密方法见下表stringM表5-3-1-6请求Authenticator包含参数名称说明数据类型长度(字节)是否必选Random随机数字digitstring<=8MEncryToken用于Autenticator产生的临时TokenString32MUserID用户业务编号string20MSTBID机顶盒编号string32MIPIP地址string39MMAC机顶盒的MAC地址,格式为:xx:xx:xx:xx:xx:xxstring17MReserved预留String64M说明:lAuthenticator表示加密后的参数串,具体参见附录D.1.1获取认证信息函数的返回值描述。认证请求示例:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)POST/authurlHTTP/1.1Accept:*/*Host:**.**.**.**User-Agent:Mozilla/4.73Connection:closeReferer:http://**.**.**.**/**Pragma:no-cacheContent-Type:application/x-www-form-urlencodedContent-Length:**Authenticator=*************************************************************************************************************************************************************************************************************************************************&UserID=****** 4、认证响应承载协议:HTTPResponse接口方向:业务管理系统–〉机顶盒接口功能:返回认证结果页面,并设置资源服务器信息备注说明:采用扩展js脚本传递参数及后续指令表5-3-1-7认证响应名称说明数据类型长度(字节)是否必选EPGDomainEPG的域名,格式类似于:http://xxx.yyy.zzz:port/Port默认为80string256MEPGDomainBackup备份EPG的域名,格式类似于:http://xxx.yyy.zzz:port/Port默认为80string256OUpgradeDomain升级服务器的域名,格式是:http://xxx.yyy.zzz:port/string256M143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)Port默认为80UpgradeDomainBackup备份升级服务器的域名,格式是:http://xxx.yyy.zzz:port/Port默认为80string256OManagementDomain管理服务器的Domain,格式是:http://xxx.yyy.zzz:port/Port默认为80string256MManagementDomainBackup备份管理服务器的Domain,格式是:http://xxx.yyy.zzz:port/Port默认为80string256ONTPDomain时钟同步服务器地址string256MNTPDomainBackup备份时钟同步服务器地址string256OUserToken业务管理系统为该用户分配的临时身份证明String32MEPGGroupNMB用户对应的EPG分组信息标识,格式:A1A2B1B2B3C1C2C3A1A2:省份标识,参照vnet标识方法,如:lSH:上海lHI:海南B1B2B3:用户类型标识;C1C2C3:保留String8OMSDomain消息系统入口地址string256OMSDomainBackup备份消息系统入口地址string256O说明:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1、如认证失败,则直接返回HTTP200,然后重定向到手工登录或修改用户名密码的页面,并提示错误信息;2、业务管理系统下发配置页面,包含指定参数和脚本,执行过程:a)采用js函数的方式设置各参数;b)并调用js函数启动版本升级检查功能(要求后台执行);c)携带UserToken、EPGGroupNMB参数转入厂商平台入口点;3、需扩展设置参数的js函数Authentication对象的CUSetConfig;4、需扩展后台启动升级功能的js函数CUStartUpdate;5、认证成功后UserToken可通过cookie、Session的方式进行保存。认证请求响应示例:HTTP/1.1200OKSet-Cookie:UserToken=7AA501C7143C22983B5E0A6559361001;JSSESSIONID=ADE12314DA23;Path=/Content-Type:text/html;charset=GBK Content-Length:381 Date:Thu,19Oct200608:50:14GMT functionAuthFinish(){Authentication.CUSetConfig(‘UserToken’,’*******’);Authentication.CUSetConfig(‘EPGDomain’,’*******’);Authentication.CUSetConfig(‘EPGDomainBackup’,’*******’);Authentication.CUSetConfig(‘ManagementDomain’,’*******’);Authentication.CUSetConfig(‘ManagementDomainBackup’,’*******’);Authentication.CUSetConfig(‘UpgradeDomain,’*******’);Authentication.CUSetConfig(‘NTPDomain,’*******’);Authentication.CUSetConfig(‘EPGGroupNMB,’*******’);Authentication.CUStartUpdate();document.location=‘http://GetChannelListURL’;}143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1.1.1 频道列表获取1、频道列表获取请求承载协议:HTTPGet接口方向:机顶盒–〉业务管理系统调用接口:http://IptvAuthDomain/GetChannelListURL接口功能:终端调用页面请求获得直播频道列表备注说明:可采用Cookie、Session的方式传递UserToken表5-3-2-1频道列表获取请求参数名称说明数据类型长度(字节)是否必选UserToken业务管理系统为该用户分配的临时身份证明,采用Cookie、Session方式传递String32M频道列表获取请求示例:HTTPGET/GetChannelListURLHTTP/1.1Host:IptvAuthDomainAccept:*/*User-Agent:Cookie:UserToken=7AA501C7143C22983B5E0A6559361001;JSSESSIONID=ADE12314DA232、频道列表获取响应承载协议:HTTPResponse接口方向:业务管理系统–〉机顶盒接口功能:返回页面进行频道列表的下发,以及对频道的FEC纠错功能的支持。备注说明:采用扩展js脚本传递频道列表及后续指令表5-3-2-2频道列表获取响应名称说明数据类型长度(字节)是否必选ChannelCount用户可观看的频道总数unsignedInt4MChannelList用户可观看的频道信息列表M143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)ChannelInfoStruct[]表5-3-2-3ChannelInfoStruct元素定义名称说明数据类型长度(字节)是否必选ChannelID默认频道的ChannelID信息(如果服务器端没有频道则返回字符串“NULL”)string8MChannelName频道名称(如果服务器端没有频道则返回字符串“NULL”)string16MUserChannelID用户频道编号(如果服务器端没有频道则返回-1)int4MChannelURL组播URL(igmp://组播地址:端口)/单播URL(rtsp://单播地址:端口/路径)/HTTLURL(http://服务地址:端口/路径)如果服务器端没有频道则返回字符串“NULL”string256MTimeShift频道是否支持时移1:支持0:不支持Boolean1MChannelSDP频道的SDP信息string256MTimeShiftURL频道的时移地址当该节目不支持时移,该值无意义string256M143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3);当该节目为单播直播,该值无意义。ChannelLogoStruct台标显示的参数结构,如果没有,强制用空值填充,可以不处理ChannelLogoStructMChannelType频道类型,具体数值待定string16OChannelPurchased用户授权标识booleanMChannelFECPort频道支持FEC的端口号,若该频道支持FEC则填写端口号,否则为空Int16MChannelLogoStruct定义如下:表5-3-2-4ChannelLogoStruct元素定义名称说明数据类型长度(字节)ChannelLogURL台标图片的URLString256PositionX以屏幕和图标左上角为准的台标显示横坐标位置Int4PositionY以屏幕和图标左上角为准的台标显示纵坐标位置Int4BeginTime台标显示开始时间,与频道开始播放开始时间相对的时间(以秒为单位)Unsigenedint4Interval台标两次显示之间的间隔时间(单位为秒,-1为台标一直显示,此时忽略lasting;0代表显示一次)Int4Lasting每次出现台标后的显示时间,Lasting的值一定要小于Intervalunsignedint4注:认证响应内容包含js方式的Authentication对象的CUSetConfig接口函数,要求浏览器支持。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)频道列表获取请求响应示例:HTTP/1.1200OKContent-Type:text/html;charset=GBK Content-Length:381 Date:Thu,19Oct200608:50:14GMT functionConfigChannel(){Authentication.CUSetConfig(‘ChannelCount","3");Authentication.CUSetConfig("Channel","ChannelID="1",ChannelName="STV1",UserChannelID="1",ChannelURL="igmp://233.0.0.1:3000",TimeShift="1",ChannelSDP="http://channel.iptv.com/channel1.sdp",TimeShiftURL="rtsp://tvod.iptv.com/channel1",ChannelLogURL="http://channel.iptv.com/log1.gif",PositionX="5",PositionY="5",BeginTime="10",Interval="0",Lasting="10",ChannelType="type1",ChannelPurchased="0",ChannelFECPort=""");Authentication.CUSetConfig("Channel","ChannelID="2",ChannelName="STV2",UserChannelID="2",ChannelURL="rtsp://channel.iptv.com/channel2",TimeShift="1",ChannelSDP="",TimeShiftURL="rtsp://tvod.iptv.com/channel2",ChannelLogURL="http://channel.iptv.com/log2.gif",PositionX="5",PositionY="5",BeginTime="10",Interval="0",Lasting="10",ChannelType="type1",ChannelPurchased="0",ChannelFECPort="2343"");Authentication.CUSetConfig("Channel","ChannelID="3",ChannelName="STV3",UserChannelID="3",ChannelURL="http://channel.iptv.com/channel3.jsp",TimeShift="1",ChannelSDP="",TimeShiftURL="",ChannelLogURL="",PositionX="5",PositionY="5",BeginTime="10",Interval="0",Lasting="10",ChannelType="type1",ChannelPurchased="0",ChannelFECPort="2342"");document.location=‘http://GetServiceListURL’;}143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1.1.1 业务入口列表获取1、业务入口列表获取请求承载协议:HTTPGET接口方向:机顶盒–〉业务管理系统调用接口:http://IptvAuthDomain/GetServiceListURL接口功能:终端调用页面请求获得业务列表备注说明:可采用Cookie、Session的方式传递UserToken表5-3-3-1业务入口列表获取请求名称说明数据类型长度(字节)是否必选UserToken业务管理系统为该用户分配的临时身份证明,采用Cookie、Session方式传递String32M业务入口列表获取请求示例:HTTPGET/GetServiceListURLHTTP/1.1Host:IptvAuthDomainAccept:*/*User-Agent:Cookie:UserToken=7AA501C7143C22983B5E0A6559361001;JSSESSIONID=ADE12314DA232、业务入口列表获取响应承载协议:HTTPResponse接口方向:业务管理系统–〉机顶盒接口功能:返回页面进行业务入口列表的下发备注说明:采用扩展js脚本传递业务入口列表及后续指令表5-3-3-2业务入口列表获取响应名称说明数据类型长度(字节)是否必选BTVEPGURLEPG服务器上的频道string256M143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)列表主页BTVEPGHotkeyEPG服务器上的频道列表快捷键string256OVODEPGURLEPG服务器上的点播列表主页string256MVODEPGHotkeyEPG服务器上的点播列表快捷键string256OSelfServiceEPGURLEPG服务器上的自助服务列表主页string256MSelfServiceEPGHotkeyEPG服务器上的自助服务列表快捷键string256OUserSpaceURL用户机顶盒本地空间主页string256MUserSpaceHotkey用户机顶盒本地空间快捷键string256OInfoEPGURLEPG服务器上的信息服务列表主页string256OInfoEPGHotkeyEPG服务器上的信息服务列表快捷键string256OGameEPGURLEPG服务器上的游戏列表主页string256OGameEPGHotkeyEPG服务器上的游戏列表快捷键string256OEmailEPGURLEPG服务器上的email列表主页string256OEmailEPGHotkeyEPG服务器上的email列表快捷键string256OUMEPGURLEPG服务器上的统一消息业务列表主页string256OUMEPGHotkeystring256O143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)EPG服务器上的统一消息业务列表快捷键业务入口获取请求响应示例:HTTP/1.1200OKContent-Type:text/html;charset=GBK Content-Length:381 Date:Thu,19Oct200608:50:14GMT functionSetService(){Authentication.CUSetConfig("BTVEPGURL","*******");Authentication.CUSetConfig("BTVEPGHotKey","*******");Authentication.CUSetConfig("VODEPGURL","*******");Authentication.CUSetConfig("VODEPGHotKey","*******");Authentication.CUSetConfig("SelfServiceEPGURL","*******");Authentication.CUSetConfig(SelfServiceEPGHotkey","*******");Authentication.CUSetConfig("UserSpaceURL","*******");Authentication.CUSetConfig("UserSpaceURLHotkey","*******");Authentication.CUSetConfig("InfoEPGURL","*******");Authentication.CUSetConfig(""InfoEPGHotkey","*******");document.location=‘http://EPGDomain?EPGGroupNMB=******&UserToken=********&UserID=******&STBID=*********’;}1.1.1 注销1、注销请求143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)承载协议:HTTPGET接口方向:机顶盒–〉业务管理系统调用接口:http://IptvAuthDomain/AuthenticationURL接口功能:机顶盒调用页面请求进行用户注销请求备注说明:采用URL参数传递参数表5-3-4-1注销请求名称说明数据类型长度(字节)是否必选UserID用户登录业务帐号String36MAction当前操作,注销时为“Logout”String10M注销请求示例:http://IptvAuthDomain/AuthenticationURL?UserID=12345678&Action=Logout2、注销响应承载协议:HTTPResponse接口方向:业务管理系统–〉客户端接口功能:返回注销结果响应页面备注说明:内容为空注销请求响应示例:HTTP/1.1200OKDate:Sat,26Aug200607:30:58GMTCache-Control:no-store,no-cache,must-revalidate,post-check=0,pre-check=0Pragma:no-cacheContent-Length:14Content-Type:text/html1 机顶盒与EPG服务系统接口(U2接口)1.1 机顶盒访问EPG首页接口(U2-1)1.1.1 接口时序143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)STBHTTPGETHTTPResponseEPG服务系统图6-1-1-1机顶盒访问EPG首页流程图1.1.1 EPG首页请求承载协议:HTTPGET接口方向:机顶盒–〉EPG服务系统接口地址:http://EPGDomain接口功能:机顶盒向EPG服务系统请求EPG首页表6-1-2-1机顶盒访问EPG首页请求参数名称说明数据类型长度(字节)是否必选UserToken业务管理平台为该用户分配的临时身份证明,这里通过机顶盒上传给EPGString32MUserID用户登录业务帐号String36MEPGGroupNMB用户对应的EPG分组信息标识,格式:A1A2B1B2B3C1C2C3A1A2:省份标识,如:lsh:上海lhi:海南B1B2B3:用户类型标识C1C2C3:保留String8MSTBID机顶盒编号,参见中国联通《XXXXX》String32MMAC机顶盒的MAC地址,格式为:xx:xx:xx:xx:xx:xxString17O请求示例:http://EPGDomain?UserID=1234567&EPGGroupNMB=sh0010018&STBID=011010000021E030002100300004C7E7&UserToken=7AA501C7143C22983B5E0A65593610011.1.2 EPG首页页面返回143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)承载协议:HTTPResponse接口方向:EPG服务系统–〉机顶盒接口功能:EPG服务系统向机顶盒下发EPG首页1.1 机顶盒业务使用接口(U2-2)1.1.1 接口时序图6-2-1-1机顶盒业务使用流程图1、机顶盒向EPG服务系统发起业务使用请求,使用HTTPGET/POST等Request进行请求;2、EPG服务系统通过HTTPReponse返回业务使用响应,其中包含HTML和Javascript;3、机顶盒解析业务页面,并通过浏览器进行展示;4、机顶盒浏览器解析其中的业务逻辑,包括对其中的Javascript、扩展Javascript的解析;5、根据业务逻辑和用户操作的选择,触发新的业务使用的请求。1.1.2 业务使用请求承载协议:HTTPGET/POST接口方向:机顶盒–〉EPG服务系统接口地址:http://EPGDomain接口功能:机顶盒向EPG服务系统请求使用业务1.1.3 业务使用响应承载协议:HTTPResponse接口方向:EPG服务系统–〉机顶盒143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)接口功能:EPG服务系统向机顶盒响应使用业务1 机顶盒与增值服务平台接口(U3接口)1.1 U3接口描述图机顶盒可以提供多种增值服务。根据增值服务类型的不同,需要与不同的系统建立不同的接口模块。1)B/S方式增值服务:与B/S增值服务器接口(U3-1)2)C/S方式增值服务:与C/S增值服务器接口(U3-2)图7-1-1机顶盒与增值服务平台接口模块图1.2 机顶盒与B/S增值服务接口(U3-1)1.2.1 接口时序用户访问B/S增值服务。STBB/S增值服务器HTTPResponseHTTPRequest图7-2-1-1访问B/S增值服务页面流程图1.2.2 接口协议内容143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)(1)请求B/S增值服务承载协议:HTTPRequest接口方向:机顶盒–>B/S增值服务系统调用接口:例如:http://VASDomain/aInfoPage.html接口功能:获得某B/S增值服务内容(2)请求B/S增值服务承载协议:HTTPReponse接口方向:B/S增值服务系统–>机顶盒接口功能:返回B/S增值服务页面内容1.1 机顶盒与C/S增值服务接口(U3-2)1.1.1 接口时序1.1.1.1 下载客户端STB客户端下载服务器HTTPResponse:ClientdownloadHTTPGet图7-3-1-1-1下载客户端流程图1.1.1.2 基于C/S方式的增值服务接口143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)STB客户端C/S增值业务平台客户端决定图7-3-1-2-1基于客户端方式的增值服务接口1.1.1 接口协议内容1.1.1.1 下载客户端要求支持客户端进行下载。1.1.1.2 基于客户端方式的增值服务要求支持客户端方式使用增值服务。2 机顶盒与内容分发系统接口(U4-T接口)2.1 U4-T接口描述2.1.1 基于TS的接口描述机顶盒与内容分发系统之间具有以下接口模块:1)机顶盒单播接口(U4-T-1)2)机顶盒组播接口(U4-T-2)3)机顶盒单播时移接口(U4-T-3)4)机顶盒组播时移接口(U4-T-4)143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)机顶盒STBTS内容分发系统U4-T单播服务器组播服务器单播时移服务器组播时移服务器U4-T-1U4-T-2U4-T-3U4-T-4图8-1-1-1机顶盒与内容分发系统的接口框图1.1.1 基于TS的传输协议栈媒体流(MPEG4,H264)TSUDP/TCP信令控制RTPRTSPTCPIP图8-1-2-1基于MPEG-2TS的传输协议栈结构上图描述了基于MPEG-2TS的传输协议栈结构。基于该协议栈结构,机顶盒和内容分发系统之间的接口分为两个通道:1、媒体流传输和接收通道:见上图的左半部分,即IPTV内容分发系统和IPTV机顶盒之间按照图中所示的格式或协议来完成实际音视频媒体流数据的传输和解包播放,其中RTP协议为可选性支持;2、媒体流会话控制通道:见上图的右半部分,内容分发系统和机顶盒之间按照图中所示的信令协议来完成对音视频媒体流的控制和交互,采用的协议为基于TCP的RTSP;143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1.1.1 TS包结构和语法1.1.1.1 MPEG-2TS包结构1、MPEG-2TS包结构必须符合ISO/IEC13818-1|ITU-TRec.H.222.0-2000-Amendment3打包结构,即如下图:图8-1-3-1-1符合ISO/IEC13818-1|ITU-TRec.H.222.0MPEG-2TS的包结构2、必须支持SPTS,不支持MPTS;3、PCR由视频component携带;4、对H.264的TS包结构句法的定义,必须符合ISO/IEC13818-1|ISO/IEC13818-1|ITU-TRec.H.222.0–2000-Amendment3的标准1.1.1.2 PES包结构1、PES包结构必须符合ISO/IEC13818-1|ITU-TRec.H.222.0打包结构,具体如下图:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)图8-1-3-2-1符合ISO/IEC13818-1|ITU-TRec.H.222.0的PES包结构2、一帧视频数据至多打成一个PES包;3、H.264的PES包结构的句法必须符合ISO/IEC13818-1|ITU-TRec.H.222.0–2000-Amendment3中的标准;4、当执行快进、快退等TrickMode功能时,PES包头信息的DSM_trick_mode_flag不进行设置,即为01.1.1.1 PSI信息定义必须能解析完整的PAT、PMT表格,服务器可选支持CAT表格,机顶盒必须支持CAT表格。且这些表格的结构必须符合ISO/IEC13818-1|ITU-TRec.H.222.0标准规范。1.1.1.2 PMT中的视音频componentsPMT中视音频的StreamType必须符合ISO/IEC13818-1|ITU-TRec.H.222.0–2000-Amendment3中的标准,具体如下表:表8-1-3-4-1Stream_type对应表Stream_type解释0x03ISO/IEC11172Audio(MPEG1layer2必选;layer3服务器可选,机顶盒必选)143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)0x0FISO/IEC13818-7AudiowithADTStransportsyntax(MPEG2LCAAC,服务器可选,机顶盒必选)0x80CUreservedforMPEG4LCAAC(待最新标准定义后更新)0x10ISO/IEC14496-2Visual(MPEG4ASP)0x1BAVCvideoasdefinedinITU-TRec.H.264|ISO/IEC14496-10Video0x42AVS1.1 流控制方法描述1.1.1 组播控制方法描述1.1.1.1 IGMPJoinIGMPV2MembershipReport(IGMPjoin)IGMPVersion:2Type:MembershipReport(0x16)MaxResponseTime:0.0sec(0x00)Headerchecksum:0xABCD(例如0xfe8f代表correct)MulticastAddress:x.x.x.x1.1.1.2 IGMPLeaveIGMPLeaveGroupIGMPVersion:2Type:LeaveGroup(0x17)MaxResponseTime:0.0sec(0x00)HeadChecksum:0xABCDMulticastAddress:x.x.x.x1.1.1.3 IGMPQuery待定。1.1.2 单播控制方法描述1.1.2.1 总体说明1.1.2.1.1 方法综述本规范单播流控制协议基于标准的RTSP规范(RFC2326),并在此基础上进行了必要的扩充。RTSPmethod如表:表8-2-2-1-1-1流控制使用的RTSPmethod143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)MethodDirectionServerClientDESCRIBEC->SMMGET_PARAMETERC->SS->CMMOPTIONSC->SS->COOPAUSEC->SMMPLAYC->SMMREDIRECTS->COMSETUPC->SMMTEARDOWNC->SMMANNOUNCES->CMM【注】以下所有协议中,[中括号]内容表示可选,斜体内容表示必有但数值根据实际情况可以修订。1.1.1.1.1 URL描述单播消息中涉及的流媒体地址规定如下:rtsp:///serverName媒体服务器名称或者IP地址name点播内容在媒体服务器上的详细路径1.1.1.1.2 传送方式单播消息中涉及的流媒体Transport参数结构规定如下:TCP方式:C->S :Transport:MP2T/[RTP]/TCP;unicast;destination=172.18.79.120[:2005];interleaved=0-1S->C :Transport:MP2T/[RTP]/TCP;unicast;interleaved=0-1;ssrc=327b23c6UDP方式:C->STransport:MP2T/[RTP]/UDP;unicast;destination=172.18.79.120[:2005];client_port=4588-4589143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)S->CTransport:MP2T/[RTP]/UDP;unicast;client_port=5576-5577;server_port=8000-8001;ssrc=6b8b4567Transport方式总共有四种方式,要求机顶盒和内容分发系统均支持,如下表所示。表8-2-2-1-3-1Transport方式方式说明是否必选MP2T/TCP使用TCP直接承载MPEG2-TS,不使用RTP封装MMP2T/UDP使用UDP直接承载MPEG2-TS,不使用RTP封装MMP2T/RTP/TCP使用基于TCP的RTP承载MPEG2-TSMMP2T/RTP/UDP使用基于UDP的RTP承载MPEG2-TSM交互中选择使用Transport方式的过程如下:1.终端在建立RTSP连接后,在SETUP消息中同时发起可能支持的所有Transport方式,多个完整的Transport结构使用逗号分隔,按优先级排序;一个Transport结构中的参数使用分号分隔,如:Transport:MP2T/RTP/TCP;unicast;destination=172.18.79.120;interleaved=0-1,MP2T/TCP;unicast;destination=172.18.79.120;interleaved=0-1,MP2T/UDP;unicast;destination=172.18.79.120;client_port=4588-4589;2.流媒体服务系统返回SETUPResponse中,选择一种可支持的方式,填写在Transport参数中开始使用,如所有方式均无法支持则返回461错误码,并等待终端响应;3.终端使用平台选择的方式建立媒体通道,如平台返回错误码表示无法支持任何方式,则终端向用户报错并发送TEARDOWN消息,主动退出。1.1.1.1 SETUPC->S表8-2-2-2-1SETUP消息请求HeaderFieldHeaderField名说明是否必选数值CSeq应答和请求对应的序列号M十进制数字143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)Transport传递方式MUser-Agent用户引擎MSession会话号OScale播放速度ORange播放范围OSETUPrtsp://example.com/foo/bar/baz.mpgRTSP/1.0CSeq:3Transport:MP2T/[RTP]/TCP;unicast;destination=172.18.79.120[:2005];interleaved=0-1User-Agent:CURTSP1.0[Session:719885386][Scale:1.0][Range:now-end]S->C表8-2-2-2-2Setup消息响应HeaderFieldHeaderField名说明是否必选数值CSeq应答和请求对应的序列号M十进制数字Transport传递方式MSession会话号MLocation播放地址OServer播放服务器ORTSP/1.0200OKCSeq:3143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)[Location:rtsp://example.com/foo/bar/baz.mpg][Server:[servername|ipaddr;port]]Session:719885386Transport:MP2T/[RTP]/TCP;unicast;destination=172.18.79.120[:2005];interleaved=0-1;[bandwidth=2000000;][control_address=172.18.79.121;][packagesize=32712/32712/188]【注】:Range字段的表示方式:a)时移的固定时间点使用绝对时间,采用UTC时间表示,格式为:20070101T120000Z;b)时移的非固定时间点(如时移的左边界、右边界)使用相对时间,采用NPT时间的关键词表示,关键词为:now,beginning,end,其中:now:时移的当前点;beginning:时移的左边界(最早点);end:时移的右边界(直播的最新点)。其中now的具体说明如下:u在首次进入时移时,now代表时移的右边界,意义相当于end;u在进行时移播放、快退、快进(通过PLAY消息交互)后,now代表播放内容的绝对时间点;u在播放过程中,发生暂停(通过PAUSE消息交互)后,now代表播放内容暂停点的绝对时间点。c)VOD使用相对时间NPT,即相对于播放开始的时间,关键词为:now,beginning,end,其中:now:点播的当前点;beginning:点播的起始点;end:点播的结束点;d)Range字段的示例:u单播直播(非时移):Range:npt=end-或者now-u时移:Range:clock=[utc时间1]-[utc时间2]或者Range:npt=beginning-enduVOD:Range:npt=[npt时间1]-[npt时间2],npt时间可以是数字或者beginning、now、end143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)a)机顶盒发送PLAY命令带有“Range:npt=”字段,服务器如果接受(200OK),则必须从该字段规定的位置开始发送媒体流,如果服务器拒绝,则必须发送455回应表示拒绝。当机顶盒发送PLAY命令带有“Range:npt=”字段且不包含具体数值时,服务器如果接受(200OK),则表示缺省从当前位置开始发送媒体流,当前位置规定如下:u当第一次播放时(本次有效RTSP连接的第一个PLAY命令),对于点播节目当前位置为节目的起始位置,对于直播节目当前位置为媒体服务器当前接收的媒体流位置。u暂停状态下恢复播放为当时停止的位置,如果不知道该位置则从头播放。u播放状态下快进/快退为媒体流发送的当前位置。u快进快退状态下播放或继续快进快退为媒体流发送的当前位置。b)RTSP协议其他消息的Range字段,如无特殊说明,均遵守该规定。1.1.1.1 PLAYC->S表8-2-2-3-1Play消息请求HeaderFieldHeaderField说明是否必选数值CSeq应答和请求对应的序列号M十进制数字Session会话号MScale播放速度MRange播放范围MTransport传递方式OUser-Agent用户引擎OSpeed发送数据的比特速率比例,目前可不实现Ox-BurstSize表示终端缓冲区值Ox-BurstSize为整数值,以字节为单位。x-BurstSize为负数则表示终端缓冲区上溢,需服务器减少数据发送量;如果x-BurstSize为正数则表示终端缓冲区下溢,需服务器增加数据发送量;如果x-BurstSize为0则为非法数值。在SETUP命令后的首个PLAY命令,必须带有x-BurstSize参数;在节目播放过程中该参数为可选,只有在终端缓冲区出现上下溢时才在PLAY命令中带有此参数;143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)机顶盒需要服务器快速填充的数据量,服务器根据配置的速率进行发送,发送时可根据x-BurstSize计算突发数据的时间。Speed参数的意义请参考RFC2326的12.35Speed章节。本参数目前预留可选参数,终端及平台可不实现;当Speed参数实现时,平台需根据终端发送的x-BurstSize及Speed参数计算需要发送的Burst时间长度;PLAYrtsp://example.com/foo/bar/baz.mpgRTSP/1.0CSeq:5Session:719885386[Transport:MP2T/[RTP]/TCP;unicast;destination=172.18.79.120[:2005];interleaved=0-1][User-Agent:CURTSP1.0]Scale:1.0Range:npt=10-15,[npt=10-],[npt=now-,beginning-,end-,beginning-end,now-end][x-BurstSize:1000][Speed:1.1]【注1】C->SPlay带Scale参数请求,Scale参数至少支持1.0、2.0、4.0、8.0、16.0,-2.0、-4.0、-8.0、-16.0。快进、快退播放过程中服务器发送I帧视频,音频数据可不发送。【注2】:PLAY消息仅用于进行流量控制而不是进行播放速率切换时,终端得到流媒体服务器的响应后,不会向EPG页面发送EVENT消息。S->C表8-2-2-3-2Play消息响应HeaderFieldHeaderField说明是否必选数值CSeq应答和请求对应的序列号M十进制数字Session会话号MScale播放速度M143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)Range播放范围OServer服务器OSpeed发送数据的比特速率比例(目前可不实现)OPLAY响应消息示例如下:RTSP/1.0200OKCSeq:5Session:719885386[Server:servername|ipaddr;port]Scale:1.0Range:npt=10-15,[npt=10-],[npt=now-,beginning-,end-,beginning-end,now-end][Speed:1.1]1.1.1.1 PAUSEC->S表8-2-2-4-1PAUSE消息请求HeaderFieldHeaderField名说明是否必选数值CSeq应答和请求对应的序列号M十进制数字Session会话号MUser-Agent用户引擎OTransport传递方式OPAUSErtsp://example.com/fizzle/fooRTSP/1.0CSeq:834Session:12345678[User-Agent:CURTSP1.0][Transport:MP2T/[RTP]/TCP;unicast;destination=172.18.79.120[:2005] ;interleaved=0-1]【注】暂停超时时间由服务器决定。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)S->C表8-2-2-4-2PAUSE消息响应HeaderFieldHeaderField名说明是否必选数值CSeq应答和请求对应的序列号M十进制数字Session会话号MScale播放速度ORange播放范围OServer服务器ORTSP/1.0200OKCSeq:834Session:719885386[Range:npt=45.76-,[npt=now-,beginning-,end-]][Scale:0.000][Server:[servername|ipaddr;port]]1.1.1.1 ANNOUNCES->C表8-2-2-5-1ANNOUNCE消息请求HeaderFieldHeaderField名说明是否必选数值CSeq应答和请求对应的序列号M十进制数字Session会话号Mx-notice通知代码Mx-InfoDetail通知情况细节OConnection连接处理状况OANNOUNCE:rtsp://example.com/fizzle/fooRTSP/1.0143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)CSeq:834Session:12345678x-notice:xxxx[“InternalServerError”event-date=20050729T100431.097][x-InfoDetail :orderURL][Connection:close]【注1】x-notice取值如下:1101"PlayoutCancelled"录制的播放取消1102"PlayoutStarted"录制的播放开始.1103"PlaybackStalled"录制的播放临时不可用1104"PlayoutResumed"录制的播放恢复2101表示EndofStream;2102表示BeginningofStream;2103表示强制退出;2104表示定位到当前直播点;2105表示该服务未订购,此时流服务器停止播放流见8.3.6.2;2400"SessionExpired"Session的生命期在ticket检测下到期2401"TicketExpired"Ticket过期4401"BadFile"请求的文件无法打开4402"MissingFile"请求的文件不存在5201"InsufficientMDSBandwidth"MDS带宽不够5400"ServerResourceNoLongerAvailable"资源不可继续使用5502表示InternalServerError;5401表示Downstreamfailure;5402"ClientSessionTerminated"客户端被管理员关闭会话143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)5403"ServerShuttingDown"RTSPserver正在关闭5500"ServerError"未知事件发生5502"InternalServerError"内部错误导致服务器停止工作【注2】其他值可以自定义。1.1.1.1 TEARDOWNC->S表8-2-2-6-1TEARDOWN消息请求HeaderFieldHeaderField名说明是否必选数值CSeq应答和请求对应的序列号M十进制数字Session会话号MConnection连接处理状况OTransport传递方式OTEARDOWNrtsp://example.com/fizzle/fooRTSP/1.0Session:12345678CSeq:834[Transport:MP2T/[RTP]/TCP;unicast;destination=172.18.79.120[:2005]][Connection:close]S->C表8-2-2-6-2Teardown消息响应HeaderFieldHeaderField名说明是否必选数值CSeq应答和请求对应的序列号M十进制数字Session会话号MConnection连接处理状况ORTSP/1.0200OK143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)CSeq:834Session:12345678[Connection:close]1.1.1.1 DESCRIBEC->S表8-2-2-7-1DESCRIBE消息请求HeaderFieldHeaderField名说明是否必选数值CSeq应答和请求对应的序列号M十进制数字Accept接受内容形式,为“application/sdp”MUser-Agent用户引擎Ox-Retrans是否支持丢包重传机制M【注1】对于支持丢包重传机制的终端必须带有x-Retrans参数以询问流媒体系统对于该机制的支持。【注2】若平台响应不支持丢包重传机制,则所有与此功能相关参数均不启用(详细参数参考PLAY、GET-PARAMETER命令的说明)。DESCRIBE请求消息示例如下:DESCRIBErtsp://192.168.1.120:554/temp/rings.MPGRTSP/1.0Accept:application/sdpCSeq:16[User-Agent:CURTSP1.0][x-Retransmission]S->C表8-2-2-7-2Describe消息响应HeaderFieldHeaderField名说明是否必选数值143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)CSeq应答和请求对应的序列号M十进制数字Server播放服务器OContent-Type内容类型Mapplication/sdpContent-Length内容长度Mx-RetransSDP是否支持丢包重传机制参数值:yes-支持;no-不支持SDP内容OM【注】对于流媒体系统来说x-Retrans为可选参数,如果在响应中不带有x-Retrans则表示不支持丢包重传机制,如果平台支持丢包重传机制,则必须响应并带有x-Retrans参数,并表明对于该机制的支持情况。DESCRIBE响应求消息示例如下:RTSP/1.0200OKCSeq:16[Server:[servername|ipaddr;port]]Content-Type:application/sdpContent-Length:309[x-Retransmission:yes]SDPContent【注】SDP的格式描述如表。表8-2-2-7-3SDP数据格式字段类型必要性取值范围字段描述a=controlMediaO流媒体地址URLofpreparedstreamA=framerateClipO帧频Clipframerate143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)a=rangeClipO内容时间范围Cliprangea=x-backupurlMediaO备份URLa=x-framegeometryClipO分辨率Clipframegeometry(widthandheightinpixels)a=x-nameMedia/ClipO内容名称Nameofassetorclip(dependingoncontext)b=MediaO码率Mediabitratec=MediaM连接描述,可使用组播地址Connectiondescriptione=SessionOEmail地址i=Session/MediaOSession的描述信息Sessionormediadescription(dependingoncontext)k=SessionO加密方法和密钥m=MediaM媒体描述,需要区分是否采用RTP。即Transport格式。Mediadescription(generated,butnotused)o=SessionMSession的创建人、版本、ID等Sessionownerp=SessionO电话号码r=SessionO重复间隔、时长、次数s=SessionMSession名Sessionname143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)t=SessionM起始时间和结束时间Timesessionifactiveu=SessionO描述信息的URLv=SessionM版本RTSPversionz=SessionO时区具体描述参见RFC2327。C参数如果是组播地址的问题。SDP举例如下:v=0o=-11226314593196282139553954665140INIP4172.18.79.120s=RTSPSessiont=00i=b=AS:1288a=range:npt=0-246.655c=INIP40.0.0.0a=control:rtsp://vod01.he21.myrio.net:554/civil_PAL_720x576.mpim=video0RTP/AVP128a=framerate:25.00a=pmt:ArAXAAHBAADoEPAAG+gQ8AAD6BTwAGZ0pC0=1.1.1.1 GET_PARAMETERC->S表8-2-2-8-1Get_Parameter消息请求HeaderFieldHeaderField名说明是否必选数值CSeq应答和请求对应的序列号M十进制数字Session会话号M143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)User-Agent用户引擎Ox-Timeshift_Range时移范围Ox-Timeshift_Current时移当前时间Ox-retransSeq需要重传的数据包序号,最大需要重传的包个数为10个O十进制数字GET_PARAMETERrtsp://example.com/fizzle/fooRTSP/1.0CSeq:431Session:12345678[User-Agent:CURTSP1.0][x-Timeshift_Range][x-Timeshift_Current]S->C表8-2-2-8-2Get_Parameter消息响应HeaderFieldHeaderField名说明是否必选数值CSeq应答和请求对应的序列号M十进制数字Session会话号MServer播放服务器ODate日期Ox-Timeshift_Range时移时间范围Ox-Timeshift_Current时移当前时间O【注】:若终端发送的GET-PARAMETER消息为丢包重传请求,则服务器接受丢包重传请求并且能够理解和处理,将返回200ok,但是否重传不影响对于此类命令的响应。RTSP/1.0200OK143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)CSeq:431Session:12345678[Server:servername|ipaddr;port][x-Timeshift_Range:clock=20051108T141020.25Z-20051108T144020.25Z]【注】客户端定期发送仅携带Session号,不携带其他可选参数的Get_Parameter消息到服务器,服务器发送响应到机顶盒,这样可以确保整个流媒体通讯链路的保持。1.1 机顶盒单播接口(U4-T-1)播放指定URL的媒体文件。URL定义:协议名://服务器地址[:端口]/媒体文件路径[?附加信息]1.1.1 开始播放STB媒体数据SETUPSETUPResponseDESCRIBEDESCRIBEResponsePLAYResponsePLAY流媒体服务器[根据302Redirect重新发起Describe]图8-3-1-1开始播放时序图1.1.2 暂停播放143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)流媒体服务器STBPAUSEPAUSERESPONSE图8-3-2-1暂停播放时序图1.1.1 快进播放PLAYPLAYRESPONSE流媒体服务器STB图8-3-3-1快进播放时序图1.1.2 快退播放PLAYPLAYRESPONSESTB流媒体服务器图8-3-4-1快退播放时序1.1.3 定位播放143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)PLAYPLAYRESPONSESTB流媒体服务器图8-3-5-1定位播放时序图1.1.1 退出播放1.1.1.1 用户主动退出播放STBTEARDOWNTEARDOWNRESPONSE流媒体服务器图8-3-6-1-1用户退出播放时序图1.1.1.2 文件结束或服务器强制退出播放STBTEARDOWNTEARDOWNRESPONSEANNOUNCE流媒体服务器图8-3-6-2-1文件结束或服务器强制退出播放时序图1.2 机顶盒组播接口(S4-T-2)143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)IGMPJoin组播复制点STBIGMPLeaveMulticastStreamingMulticast/UnicastIPTV组播源图8-4-1IPTV组播业务流程1.1.1 加入一个频道IGMPJoinSTB组播复制点图8-4-1-1加入一个频道时序图1.1.2 离开一个频道组播复制点IGMPLeaveSTB图8-4-2-1离开一个频道时序图1.2 机顶盒单播时移接口(S4-T-3)当通过RTSP来播放指定URL的媒体文件时,URL定义为:协议名://服务器地址[:端口]/媒体文件路径[?附加信息],此处协议名为RTSP。1.2.1 暂停播放同点播接口暂停播放(8.3.2)。1.2.2 快进播放同点播接口快进播放(8.3.3)。1.2.3 快退播放同点播接口快退播放(8.3.4)。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)STB1.1.1 时移快退到录制左边界流媒体服务器ANNOUNCE快退到录制文件左边界PLAY/PAUSEPLAYResponse/PAUSEResponse图8-5-4-1时移快退到录制左边界的流程图n媒体服务器在快退时发现到达录制文件左边界,向STB发送announce消息,消息格式符合RTSP,即ANNOUNCE:ANNOUNCE:rtsp://example.com/fizzle/fooRTSP/1.0CSeq:834Session:12345678x-notice:xxxx[“InternalServerError”event-date=20050729T100431.097]【注】xxxx表示各种情况下的停止。n媒体服务器在快退时发现到达左边界,向STB发送ANNOUNCE消息,消息格式符合本标准的RTSP规范,其中,x-notice:2102;nSTB得到消息后,如果从已录制节目起始点开始播放,则发送PLAY消息,Range参数为npt=beginning-;nSTB得到消息后,如果需要暂停流播放,则发送PAUSE消息;nSTB需要收到200OK后,接收新的媒体数据,开始解码播放;1.1.2 时移快进到当前时间(右边界)143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)STB流媒体服务器ANNOUNCE快进到录制文件尾PLAY/PAUSEPLAYResponse/PAUSEResponse图8-5-5-1时移快进到当前时间的流程图n媒体服务器在快进时发现到达文件尾,向STB发送ANNOUNCE消息,消息格式符合本标准的RTSP规范,其中,x-notice:2101;如需要继续发送流(直播)则发送ANNOUNCE消息,其中x-notice:2104表示切换到直播。nSTB得到消息后,如需切换到直播,需再次发送PLAY命令,其中Range参数为npt=end-;nSTB得到消息后,如需暂停流播放,需再次发送PAUSE命令。1.1.1 定位播放同点播接口定位播放(8.3.5)。1.1.2 退出播放1.1.2.1 用户主动退出播放同点播接口用户主动退出播放(8.3.6.1)。1.1.2.2 文件结束或服务器强制退出播放同点播接口服务器强制退出播放(8.3.6.2)。1.2 机顶盒组播时移接口(U4-T-4)1.2.1 接口时序与本规范的“机顶盒组播接口”流程大致相同,机顶盒首先加入组播组,并接收从组播组节点传下来的组播视频流。在接收组播视频流的过程中,如果用户按了暂停键或快退键,机顶盒离开组播组,进入以下的时移过程。1.2.2 接口协议内容1.2.2.1 进入组播时移模式1.2.2.1.1 先建立时移通道模式143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)STBSETUPSETUPResponseSTBselecttrickmodeIGMPLeave组播复制点…………PLAY/PAUSEPLAY/PAUSEResponse流媒体服务器IGMPJoinDESCRIBEDESCRIBEResponse…………图8-6-2-1-1-1进入组播时移模式n机顶盒进入组播频道,使用IGMPJoin加入组播频道;nSTB与服务器建立RTSP连接,并发送DESCRIBE消息,服务器返回OK,机顶盒再SETUP消息,服务器返回OK;DESCRIBE、SETUP和OK符合本规范的RTSP命令语法;n在组播模式下,STB按TrickMode键(Pause、Rewind和Seek)进入时移模式;nSTB进行时移操作(Rewind即PLAY带快退参数如Scale–2.0、Seek或Pause等),发送PLAY或者PAUSE;nSTB离开组播组,其命令格式符合IGMPV2(RFC2236)的规定;n后续操作与单播直播时移一致。1.1.1.1.1 后建立时移通道模式143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)STBSETUPSETUPResponseSTBselecttrickmodeIGMPLeave组播复制点…………PLAY/PAUSEPLAY/PAUSEResponse流媒体服务器IGMPJoinDESCRIBEDESCRIBEResponse…………图8-6-2-1-2-1进入组播时移模式n在组播模式下,STB按TrickMode键(Pause、Rewind和Seek)进入时移模式;nSTB与服务器建立RTSP连接,并发送DESCRIBE消息,服务器返回OK,机顶盒再发送SETUP消息,服务器返回OK;DESCRIBE、SETUP和OK符合本规范的RTSP命令语法;nSTB进行时移操作(Rewind即PLAY带快退参数如Scale–2.0、Seek或Pause等),发送PLAY或者PAUSE;nSTB离开组播组,其命令格式符合IGMPV2(RFC2236)的规定;n后续操作与单播直播时移一致。STB1.1.1.1 播放到暂停时移流媒体服务器PAUSE切到点播内容,并记录当前的PAUSE时间点,PAUSEResponse143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)图8-6-2-2-1组播到暂停时移的流程图nSTB发送暂停命令给媒体服务器,暂停命令语法符合本规范的RTSP规定;n媒体服务器收到暂停命令后,返回200OK(符合本规范的RTSP规定),机顶盒进入暂停状态;1.1.1.1 暂停到播放时移STBPLAY从PAUSE点开始播放PLAYResponse流媒体服务器图8-6-2-3-1暂停到播放时移的流程图n位于时移的区段里,STB发送播放命令给媒体服务器,时间为暂停时的时间点;n媒体服务器收到播放命令后,开始从暂停点发送时移媒体数据;n如果这时当前位置已经不在支持时移范围之内则服务器返回457响应,服务器从录制文件的左边界播放,机顶盒正常播放并可选性给出提示信息;STB1.1.1.2 时移/直播中的定位流媒体服务器PLAYPLAYResponse用户输入时间图8-6-2-4-1时移/直播中的定位的流程图143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)n用户在STB输入时间(相对时间或绝对时间均可);nSTB发送播放消息,带Range,其值为绝对时间(UTC格式),具体格式可参见RFC2326规范;n媒体服务器从Range的时间点开始发送媒体数据;n如时间超过左边界/右边界则返回457响应,流媒体服务器播放左边界/右边界正常流,机顶盒正常播放并可选性给出提示信息。1.1.1.1 时移(快退)STBPLAYPLAYResponse流媒体服务器图8-6-2-5-1时移/直播中的快退的流程图n如果是时移,STB发送PLAY(例如:Scale=-2.0)给媒体服务器;n媒体服务器从当前点开始发送快退数据;STB1.1.1.2 时移快退到录制左边界流媒体服务器ANNOUNCE快退到录制文件左边界PLAY/PAUSEPLAYResponse/PAUSEResponse图8-6-2-6-1时移快退到录制左边界的流程图n媒体服务器在快退时发现到达录制文件左边界,向STB发送ANNOUNCE消息,消息格式符合RTSP,即143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)ANNOUNCE:ANNOUNCE:rtsp://example.com/fizzle/fooRTSP/1.0CSeq:834Session:12345678x-notice:xxxx[“InternalServerError”event-date=20050729T100431.097]【注】xxxx表示各种情况下的停止。n媒体服务器在快退时发现到达左边界,向STB发送ANNOUNCE消息,消息格式符合本标准的RTSP规范,其中,x-notice:2102;nSTB得到消息后,如果从已录制节目起始点开始播放,则发送PLAY消息,其中Range为npt=beginning-或其他合理的Range参数;nSTB得到消息后,如果需要暂停流播放,则发送PAUSE消息;nSTB需要收到200OK后,接收新的媒体数据,开始解码播放;1.1.1.1 时移快进到当前时间(右边界)STB流媒体服务器ANNOUNCE快进到录制文件尾切换到直播[[PAUSE][PAUSEResponse]图8-6-2-7-1时移快进到当前时间的流程图n媒体服务器在快进时发现到达文件尾,向STB发送ANNOUNCE消息,消息格式符合本标准的RTSP规范,其中,x-notice:2101;nSTB得到消息后,如需暂停流播放,需再次发送PAUSE命令;nSTB得到消息后,如切换到直播,则进入快捷切换到直播流程。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1.1.1.1 时移快捷切换回直播1.1.1.1.1 不保持时移通道切换回直播STBTEARDOWNTEARDOWNResponse流媒体服务器IGMPJoin组播复制点图8-6-2-8-1-1时移快速切换回直播的流程图n在时移状态下直接返回到直播,首先STB发送TEARDOWN消息断开RTSP连接,再重新加入组播组并开始播放直播数据。1.1.1.1.2 保持时移通道切换回直播STBPAUSEPAUSEResponse流媒体服务器IGMPJoin组播复制点图8-6-2-8-2-1时移快速切换回直播的流程图n在时移状态下直接返回到直播,首先使用PAUSE消息暂停时移流媒体,再重新加入组播组并开始播放直播数据。1.1.1.2 结束播放n在组播模式下,STB通过离开组播组结束播放,参见8.4.2;n在时移模式下,机顶盒向服务器发送TEARDOWN方法来终止本次会话,结束播放,参见8.3.6.1。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1 互联网电视机顶盒与内容分发系统之间的接口(U4-H)1.1 总体说明媒体流(MPEG2,H264)TSUDP/TCP信令控制RTPRTSPTCPIP上图描述了基于MPEG-2TS的传输协议栈结构。基于该协议栈结构,机顶盒和内容分发系统之间的接口分为两个通道:1、媒体流传输和接收通道:见上图的左半部分,即互联网电视内容分发系统和互联网电视机顶盒之间按照图中所示的格式或协议来完成实际音视频媒体流数据的传输和解包播放,其中RTP协议为可选性支持;2、媒体流会话控制通道:见上图的右半部分,互联网电视内容分发系统和互联网电视机顶盒之间按照图中所示的信令协议来完成对音视频媒体流的控制和交互,采用的协议为基于TCP的RTSP;3、如果流传输采用TCP方式,机顶盒和内容分发系统不重建TCP连接,而是和控制通道使用同一TCP通道,采用RTSP标准规范RFC2326定义的intealeave方式封装视音频媒体流数据。1.2 传输方式单播消息中涉及的Transport参数可选字段包括MP2T/TCP,MP2T/UDP,MP2T/RTP/TCP,MP2T/RTP/UDP,客户端可将支持的能力填在请求中,优先级按照先后次序决定,各个完整Transport方式之间用”,”分隔。服务端将根据本身支持的能力和优先级选定一种传输方式在回复中返回给客户端。具体的传输方式参见表9-2-1。表9-2-1Transport方式方式说明是否必选MP2T/TCP使用TCP直接承载MPEG2-TS,不使用RTP封装M143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)MP2T/UDP使用UDP直接承载MPEG2-TS,不使用RTP封装MMP2T/RTP/TCP使用基于TCP的RTP承载MPEG2-TSMMP2T/RTP/UDP使用基于UDP的RTP承载MPEG2-TSM1、以上四种传输方式要求机顶盒和内容分发系统都必须支持。下面举例说明了终端请求Transport方式的表示:n终端只支持MP2T/TCP方式:Transport:MP2T/TCP;unicast;interleaved=0-1n终端同时支持MP2T/TCP方式和MP2T/UDP方式:Transport:MP2T/TCP;unicast;interleaved=0-1,MP2T/UDP;unicast;destination=172.18.79.120;client_port=3456-34572、流媒体服务系统返回SETUPResponse中,将根据本身的能力从客户端支持的Transport方式中选择优先级最高并可支持的一种方式,填写在Transport参数中开始使用,如所有方式均无法支持则返回461错误码,并等待终端响应;下面举例说明了服务器回复Transport方式的表示:n服务系统选择了终端支持的MP2T/TCP方式:Transport:MP2T/TCP;unicast;interleaved=0-1n服务系统选择了终端支持的MP2T/UDP方式:Transport:MP2T/UDP;unicast;destination=172.18.79.120;client_port=3456;server_port=5543、终端使用平台选择的方式建立媒体通道,如平台返回错误码表示无法支持任何方式,则终端向用户报错并发送TEARDOWN消息,主动退出。1.1 封装格式1.1.1 MP2T/TCP在MP2T/TCP方式中,服务器在rtsp控制通道中传输TS数据,在若干个(小于8个)TS包前面加入4bytes的interleavehead并以TCP数据流方式发送,一般将7个TS包封装成一个TCP数据包。格式如下所示:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)TCP头部后面为interleavehead,其中第一个字节固定为$,第二个字节为interleaveid,后两个字节length为其后数据的长度,一般为7*188。interleavehead的说明还可以参考RTSP标准规范RFC2326。1.1.1 MP2T/UDP在MP2T/UDP方式中,服务器和机顶盒通过协商确定目地地址和端口,通过UDP方式向机顶盒分发媒体数据。服务器将若干个(小于8个)TS包组成一个UDP数据包方式发送,一般将7个TS包封装成一个UDP数据包,格式如下所示:1.1.2 MP2T/RTP/TCP在MP2T/RTP/TCP中,服务器在Rtsp中以类似于Rtpoverrtsp方式在Rtsp控制通道中传输TS数据。在若干个(小于8个)TS包前面加入RTP头部和4bytes的interleavehead作为一个包发送,一般将7个TS包封装成一个TCP数据包。格式如下所示:TCP头部后为interleavehead,其中第一个字节固定为$,第二个字节为interleaveid,后两个字节length为其后数据的长度,一般为7*188+RTP头部。如需实现数据包重传、加密等扩展机制,可采用MP2T/RTP/TCP方式。RTP包头参见RTP标准规范RFC1889。在组播分发中,终端可以根据数据包(TCP头部解析后)的第5个字节的字段数值,如果是0x47,表示为TS数据包,否则为RTP头部,需按照下列公式解析出RTP头长度,终端解析公式:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)RTP标准头字节数=(RTP头[0]&0x0F)*4+12RTP扩展头字节数=(RTP头[0]&0x10)*(4+(RTP头[RTP标准头字节数+2]*0x100+RTP头[RTP标准头字节数+3])*4)RTP头总字节数=RTP标准头字节数+RTP扩展头字节数备注:RTP头数组是char数组(代表单字节)需要注意,若干个TS数据报是加一个interleavehead(上述4字节header)和RTP包头后组成一个TCP数据包,直接进行发送。1.1.1 MP2T/RTP/UDP在MP2T/RTP/UDP方式中,服务器和机顶盒通过协商确定目地地址和端口,通过UDP方式向机顶盒分发媒体数据。服务器将若干个(小于8个)TS包前面加入一个RTP头后组成一个UDP数据包方式发送,一般将7个TS包封装成一个UDP数据包。格式如下所示:如需实现数据包重传、加密等扩展机制,可采用MP2T/RTP/UDP方式。RTP包头参见RTP标准规范RFC1889。在组播分发中,终端可以根据数据包(UDP头部解析后)的第1个字节的字段数值,如果是0x47,表示为TS数据包,否则为RTP头部。RTP头部长度解析方法请参见9.3.3。1.2 协议描述1.2.1 URL说明机顶盒对URL的长度,至少支持4028字节以上。URL的详细格式说明,由具体的业务系统来解析。1.2.2 RtspMethod说明各Method及object的解释同RFC2326,本规范对“要求”作了更新。如下:方法方向object要求DESCRIBEC->SP,SrequiredANNOUNCEC->S,S->CP,SoptionalGET_PARAMETERC->S,S->CP,Soptional143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)OPTIONSC->S,S->CP,Srequired(S->Coptional)PAUSEC->SP,SrecommendedPLAYC->SP,SrequiredREDIRECTS->CP,SrequiredSETUPC->SSRequiredTEARDOWNC->SP,SRequiredSET_PARAMETERC->S,S->CP,SoptionalRtsp各Method中需要支持的Header同RFC2326第12章,扩展的如下:Header域方向在何命令x-PrebufferC->SPlayrequiredx-Ts-infoS->CPlay的返回recommendedx-InfoS->CSetParameterrecommendedx-ReasonS->CSetParameterrecommended为了可能的扩展灵活性,对于RTSP交互中存在的不能识别的Header,两端都应该忽略这些header。1.1.1 与流服务系统的接口终端与流服务系统的通讯包括从终端获得点播URL到终端经过1~N次重定向后到最后定位到视频服务器的全过程。l终端获得点播URL,从中获取流服务系统入口服务器的IP地址、端口,并启动RTSP请求DESCRIBErtsp://192.168.50.157:16050/media/abcd.MPG?userid=8618807880000&userip=135.251.26.67&spid=1000&pid=4&cid=22&subcontentid=112&timpstamp=20081105101745&life=300&contenttype=4&preview=0&proxy=0&oma=0&chargeuserid=15600000001&subcontentsize=32&mimetype=video/3gpp&mode=1&duration=100_700&enkey=f1ead3e71287f1faRTSP/1.0CSeq:1Accept:application/sdpUser-Agent:HFC-PlayerV1.1l流服务系统导向服务器返回的内容重定向指令遵循RTSP规范的“302REDIRECT”命令,而终端只需要根据命令中Location的URL重新发送DESCRIBE命令即可,这样的循环可能有多次;143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)RTSP/1.0302MovedTemporarilyCSeq:1Server:Server/3.0.10Location:rtsp://192.168.50.157:16050/media/abcd.MPG?userid=8618807880000&userip=135.251.26.67&spid=1000&pid=4&cid=22&subcontentid=112&timpstamp=20081105101745&life=300&contenttype=4&preview=0&proxy=0&oma=0&chargeuserid=15600000001&subcontentsize=32&mimetype=video/3gpp&mode=1&duration=100_700&enkey=f1ead3e71287f1fa流服务系统最终将终端定向到提供服务的流媒体服务器,此时流媒体服务器将回复“200OK”命令。具体格式见下一章节。1.1.1.1 与流媒体服务器的点播接口终端和服务器之间的数据交互全部通过IP来完成。1.1.1.2 DESCRIBE请求开始点播时终端将首先发送DESCRIBE请求。DESCRIBErtsp://192.168.200.215:5555/2.ts?token=abcd1234RTSP/1.0CSeq:1Accept:application/sdpUser-Agent:HFC-PlayerV1.1当终端发送的DESCRIBE请求到流媒体服务器后,流媒体服务器对此点播进行认证,并给该点播请求需要的资源。如果成功流媒体服务器将向终端回复“200OK”命令。对于TrackSDP在ISMA标准的基础上根据需要进行修改。将只包括“m”和“a=control”参数。其中m参数中第3个字段用MP2T表示数据包采用标准的TS封装和传输,第4个字段表示ES流的类型。在系统中当前定义的ES流类型为mpgv(MPEG2video)、mpga(MPEG2audio)、avc(H.264video)、mp4v(MPEG4video)、mp4a(MPEG4audio)。以往ISMA中的video的config信息也将不再SDP中出现,终端可以在ES流中周期获得。(这个主要考虑和DVB的一致)RTSP/1.0200OKServer:ServerCSeq:1Content-Length:302Content-Type:application/sdpContent-Base:rtsp://192.168.200.8:5555/2.ts/v=0143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)o=-17024150894281335390INIP4127.0.0.1s=/2.tsc=INIP40.0.0.0t=00a=control:*a=range:npt=0-2308.000000m=video0RTP/AVP33a=rtpmap:33MP2T/90000如果创建源失败,服务器将返回相应错误代码。错误代码的格式见RTSP协议标准文档:RFC2326。1.1.1.1 SETUP请求STB向Server发送SETUP请求,协商传输方式以及端口,目前只考虑TCP方式的情况。SETUPrtsp://192.168.200.8:5555/2.tsRTSP/1.0CSeq:2User-Agent:HFC-PlayerV1.1Transport:MP2T/TCP;如果添加成功Server将向STB回复“200OK”。RTSP/1.0200OKServer:ServerCseq:2Session:91972680469864186Cache-Control:no-cacheTransport:MP2T/TCP;注意:从RTSPSETUP命令起(SETUP、PLAY、OPTIONS、TEARDOWN等),RTSPURL中将不携带任何参数,如token等,URL到.mpg扩展名结束,后面从“?”符号开始的内容全部去掉。Transport字段表示用TS直接封装和传输MPEG2/H.264/MPEG4。1.1.1.2 PLAY请求STB通过PLAY请求要求服务器发送从某个播放时间开始的媒体数据。PLAYrtsp://192.168.200.8:5555/2.mpgRTSP/1.0CSeq:4Session:91972680469864186Range:npt=0.000000-x-BurstSize:1000Speed:4.0User-Agent:HFC-PlayerV1.1x-BurstSize为整数值,以字节为单位。x-BurstSize为负数则表示终端缓冲区上溢,需服务器减少数据发送量;如果x-BurstSize为正数则表示终端缓冲区下溢,需服务器增加数据发送量;如果x-BurstSize为0则为非法数值。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)在SETUP命令后的首个PLAY命令,必须带有x-BurstSize参数;在节目播放过程中该参数为可选,只有在终端缓冲区出现上下溢时才在PLAY命令中带有此参数;机顶盒需要服务器快速填充的数据量,服务器根据配置的速率进行发送,发送时可根据x-BurstSize计算突发数据的时间。Speed:播放速度,X取1-4之间数值,可以是小数。Speed参数的意义请参考RFC2326的12.35Speed章节。本参数目前预留,为可选参数;Range参数中可以用npt格式指定播放范围。具体格式见RTSP(RFC2326)。在暂停后的继续时可以没有Range参数,服务器将接着暂停点发包。可通过Scale参数用于指定播放的倍率,正值表示快进、负值表示快退,Scale参数至少支持1.0、2.0、4.0、8.0、16.0、32.0,-2.0、-4.0、-8.0、-16.0、-32.0。在快进快退模式下服务器将只发送视频数据的关键帧,。并要求终端收到帧以后立即进行展现,不需要进行同步处理。音频数据可不发送。注意:上面提到的Speed和Scale不能同时存在于请求中。客户端在请求中带有Speed时,服务端应回复一个支持的Speed参数,或者回复错误码“456”。Scale也是和Speed相同的处理方式。如果Server同意播放,将向STB回复“200OK”。在回复的Range参数中给出实际的播放范围(可能和请求的点略有差别)。在回复的Scale参数中给出实际的播放倍率。RTSP/1.0200OKServer:ServerCseq:4Range:npt=0.000000-6360.560128Speed:4.0Session:91972680469864186x-Ts-info:1123456677如果请求格式为:PLAYrtsp://192.168.200.8:5555/2.mpgRTSP/1.0CSeq:4Session:91972680469864186Range:npt=0.000000-x-BurstSize:1000Scale:2.0User-Agent:HFC-PlayerV1.1则回复为:RTSP/1.0200OKServer:Server143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)Cseq:4Range:npt=0.000000-6360.560128Scale:2.0Session:91972680469864186x-Ts-info:1123456677x-Ts-info(可选)参数传输的是Range中begin的pts对应的timestamp,用于将PES中的timestamp(PES中的PTS和DTS)映射成当前播放时间。注:服务器在发送完PLAY返回以后,将开始发送数据,终端需要通过解析PAT,PMT表,来得到音视频的PID及其类型。1.1.1.1 PAUSE请求STB发送PAUSE请求要求暂停播放。PAUSErtsp://192.168.200.8:5555/2.mpgRTSP/1.0CSeq:6Session:91972680469864186User-Agent:HFC-PlayerV1.1如果Server允许该请求将向STB回复“200OK”。RTSP/1.0200OKServer:ServerCseq:6Session:919726804698641861.1.1.2 TEARDOWN请求STB发送TEARDOWN请求要求释放所有资源并退出。TEARDOWNrtsp://192.168.200.8:5555/2.mpgRTSP/1.0CSeq:7Session:91972680469864186User-Agent:HFC-PlayerV1.1Server端将回复“200OK”,并释放资源退出。RTSP/1.0200OKServer:ServerCseq:7Session:91972680469864186Connection:Close1.1.1.3 OPTIONS请求STB通过OPTIONS请求向服务器周期汇报STB的存活状态。一般汇报周期为30秒。如果在限定时间(如60秒)内STB未发送该请求,服务器端将认为STB已经死亡,而将其踢除。OPTIONSrtsp://192.168.200.8:5555/2.mpgRTSP/1.0CSeq:11User-Agent:HFC-PlayerV1.1Server端将应答:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)RTSP/1.0200OKServer:ServerCseq:11Session:919726804698641861.1.1 限制与约定1.1.1.1 PLAY和PAUSE的一些约定通过PLAY和PAUSE请求的组合,可以完成定点播放、暂停继续、播放速度调整多项功能。这里需要对部分不合理的组合进行限制。n在系统正处于播放状态时,应当先发送PAUSE请求暂停播放后,发送PLAY请求。n定点播放和播放速度调整时,PLAY请求都需要有Range参数,指定播放开始点。n暂停继续时,不清空终端端缓存,PLAY请求中的prebuffer应该根据实际剩余的缓存大小给出(或者简单的置为零)。n暂停继续需要保证前后播放倍率一致。不应该出现:单倍播放->暂停->快进快退快进快退->暂停->单倍播放2 机顶盒与通信服务系统接口(U5接口)2.1 消息系统接口本规范规定了机顶盒与家庭宽带多媒体应用业务平台的接口,包括与业务管理系统、EPG服务系统、2.1.1 机顶盒获取消息系统入口地址机顶盒到家庭宽带多媒体应用平台系统登陆,获取消息系统入口地址。接口方向:STB->业务管理系统接口协议:HTTPGET/POST协议请求参数:原有登录认证接口响应参数:需扩展认证响应接口,返回消息系统入口地址。此接口参见“5.3.3IPTV机顶盒认证”小节。2.1.2 机顶盒到消息管理系统的登陆接口STB登录到消息管理系统中,完成到消息系统的登录鉴权,消息管理系统将资源服务器地址、资源更新间隔、用户属性、消息引擎地址、链路保活间隔、业务保活间隔下发到机顶盒并保存在机顶盒中。接口方向:STB->消息管理系统接口协议:HTTPGET协议请求参数定义:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)名称类型说明是否必选UserIDString(36)用户帐号Y响应参数(text/html):名称类型说明是否必选ReturnCodeInt返回值:0:鉴权成功,表示存在该用户其他:鉴权失败YResourceVersionString(16)资源版本号YResourceURLString(128)资源服务器地址YRegisterURLString(128)注册地址,即消息引擎地址YOptionKeepInt链路保活间隔,单位:秒,默认为60秒YServiceKeepInt业务保活间隔,单位:秒,默认为300秒YMsgDelayTimeInt开始获取离线消息的延迟时间,单位:秒YMsgShowIntervalInt消息展示间隔,应用于多个消息的情况,单位:秒YSwitchDelayTimeInt对绑定消息,切换频道或者视频时触发INFO的延迟时间NMatchRuleString用户匹配规则Y1.1.1 资源获取接口机顶盒获得资源更新通知时,根据URL进行下载更新。应用在系统开机或者消息引擎主动通知机顶盒资源更新的时候。接口方向:STB->资源服务器接口协议:FTP协议系统默认资源名称:定义系统模板,以统一展现效果。对于按钮、选择框等元素,为了区分是否获得焦点、是否被选中,需要定义多个图标。对象类型文件名称窗口消息背景/SYSTEM/template/bg_[模板号].jpg 互动消息背景/SYSTEM/template/votebg.jpg确定按钮_未获焦点/SYSTEM/button/ok_uf.jpg 确定按钮_获得焦点/SYSTEM/button/ok_f.jpg 取消按钮_未获焦点/SYSTEM/button/close_uf.jpg取消按钮_获得焦点/SYSTEM/button/close_f.jpg单选框_未获焦点_未选中/SYSTEM/button/choice_uf_n.jpg单选框_未获焦点_选中/SYSTEM/button/choice_uf_y.jpg单选框_获得焦点_未选中/SYSTEM/button/choice_f_n.jpg单选框_获得焦点_选中/SYSTEM/button/choice_f_y.jpg143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)说明:资源文件要打包成zip包的形式,所有图片打成一个zip包。1.1.1 机顶盒注册消息机顶盒启动后到消息系统的消息引擎进行注册。接口方向:机顶盒–>消息系统的消息引擎接口协议:SIP协议的Register消息请求参数:SIP方式,参照RFC3261应答参数:SIP方式注册消息示例如下(注册的有效期为两小时):REGISTERsip:registrar.wo.comSIP/2.0Via:SIP/2.0/UDPxxx.wo.com:5060;branch=z9hG4bKnashds7Max-Forwards:70To:xxxxFrom:xxxx;tag=456248Call-ID:843817637684230@998sdasdh09CSeq:1826REGISTERContact:Expires:7200Content-Length:0 服务器回应一个200OK消息:SIP/2.0200OKVia:SIP/2.0/UDPxxxx.wo.com:5060;branch=z9hG4bKnashds7;received=165.0.2.4To:xxxx;tag=2493k59kdFrom:xxxx;tag=456248Call-ID:843817637684230@998sdasdh09CSeq:1826REGISTERContact:Expires:7200Content-Length:01.1.2 机顶盒定时发送业务保活信息143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)机顶盒定时发送业务保活消息到消息引擎,间隔时间可配置,默认为300秒。连续3次无响应,重新向APP注册。接口方向:机顶盒–>消息系统的消息引擎接口协议:SIP协议的Register请求参数:Sip方式,参照RFC3261应答参数:Sip方式注:业务保活消息与普通的注册消息相同。1.1.1 机顶盒定时发送链路保活信息机顶盒定时发送链路保活消息到消息引擎,间隔时间可配置,默认为60秒。连续3次无响应,重新向APP注册。接口方向:机顶盒–>消息系统的消息引擎接口协议:SIP协议的OPTION请求参数:Sip方式,参照RFC3261应答参数:Sip方式请求消息示例如下:OPTIONSsip:xxx@itv.xxxx.wo.comVia:SIP/2.0/UDPpc33.atlanta.com;branch=z9Hg4bKhjhs8ass877Max-Forwards:70To:From:xxxx;tag=1928301774Call-ID:a84b4c76e66710Cseq:63104OPTIONSContact:Accept:application/sdpContent-Length:0回复消息示例如下:SIP/2.0200OKVia:SIP/2.0/UDPitv.xxxx.wo.com.cn;branch=z9hG4bKhjhs8ass877;received=165.0.2.4To:;tag=93810874143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)From:xxxx;tag=1928301774Call-ID:a84b4c76e66710Cseq:63104OPTIONSContact:Contact:mailto:xxxx@itv.xxxx.wo.com.cnAllow:INVITE,ACK,CANCEL,OPTIONS,BYEAccept:application/sdpAccept-Encoding:gzipAccept-Language:cnSupported:fooContent-Type:application/sdpContent-Length:274(SDPnotshown)1.1.1 到消息引擎查询开机消息机顶盒到消息引擎注册成功后,首先发送查询开机消息。接口方向:STB–>消息系统的消息引擎接口协议:SIP协议的INFO消息请求参数:INFO:名称类型说明Optypestring3-开机请求消息格式:MESSAGEsip:1000@itv.xxxx.wo.com.cnSIP/2.0..Via:SIP/2.0/UDP10.42.49.220:5060;branch=z9hG4bK1726956429421770..From:;tag=294702567.116421775..To:..Call-ID:521595368421770@10.42.49.220..CSeq:131329MESSAGE..Max-Forwards:70..Accept-Contact:*;+g.oma.sip-im..User-Agent:im..Date:Fri,05Nov201008:07:22GMT..143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)Content-Type:Message/CPIM..Content-Length:275....Subject:..NS:MsgExt..MsgExt.msgType:IPTV..MsgExt.msgReport:NO..MsgExt.localMsgID:UE0026ED3903EC20101105080722....Content-Type:text/plain;charset=UTF-8..content-transfer-encoding:base64....PGluZm8gb3B0eXBlPScwJyB2YWx1ZT0nMCcgLz4A..应答参数:应答参数为消息引擎查询到的开机消息。应答消息格式:SIP/2.0202Accepted..Via:SIP/2.0/UDP10.42.49.220:5060;branch=z9hG4bK1350490027421769..From:;tag=1025202362.116421769..To:;tag=1616064478.1182708170..Call-ID:1189641421421769@10.42.49.220..CSeq:65793MESSAGE..Server:Msg-serv/3GPP..Date:Fri,05Nov201023:00:20GMT..Content-Length:0....1.1.1 到消息引擎查询离线消息机顶盒在开机发送查询开机消息后(一定要带上时间戳),间隔一定时间(MsgDelayTime)后,再向消息引擎发送查询离线消息。接口方向:STB–>消息系统的消息引擎接口协议:SIP协议的INFO消息请求参数:INFO:名称类型说明Optypestring0-离线Valuestring时间戳143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)注:机顶盒请求离线消息与开机消息的请求格式级别类似,都是采用MESSAGE消息进行请求,通过字段的Optype字段进行区分。1.1.1 到消息引擎查询频道/VOD绑定消息终端在切换频道和点播视频时,首先到消息引擎查询是否有和该业务绑定的消息,消息引擎查询到后将消息下发到终端。为避免频道/VOD频繁切换,导致发出的查询消息过多,机顶盒也来不及显示。每次切换,延时SwitchDelayTime(默认10s,可配置)再发查询请求消息。接口方向:STB–>消息系统的消息引擎接口协议:SIP协议的INFO消息请求参数:INFO:名称类型说明Optypestring1-绑定频道2-绑定VODValuestring关联的频道号或者点播的视频编号应答参数:应答参数为消息引擎查询到的滚动消息、OSD消息和页面消息。SIP/2.0/UDP10.42.49.220:5060;branch=z9hG4bK1734575198421772..From:;tag=756898537.116421786..To:;tag=973018900.1182708200..Call-ID:608413784421772@10.42.49.220..CSeq:262401MESSAGE..Server:Msg-serv/3GPP..Date:Fri,05Nov201023:06:05GMT..Content-Length:0..1.1.2 消息下发接口(消息引擎发送消息到机顶盒)从应用发起的消息由消息系统推送到终端。接口的字段间以符号“$”作为分隔符。接口方向:消息系统的消息引擎–>机顶盒接口协议:SIP协议的MESSAGE消息请求参数:包括滚动字幕消息、OSD窗口消息、页面消息、互动消息、系统消息的资源更新消息。应答参数:采用SIP协议的应答,成功即发送200OK消息。1.1.3 滚动字幕消息消息体中主要包含以下字段值:名称类型说明143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)MatchRuleString匹配规则,终端用来作消息的合法匹配用,包括所属用户组、状态、省份、城市、区、产品包。为空表示针对列表用户消息,不需要进行匹配,直接展示消息。MsgModeString(4)0100,滚动字幕;TimeStampString(18)时间戳,消息的下发时间,YYYYMMDDHHMMSS0001,最后四位为序号,同时作为消息的唯一标识MsgSrcNameString(256)消息发送方名称MsgTypeInt0:通知消息1:liveTV任务,绑定频道2:VOD任务,即绑定视频3:开机任务4:其他RelateIDString(1024)频道,VODprogram对应的ContentIDFiredTimeInt消息触发时间:1.直播,绝对时间,(使用从1970年1月1日零时开始的秒数)2.点播,相对时间,(节目播放秒数)3.如果为0代表立即执行PriorityInt0:最低10:最高默认为5。SaveFlagInt保存标识,用于控制机顶盒是否将本消息保存到收件箱中。0:不保存,为默认值1:保存,终端需要保存消息的标题、内容(Content或者MsgURL)、发送时间、发送方以及MsgUrl,特效控制字段不作保存ContentString(1024)消息正文AlphaInt图像显示透明度:0到100之间。0(表示不透明,默认)100(表示完全透明)BgColorString(8)字体背景颜色,格式,RGB:#FFFFFF。默认#C8C8C8(灰白色)。用于滚动字幕,消息窗口由模板图片决定。FontColorString(8)字体颜色,默认#000000(黑色)FontInt显示字体1,黑体(针对中文)143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)2,Arial(针对英文)FontSizeInt字体尺寸,默认20ShowPlaceInt模糊展示位置:1,左上2,上方3,右上4,左方5,中间6,右边7,左下8,下方9,右下对滚动字幕使用2、4、6、8当值为0时或该字段没有时表示采用精确展示,默认为0ShowLeftInt精确展示时左对齐的显示位置,百分比数值ShowTopInt精确展示时上对齐的显示位置,百分比数值ShowWideInt精确展示时的显示宽度,百分比数值ShowHeightInt精确展示时的显示高度,百分比数值RollTimesInt滚动次数,默认2RollSpeedInt滚动速度1,低速,16秒走完屏幕,(每秒40像素)默认2,中速,8秒走完屏幕(每秒80像素)3,高速,4秒走完屏幕(每秒160像素)RollModeInt滚动模式1:从左往右2:从右往左(默认)3:从上往下4:从下往上5:翻页HeadReserveInt滚动条头部位置偏移量(像素)默认:0TailReserveInt滚动条尾部位置偏移量(像素)默认:0HeadIconString(32)前端小图,目录加文件名,比如/SP/icon/head.gifTailIconString(32)后端小图,目录加文件名FixedHeadIconString(32)前端固定小图,目录加文件名FixedTailIconString(32)后端固定小图,目录加文件名143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)滚动字幕消息体示例:MatchRule:$xxxxMsgMode:0100$TimeStamp:201007200808080001$MsgSrcName:TVMS$MsgType:0$RelateID:12345678$FiredTime:0$Priority:5$SaveFlag:0$Content:世界末日$Alpha:50$BgColor:#C8C8C8$FontColor:#000000$Font:黑体$FontSize:20$ShowLeft:10$ShowTop:80$ShowWide:60$ShowHeight:15$RollTimes:2$RollSpeed:2$RollMode:2$HeadReserve:0$TailReserve:0$HeadIcon:/SP/icon/head.gif$TailIcon:/SP/icon/tail.gif$FixedHeadIcon:$FixedTailIcon:参数名和参数值之间用冒号“:”分隔,参数名都为小写,各参数间以符号“$”作为分隔符。1.1.1 OSD窗口消息消息体中主要包含以下字段值:名称类型说明MatchRuleString匹配规则,终端用来作消息的合法匹配用,包括所属用户组、状态、省份、城市、区、产品包。为空表示针对列表用户消息,不需要进行匹配,直接展示消息。MsgModeString(4)0200,以OSD的方式展示文字消息TimeStampString(18)时间戳,消息的下发时间,YYYYMMDDHHMMSS0001,最后四位为序号,同时作为消息的唯一标识MsgSrcNameString(256)消息发送方名称MsgTypeInt0:通知消息1:liveTV任务,绑定频道2:VOD任务,即绑定视频3:开机任务4:其他RelateIDString1024)频道,VODprogram对应的ContentIDFiredTimeInt消息触发时间:1.直播,绝对时间,(使用从1970年1月1日零时开始的秒数)2.点播,相对时间,(节目播放秒数)3.如果为0代表立即执行PriorityInt0:最低10:最高默认为5。SaveFlagInt保存标识,用于控制机顶盒是否将本消息保存到收件箱中。0:不保存,为默认值143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1:保存,终端需要保存消息的标题、内容(Content或者MsgURL)、发送时间、发送方以及MsgUrl,特效控制字段不作保存ContentString(1024)消息正文AlphaInt图像显示透明度:0到100之间。0(表示不透明,默认)100(表示完全透明)FontColorString(8)字体颜色,默认#000000(黑色)FontString(10)显示字体1,黑体(针对中文)2,Arial(针对英文)FontSizeInt字体尺寸,默认20ShowPlaceInt模糊展示位置:1,左上2,上方3,右上4,左方5,中间6,右边7,左下8,下方9,右下对滚动字幕使用2、4、6、8当值为0时或该字段没有时表示采用精确展示,默认为0ShowLeftInt精确展示时左对齐的显示位置,百分比数值ShowTopInt精确展示时上对齐的显示位置,百分比数值ShowWideInt精确展示的显示宽度,百分比数值ShowHeightInt精确展示的显示高度,百分比数值PopShowTimeInt单位:秒。默认15秒消息窗口停留时间。值为-1时表示一直展示PopTemplateInt模板编号。详情参见附录。1,小号模板2,中号模板(默认)3,大号模板TemplatePictureString(64)模板图片,为目录文件名,例如/SP1/template/bkground.jpg143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)FiredTimeInt消息触发时间:1.直播,绝对时间,(使用从1970年1月1日零时开始的秒数)2.点播,相对时间,(节目播放秒数)3.如果为0代表立即执行1.1.1 页面消息消息体中主要包含以下字段值:名称类型说明MatchRuleString匹配规则,终端用来作消息的合法匹配用,包括所属用户组、状态、省份、城市、区、产品包。为空表示针对列表用户消息,不需要进行匹配,直接展示消息。MsgModeString(4)0300,页面消息。TimeStampString(18)时间戳,消息的下发时间,YYYYMMDDHHMMSS0001,最后四位为序号,同时作为消息的唯一标识MsgSrcNameString(256)消息发送方名称MsgTypeInt0:通知消息1:liveTV任务,绑定频道2:VOD任务,即绑定视频3:开机任务4:其他RelateIDString1024)频道,VODprogram对应的ContentIDFiredTimeInt消息触发时间:1.直播,绝对时间,(使用从1970年1月1日零时开始的秒数)2.点播,相对时间,(节目播放秒数)3.如果为0代表立即执行PriorityInt0:最低10:最高默认为5。SaveFlagInt保存标识,用于控制机顶盒是否将本消息保存到收件箱中。0:不保存,为默认值1:保存,终端需要保存消息的标题、内容(Content或者MsgURL)、发送时间、发送方以及MsgUrl,特效控制字段不作保存ControlModeInt控制模式:0:先提示后展示。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)(先显示摘要消息提示用户,用户点击链接地址后显示消息内容)1:无提示直接展示(此模式一般用于互动竞猜消息,不用页面提示,机顶盒直接通过下发的MsgURL获取消息内容进行展示)ContentString(50)摘要消息MsgURLString(128)页面消息页面文件地址AlphaInt图像显示透明度:0到100之间。0(表示不透明,默认)100(表示完全透明)ShowPlaceInt模糊展示位置:1,左上2,上方3,右上4,左方5,中间6,右边7,左下8,下方9,右下对滚动字幕使用2、4、6、8当值为0时或该字段没有时表示采用精确展示,默认为0ShowLeftInt精确展示时左对齐的显示位置,百分比数值ShowTopInt精确展示时上对齐的显示位置,百分比数值ShowWideInt精确展示的显示宽度,百分比数值ShowHeightInt精确展示的显示高度,百分比数值PopShowTimeInt单位:秒。默认15秒消息窗口停留时间。值为-1时表示一直展示FiredTimeInt消息触发时间:1.直播,绝对时间,(使用从1970年1月1日零时开始的秒数)2.点播,相对时间,(节目播放秒数)3.如果为0代表立即执行1.1.1 互动消息对于互动消息,采用页面消息实现,机顶盒根据msgurl到指定地址下载页面并展示(接口详见9.3.12),用户点击提交按钮后,将结果消息直接上报到应用服务器。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1.1.1 资源更新通知接口资源更新的系统通知消息。接口方向:消息系统的消息引擎–>机顶盒接口协议:SIP协议的MESSAGE消息请求参数:名称类型说明MatchRuleString匹配规则,终端用来作消息的合法匹配用,包括所属用户组、状态、省份、城市、区、产品包。为空表示针对列表用户消息,不需要进行匹配,直接展示消息。MsgModeString(4)9900资源更新的系统通知消息MsgIDString(16)Message的唯一标识MsgSrcNameString(32)消息发送方名称PriorityInt0:最低10:最高默认为5。SaveFlagInt保存标识,用于控制机顶盒是否将本消息保存到收件箱中。0:不保存,为默认值1:保存,终端需要保存消息的标题、内容(Content或者MsgURL)、发送时间、发送方以及MsgUrl,特效控制字段不作保存ResourceVersionString(18)资源更新版本号,YYYYMMDDHHMMSS0001,最后四位为序号ResourceURLString(128)资源获取地址应答参数:采用SIP协议的应答,成功即发送200OK消息。1.1.1 终端接收到消息之后发送反馈消息终端接收到消息之后通过SIP协议反馈接收成功消息,消息体如下:SIP/2.0202Accepted..Via:SIP/2.0/UDP10.42.49.33:5061;branch=z9hG4bK169552019257..From:;tag=28162.1162019442..To:;tag=hyjjxh134.1138466389.118175905881..Call-ID:312262019188@10.42.49.33..CSeq:100MESSAGE..Server:Msg-serv/3GPP..Date:Tue,12Oct201005:51:24GMT..Content-Length:0..1.1.2 消息详情页面获取接口对于页面消息,STB使用HTTP协议去指定的URL下载文件。接口方向:STB->web服务器143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)接口协议:FTP协议调用接口:消息详情页面所在位置的URL,即MsgURLHTTP格式样例如下:Http://WebServer:port/MessageBody.htm(jsp/asp/aspx)10.2.1 消息上报接口(机顶盒发送消息到消息引擎)机顶盒将用户编辑的点对点消息发送消息引擎,再由消息引擎发送目的终端。接口方向:STB->消息引擎接口协议:SIP协议请求参数:采用SIP协议的MESSAGE消息应答参数:采用sip协议的应答,成功即发送200OK消息。消息体中主要包含如下字段:名称类型说明MatchRuleString匹配规则。端到端消息中填空。MsgModeString(4)0900,OSD端到端消息;TimeStampString(18)时间戳,消息的发送时间,YYYYMMDDHHMMSS0001,最后四位为序号,同时作为消息的唯一标识。MsgSrcNameString(256)消息发送方名称PriorityInt0:最低10:最高默认为5。SaveFlagInt保存标识,用于控制机顶盒是否将本消息保存到收件箱中。端到端消息中默认保存。ControlModeInt控制模式0:先提示后展示。1:无提示直接展示默认为0ContentString(1024)消息正文PopShowTimeInt单位:秒。默认15秒消息提示窗口停留时间。值为-1时表示一直展示10.2.2 收件箱/发件箱消息查询接口(可选)用户查看自己的历史消息时,通过模板到机顶盒查询,机顶盒将历史消息返回到模板进行展示。接口方向:模板->机顶盒143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)接口协议:js协议函数名称:Utility.MsgBoxCommand(URI,Cmd,CmdInfo)。图1请求参数:名称类型(长度)说明是否必选URIString(32)消息对应的地址,在查看历史消息时填空YCmdString(32)命令种类,在查看历史消息时填“GetMsgList”YCmdInfoString(32)Inbox或者Outbox,表示读取的是收件箱的消息还是发件箱的消息Y应答参数:返回的是一个Json对象,格式如下:[{Msg1},{Msg2},{Msg3}]{Msgn}的格式为:{”URI”:”xxxx”,”timestamp”:"xxx",”title”:”xxx”,”content”:”xxx”,”read”:”0”,”mode”:”0200”}如果是端到端的消息,title保存部分content内容,content保存消息体的内容;如果是页面消息,title保存摘要内容,content保存url的内容;如果是osd消息,和端到端的消息处理相同。10.2.1 收件箱/发件箱消息删除接口(可选)用户删除自己的历史消息时,通过模板到机顶盒删除消息。接口方向:模板->机顶盒接口协议:js协议函数名称:Utility.MsgBoxCommand(URI,Cmd,CmdInfo)。请求参数:名称类型(长度)说明是否必选URIString(32)消息对应的地址,在删除接口中填空YCmdString(32)命令种类,在删除接口中填“DeleteMsg”YCmdInfoString(32)消息对应的timestampY返回结果:0表示删除成功。1表示删除失败。10.3 视频通信系统接口(待定义)143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)附录A:字段类型及通用状态数据字典143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)A.1基本数据类型下列类型在W3C或者soapenc中已经定义的基本类型,命名空间分别为:表A-1-1基本数据类型类型描述string字符串,当参数类型使用string(N)来定义的时候,表示该字符串最大长度为N,如果在定义中,没有明确指定字符串的长度,则参数的最大长度为64字符。int整数。数值范围为大于等于-2147483648,并且小于等于2147483648当参数类型使用int[0:N],表示参数为整型,取值范围为0-N的任意一个整数unsignedint无符号整数,数值范围为大于等于0,小于等于4294967295boolean布尔型。当值为true的时候,表示真,当值为false的时候,表示假dateTimeThesubsetoftheISO8601date-timeformatdefinedbytheSOAPdateTimetype.AlltimesareexpressedinUTC(UniversalCoordinatedTime)unlessexplicitlydeclaredotherwise.IfabsolutetimeisnotavailabletotheCPE,itSHOULDinsteadindicatetimesinceboot.Forexample,2days,3hours,4minutesand5secondssincebootwouldbeexpressedas0000-00-02T03:04:05.anyAnelementcontaininganyofthetypeslistedinthistable.FollowingtheSOAPspecification[8],elementsspecifiedasbeingofthistypeMUSTincludeatypeattributetoindicatetheactualtypeoftheelement.Forexample:InternetGatewayDevice.ProvisioningCode143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)code12345Thenamespacesxsiandxsdusedaboveareasdefinedin[8].arrayType未定类型数组,数组元素可以是基本数据类型,也可以是自定义结构体143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)A.2数据字典(注:全部重新整理)A.2.1基本参数类型表A-2-1-1基本参数类型参数名称类型长度说明Vendorstring16供应商名称STBModelstring16机顶盒型号STBIDstring32机顶盒IDHardwareVersionstring11硬件版本号格式为“xxx.xxx.xxx”。字符串的每一个元素只能为0-9或者a-z或者A-Z范围内的字符。SoftwareVersionstring11软件包版本号格式为“xxx.xxx.xxx”。字符串的每一个元素只能为0-9或者a-z或者A-Z范围内的字符FirmwareVersionstring11版本号格式为“xxx.xxx.xxx”。字符串的每一个元素只能为0-9或者a-z或者A-Z范围内的字符。ConnectionRequestUrlstring256管理服务域向机顶盒发起连接的Url业务基本参数IPstring39IP地址遵循IPv6和IPv4的表达方式,例如:192.168.0.1是一个合法的IPv4地址;xxxx.xxxx.xxxxxxxx.xxxx.xxxx.xxxx.xxxx是一个合法的IPv6地址MACstring17机顶盒的MAC地址,格式为:xx:xx:xx:xx:xx:xx143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)(xx是16进制的两位数)UserIDstring36IPTV用户业务编号EPGDomainstring256EPG的域名,格式类似于:http://xxx.yyy.zzz:port/Port默认为80EdgeEPGDomainstring256边缘EPG的域名或IP,格式类似于:http://xxx.yyy.zzz:port/Port默认为80或http://IPAddress:Port默认为80UpgradeDomainstring256升级服务器的域名,格式是:http://xxx.yyy.zzz:port/Port默认为80ManagementDomainstring256管理服务器的Domain,格式是:http://xxx.yyy.zzz:port/Port默认为80NTPDomainstring256时钟同步服务器地址(NTP服务器的IP地址或者主机名)NickNamestring40用户昵称MemLoadunsignedint[1:100]4内存占用比率(1-100的整数)APPMemLoadunsignedint[1:100]4内存占用比率(1-100的整数)CodecMemLoadunsignedint[1:100]4内存占用比率(1-100的整数)PhyMemSizeunsignedint4总RAM大小,单位KBStorageLoadunsignedint[1:100]4存储占用比率(1-100的整数)StorageSizeunsignedint4存储大小,单位KBServiceUsingstring256143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)正在使用的业务,依次包含业务种类和业务内容,以半角字符分号分割。业务种类和内容的定义请参见:业务数据字典CPULoadunsignedint[1:100]4CPU占用率(0-100的整数)InformSwitchbooleanInform接口上报开关;出厂初始值为FALSEInformIntervalunsignedint4Inform接口上报周期,以秒为单位;大于等于1LogSwitchboolean日志上报开关;出厂初始值为FALSELogIntervalunsignedint4日志上报周期,以秒为单位;大于等于1ParameterPathstring256完全的参数名称或部分参数名称RebootReasonstring256要求机顶盒重新启动的原因,供机顶盒记录DelaySecondsunsignedint4要求机顶盒延迟一段时间后建立下载Sizeunsignedint4下载文件的大小,以Byte为单位Statusint[0:2]4在下载结果上报接口中表示下载升级文件状态,0表示下载成功;1表示未完成在设置机顶盒参数接口表示参数更新状态,0:更新成功并且已经生效1:更新成功并且已确认,但是还未生效(如需要重启)在消息通知接口表示消息处理结果0-接收并处理1-接收未处理2-消息格式解析失败MsgTypeunsignedint4消息类型:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1-滚动字幕2-短信通知(可选支持)其他待扩展MsgContentstring1024消息内容RollIntervalunsignedint4滚动间隔时间(以秒为单位)RollTimesunsignedint4滚动次数StartTimedateTime下载/上传开始时间CompleteTimedateTime下载/上传结束时间FileTypestring64要求机顶盒上报的文件类型(目前有:“1-VendorConfigurationFile”;“2-VendorLogFile”;要求至少支持“2-VendorLogFile”类型的)URLstring256在下载接口的时候,作为源文件的url;在上传文件的时候,作为目的位置的urlTimeStampstring12最近一次认证所确定的时间戳,机顶盒每次使用该值后加1PasswordEncryptionstring64IPTV业务帐号密码、时间戳使用IC卡内置密钥进行加密后的结果Password为string类型,16字节长度;TimeStamp为string长度,12字节长度Randomstring4816进制随机数序列,认证接口使用Resultint41:机顶盒需要更新,通过URL获取更新文件0:机顶盒不需要更新,已经最新-1:机顶盒不需要更新,比自动更新系统更新-10001:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)不能确定,参见ErrorDescriptionUpgradeResultint40:机顶盒升级成功-1:机顶盒升级失败,参见ErrorDescriptionErrorDescriptionstring256错误描述ServerResponseint4固定返回0ChannelIDstring8在获取默认频道信息接口的请求消息中:表示机顶盒本地存储的ID信息,(机顶盒未保留该信息则返回字符串“NULL”)在频道信息接口的响应消息中,表示EPG存储的频道ID信息UserChannelIDint4用户频道编号(如果服务器端没有频道则返回-1)ChannelCountunsignedint4用户可观看的频道总数BTVEPGUrlstring256EPG服务器上的BTV列表主页VODEPGUrlstring256EPG服务器上的VOD列表主页SelfServiceEPGURLstring256EPG服务器上的自助服务列表主页UserSpaceURLstring256用户机顶盒本地空间主页InfoEPGUrlstring256EPG服务器上的信息服务列表主页GameEPGUrlstring256EPG服务器上的游戏列表主页EmailEPGUrlstring256EPG服务器上的email列表主页UMEPGUrlstring256EPG服务器上的统一消息业务列表主页MethodListstring[]64机顶盒或者机顶盒管理域支持的RPC调用列表,用于GetRPCMethods方法的返回值ChannelListChannelInfoStruct[]用户可观看的频道信息列表143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)ParameterListParameterValueStruct[]参数获取或者设置的列表,用作SetParameterValue方法的输入参数和GetParameterValue方法的输出参数ParameterNamesstring[]256参数名称列表,用作GetParameterValue方法的输入出参数A.2.2复合参数类型定义表A-2-2-1复合参数类型定义参数名称类型长度说明ParameterValueStructNamestring256参数名称ValueAny参数的更新值ParameterInfoStructNamestring256参数名称Writeableunsignedint[0:1]4参数是否可写0可写1不可写ChannelInfoStructChannelIDstring8默认频道的ChannelID信息(如果服务器端没有频道则返回字符串“NULL”)ChannelNamestring16频道名称(如果服务器端没有频道则返回字符串“NULL”)UserChannelIDint4用户频道编号(如果服务器端没有频道则返回-1)ChannelURLstring256组播URL(igmp://组播地址:端口)/单播URL(rtsp://单播地址:端口/路径)/HTTLURL(http://服务地址:端口/路径)ChannelSDPstring256频道的SDP信息TimeShiftBoolean1频道是否支持时移143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)TimeShiftURLString256频道的时移地址ChannelTypestring16频道类型ChannelLogoStructchannelLogoStruct台标显示的参数结构,如果没有,强制用空值填充,可以不处理ChannelPurchasedboolean频道定购标识:true-该频道已被定购;false-该频道未被定购ChannelLogoStructChannelLogURLstring256台标图片的URLPositionXint4以屏幕和图标左上角为准的台标显示横坐标位置PositionYint4以屏幕和图标左上角为准的台标显示纵坐标位置BeginTimeunsigenedunt4台标显示开始时间,与频道开始播放开始时间相对的时间(以秒为单位)Intervalint4台标两次显示之间的间隔时间(单位为秒,-1为台标一直显示,此时忽略lasting;0代表显示一次)Lastingunsignedint4每次出现后台标的显示时间,Lasting的值一定要小于IntervalA.3SOAP的FaultCodeA.3.1机顶盒FaultCode表A-3-1-1机顶盒FaultCodeFaultcode描述9000Methodnotsupported9001Requestdenied(noreasonspecified)9002Internalerror9003Invalidarguments9004Resourcesexceeded(whenusedinassociationwithSetParameterValues,this143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)MUSTnotbeusedtoindicateparametersinerror)9005Invalidparametername(associatedwithSet/GetParameterValues,GetParameterNames,Set/GetParameterAttributes)9006Invalidparametertype(associatedwithSetParameterValues)9007Invalidparametervalue(associatedwithSetParameterValues)9008Attempttosetanon-writableparameter(associatedwithSetParameterValues)9009Notificationrequestrejected(associatedwithSetParameterAttributesmethod).9010Downloadfailure(associatedwithDownloadorTransferCompletemethods).9011Uploadfailure(associatedwithUploadorTransferCompletemethods).9012Filetransferserverauthenticationfailure(associatedwithUpload,Download,orTransferCompletemethods).9013Unsupportedprotocolforfiletransfer(associatedwithUploadandDownloadmethods).9800–9899VendordefinedfaultcodesA.3.2服务器FaultCode表A-3-2-1服务器FaultCodeFaultcode描述8000Methodnotsupported8001Requestdenied(noreasonspecified)8002Internalerror8003Invalidarguments8004Resourcesexceeded8005Retryrequest8800-8899VendordefinedfaultcodeA.3.3HTTP请求响应码下表中的响应码具体信息,请参考RFC2616表A-3-3-1响应码具体信息143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)Faultcode描述1XX-Informational100Continue101SwitchingProtocols2XX-Successful200OK201Created202Accepted203Non-AuthoritativeInformation204NoContent205ResetContent206PartialContent3xx-Redirection300MultipleChoices301MovedPermanently302Found303SeeOther304NotModified305UseProxy307TemporaryRedirect4xx-ClientError400BadRequest401Unauthorized402PaymentRequired403Forbidden404NotFound405MethodNotAllowed406NotAcceptable407ProxyAuthenticationRequired408RequestTimeout143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)410Gone411LengthRequired412PreconditionFailed413RequestEntityTooLarge414Request-URITooLong415UnsupportedMediaType416RequestedRangeNotSatisfiable417ExpectationFailed5xx-ServerError500InternalServerError501NotImplemented502BadGateway503ServiceUnavailable504GatewayTimeout505HTTPVersionNotSupportedA.3.3RTSP请求响应码内容分发系统的回应状态码采用RTSP定义的回应状态码(参见RFC23267.1.1小节),并作了一些扩展定义,如下表。表A-3-3-1RTSP请求响应码状态码含义适用过程100Continueall200OKall201CreatedRECORD250LowonStorageSpaceRECORD300MultipleChoicesall301MovedPermanentlyall302MovedTemporarilyall303SeeOtherall305UseProxyall143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)400BadRequestall401Unauthorizedall402PaymentRequiredall403Forbiddenall404NotFoundall405MethodNotAllowedall406NotAcceptableall407ProxyAuthenticationRequiredall408RequestTimeoutall410Goneall411LengthRequiredall412PreconditionFailedDESCRIBE,SETUP413RequestEntityTooLargeall414Request-URITooLongall415UnsupportedMediaTypeall451InvalidparameterSETUP452IllegalConferenceIdentifierSETUP453NotEnoughBandwidthSETUP454SessionNotFoundall455MethodNotValidInThisStateall456HeaderFieldNotValidall457InvalidRangePLAY458ParameterIsRead-OnlySET_PARAMETER459AggregateOperationNotAllowedall460OnlyAggregateOperationAllowedall461UnsupportedTransportall462DestinationUnreachableall500InternalServerErrorall501NotImplementedall502BadGatewayall503ServiceUnavailableall143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)504GatewayTimeoutall505RTSPVersionNotSupportedall551Optionnotsupportall600自定义未知错误all601服务器带宽不足DESCRIBE,SETUP602服务器忙DESCRIBE,SETUP603接入带宽不足DESCRIBE,SETUP604用户无权限all605用户费用不足all143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)附录B:SOAPRPC方式实现模版B.1Xsd文件描述XSD文件定义了基本类型和结构,数组类型的参数。B.2wsdl描述下列文件作为SOAP接口生成时的WSDL文件参考,SOAP服务提供者利用该文件向客户端发布SOAP接口服务Wsdl文件头和文件结构如下……………………143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)………………………………附录C:用户编码规则【待定】附录D:扩展js集合本附录规定了机顶盒浏览器需要支持的扩展javascript集合,用于机顶盒与EPG服务系统、业务管理平台之间接口中,基于HTML、Javascript的逻辑使用。D.1Authentication对象D.1.1获取鉴权信息l函数名:CUGetAuthInfo143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)l参数:32位长字符串EncryToken,ASCII编码方式l返回值:string型加密结果l函数过程:获取本地配置信息,使用password对loginname、EncryToken等信息进行加密,并按要求格式返回结果字符串。加密方法如下:Authenticator表示函数返回值,具体为:Authenticator=3DES(Random+“$”+EncryToken+”$”+UserID+”$”+STBID+”$”+IP+”$”+MAC+”$”+Reserved+”$”+“CU”),其中:l在不采用机卡分离方式的情况下,使用用户的密码(由运营商统一分配,用户可通过机顶盒操作界面进行配置)作为3DES密钥进行加密;l在采用机卡分离方式的情况下,采用为机顶盒SIM卡内保存的密钥ICKey作为3DES密钥;l密钥长度不足24字节时,右补ASCII字符“0”;l内容采用PKCS5Padding方式填充,即长度以8字节切分,不能被8整除的末尾部分,根据长度不足8字节的部分,填充“0x01”—“0x08”,如不足1字节,则填充1个“0x01”,如不足2字节,则填充2个“0x02”,以此类推,如整除,则填充8个“0x08”;l3DES加密算法采用的鉴权算法,具体为:3DES(168位,ECB方式)lRandom为十进制表示的随机数字,范围为0~99999999返回结果使用ASCII形式的十六进制编码表示,采用大写“ABCDEF”,如加密结果为8字节二进制字符串:0x0123456789ABCDEF,则Authenticator为16字节ASCII字符串:”0123456789ABCDEF”。D.1.2设置/获取业务参数l函数名:CUSetConfig/CUGetConfigl参数:nfieldName:字符串类型,表示需要设置的参数名称;nfieldValue:字符串类型,表示需要设置的参数值。l返回值:无143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)l函数过程:将需要设置的参数配置到机顶盒中。l目前支持参数如下:nUserTokennEPGDomainnEPGDomainBackupnUpgradeDomainnUpgradeDomainBackupnManagementDomainnManagementDomainBackupnNTPDomainnNTPDomainBackupnEPGGroupNMBnChannelCountnChannelnBTVEPGUrlnVODEPGUrlnSelfServiceEPGURLnUserSpaceURLnInfoEPGUrlnGameEPGUrlnEmailEPGUrlnUMEPGUrlnBTVEPGUrlnBTVEPGHotkeynVODEPGUrlnVODEPGHotkeynSelfServiceEPGURLnSelfServiceEPGHotkeynUserSpaceURLnUserSpaceHotkey143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)nInfoEPGUrlnInfoEPGHotkeynGameEPGUrlnGameEPGHotkeynEmailEPGUrlnEmailEPGHotkeynUMEPGUrlnUMEPGHotkeyD.1.3启动后台升级功能l后台启动升级功能的js函数l函数名:CUStartUpdaten参数:无n返回值:无l函数过程:后台启动升级流程,并立即返回。D.2MediaPlayer对象MediaPlayer对象是将机顶盒播放TVChannel,TVOD,VOD,Music这些媒体内容的能力进行了封装。从媒体播放的角度看,MediaPlayer只需要知道CODEC类型(audioType,videoType),流类型(streamType)和媒体的位置(URL)就可以播放一个媒体内容。对于TVChannel,TVOD,VOD,Music这些媒体内容,播放的基本行为是相同的,抽象为MediaPlayer的方法,(播放,快进,跳转,暂停,停止等)。D.2.1MediaPlayer的属性属性属性值注释播放器的配置属性getNativePlayerInstanceID()一个字节长度的无符号整数,0-255获得STB本地播放器实例的instanceID。setSingleOrPlaylistMode(mode)0:单媒体的播放模式(默认值)1:播放列表的播放模式MediaPlayer的播放模式。在初始化Media143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)getSingleOrPlaylistMode()Player对象时必须进行该参数的初始设定。在播放过程中,此属性不能再被修改。setVideoDisplayMode(videoDisplayMode)getVideoDisplayMode()0:按setVideoDisplayArea()中设定的Height,Width,Left,Top属性所指定的位置和大小来显示视频1:全屏显示,按全屏高度和宽度显示(默认值)2:按宽度显示,指在不改变原有图像纵横比的情况下按全屏宽度显示3:按高度显示,指在不改变原有图像纵横比的情况下按全屏高度显示255:视频显示窗口将被关闭。它将在保持媒体流连接的前提下,隐藏视频窗口。如果流媒体播放没有被暂停,将继续播放音频。MediaPlayer对象对应的视频窗口的显示模式.每次调用该函数后,视频显示窗口并不会被立即重新刷新以反映更改后的显示效果只有等到显式调用refreshVideoDisplay()后才会刷新setVideoDisplayArea(left,top,width,height)Left:相对于所在浏览器窗口左上角的右向偏移的象素点个数(默认值为0)Top:相对于所在浏览器窗口左上角的向下偏移的象素点个数(默认值为0)Width:显示视频的窗口宽度的象素点个数(默认值为默认页面设计空间的宽度,对PAL来说为720)Height:显示视频的窗口高度的象素点个数(默认值为默认页面设计空间的高度,对PAL来说为576)每次调用该函数后,视频显示窗口并不会被立即重新刷新以反映更改后的显示效果只有等到显式调用refreshVideoDisplay()后才会刷新getVideoDisplayLeft()返回通过setVideoDisplayArea()设置的left值象素值,(默认值为0)视频窗口的位置,相对于所在浏览器窗口左上角的右向偏移(象素点个数)getVideoDisplayTop()返回通过setVideoDisplayArea()设置的top值象素值,(默认值为0)视频窗口的位置,相对于所在浏览器窗口左上角的向下偏移(象素点个数)getVideoDisplayWidth()返回通过setVideoDisplayArea()设置的width值象素值,(默认值为0)显示视频的窗口宽度getVideoDisplayHeight()返回通过setVideoDisplayArea()设置的height值象素值,(默认值为0)显示视频的窗口高度setMuteFlag(muteFlag)getMuteFlag()0:设置为有声(默认值)1:设置为静音MediaPlayer对应的本地播放器实例是否静音(session143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)scope,Mute键所触发的MUTE状态为全局MUTE状态,不影响该值),该值并不影响STB本地其它音频有关应用的Mute状态。设置后立即生效。setNativeUIFlag(nativeUIFlag)getNativeUIFlag()0:不使能Player的本地UI显示功能1:使能Player的本地UI显示功能(默认值)可选的属性:保留此属性,但可以不实现功能播放器是否显示缺省的NativeUI,如进度条/音量提示/静音提示/频道号/等。详细描述参考章节“MediaPlayer的行为”。设置后立即生效。setMuteUIFlag(muteUIFlag)getMuteUIFlag()0:不使能静音提示的本地UI显示功能1:使能静音提示的本地UI显示功能(默认值)可选的属性:保留此属性,但可以不实现功能播放器是否显示缺省的本地静音提示UI。该属性与nativeUIFlag属性是逻辑与的关系。设置后立即生效。setAudioVolumeUIFlag(audioVolumeUIFlag)getAudioVolumeUIFlag()0:不使能音量调节的本地UI显示功能1:使能音量调节的本地UI显示功能(默认值)可选的属性:保留此属性,但可以不实现功能播放器是否显示缺省的本地音量调节UI。该属性与nativeUIFlag属性是逻辑与的关系。设置后立即生效。setAudioTrackUIFlag(audioTrackUIFlag)getAudioTrackUIFlag()0:不使能音轨选择的本地UI显示功能1:使能音轨选择的本地UI显示功能(默认值)可选的属性:保留此属性,但可以不实现功能播放器是否显示缺省的本地音轨选择UI。该属性与nativeUIFlag属性是逻辑与的关系。设置后立即生效。setProgressBarUIFlag(progressBarUIFlag)getProgressBarUIFlag()0:不使能进度条的本地UI显示功能1:使能进度条的本地UI显示功能(默认值)可选的属性:保留此属性,但可以不实现功能播放器是否显示缺省的本地进度条UI。该属性与nativeUIFlag属性是逻辑与的关系。设置后立即生效。setChannelNoUIFlag(channelNoUIFlag)getChannelNoUIFlag()0:不使能频道号的本地UI显示功能1:使能频道号的本地UI显示功能(默认值)可选的属性:保留此属性,但可以不实现功能播放器是否显示缺省的本地频道号UI。该属性与nativeUIFlag属性是逻辑与的关系。设置后立即生效。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)setSubtitileFlag(subtitileFlag)getSubtitileFlag()0:不显示字幕(默认值)1:显示字幕可选的属性:保留此属性,但可以不实现功能播放器是否需要显示字幕。设置后立即生效。setVideoAlpha(videoAlpha)getVideoAlpha()0-100之间的整数值,0表示不透明,100表示完全透明。(默认值为0)可选的属性:保留此属性,但可以不实现功能视频的透明度setAllowTrickmodeFlag(allowTrickmodeFlag)getAllowTrickmodeFlag()0:允许TrickMode操做1:不允许TrickMode操作(默认值)表示该播放器实例在生命周期内都是否允许任何TrickMode操作(包括快进/快退/暂停)。这个属性与媒体本身的TrickMode属性是逻辑与的关系setVendorSpecificAttr(vendorSpecificAttr)getVendorSpecificAttr()字符串留作厂商的扩展属性设置和获取,格式由厂商自己确定只读的播放器状态属性getMediaCode()字符串,媒体的标识获取当前播放的媒体的标识,MediaCode是媒体的唯一标识(节目,频道等),使用系统定义的ContentID。当播放器在播放列表模式时,MediaCode是动态改变的。getMediaDuration()整数,以秒为单位获取当前播放的媒体的总时长getCurrentPlayTime()媒体播放到的当前时间点获取媒体播放到的当前时间点对VoD为从该媒体起始点开始计算的相对时间,以秒为单位;对TVoD为当前播放点的绝对时间;对Channel而言无意义参见RFC2326中的NormalPlayTime(NPT)和AbsoluteTime(ClockTime)两种时间类型的格式getPlaybackMode()播放器的当前播放模式。返回值为JSON字符串,其中至少包括“播放模式”当STB播放器的playback143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)和“模式相关参数”两类信息,播放模式分:NormalPlay,Pause,Trickmode;当模式为Trickmode时必须带2x/-2x,4x/-4x,8x/-8x,16x/-16x,32x/-32x参数来表示快进/快退的速度参数,如:{PlayMode:“NormalPlay”,Speed:1x}mode发生改变的时候以虚拟键及事件的方式通知EPGGetLastError()整数可选用于获取上一次发生的错误代码getChannelNum()整数返回机顶盒当前播放的频道号,不能获得有效的频道号时,返回-1。getCurrentAudioChannel()字符串Left、Right、Stereo、JointStereo获取当前的声道类型getAudioTrack()字符串Chinese、English等获取当前的的音轨类型getSubtitle()字符串Chinese、English等获取当前选择的字幕类型只读的播放器状态属性,只在播放列表模式下有效getMediaCount()整数可选的获取播放列表中的媒体数量getCurrentIndex()整数,0:表示媒体列表的顶端可选的获取当前播的媒体,在播放列表中的索引值getEntryID()字符串,媒体在播放列表中的唯一标识可选的获取当前播放的媒体的EntryIDgetPlaylist()字符串,用JSON格式的字符串,封装播放列表数据。可选的参考:媒体相关参数的描述和封装方式D.2.2MediaPlayer的方法如无特殊注释,MediaPlayer必须实现如下方法:方法参数注释MediaPlayer()MediaPlayer的创建函数,newMediaPlayer()。以缺省值创建对象。bindNativePlayerInstance(nativePlayerInstanceID)nativePlayerInstanceID:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)一个字节长度的无符号整数,0-255返回:0:表示绑定成功;-1:表示绑定失败;其他值未定义机顶盒上某个媒体流或播放器实例的标识,由STB本地负责生成和维护,一旦针对某个新生成的MediaPlayer对象绑定该ID,就意味着该对象和STB本地的某个媒体播放实例进行了绑定或关联。如果无法找到nativePlayerInstanceID对应的本地播放器实例,则操作失败,返回-1。参考:MediaPlayer控制的本地播放器实例的生命周期initMediaPlayer(nativePlayerinstanceID,playlistFlag,videoDisplayMode,height,width,left,top,muteFlag,useNativeUIFlag,subtitleFlag,videoAlpha,cycleFlag,randomFlag,autoDelFlag)参考:播放器的配置属性初始化MediaPlayer的属性。当新创建的MediaPlayer是为了和已有的STB本地某个媒体播放实例(由先前其它页面中创建MediaPlayer对象时创建的)进行绑定,无需调用该函数。releaseMediaPlayer(nativePlayerInstanceID)nativePlayerInstanceID:一个字节长度的无符号整数,0-255返回:0:表示释放成功;-1:表示释放失败;其他值未定义释放机顶盒MediaPlayer的对象,结束对应MediaPlayer的生命周期。setSingleMedia(mediaStr)mediaStr,字符串,用json对象封装媒体的属性。设置单个播放的媒体。传入字符串mediaStr中的媒体对象的mediaURL为rtsp://的单播地址,则要求连接单播地址进行播放;addSingleMedia(index,mediaStr)mediaStr,字符串,用js对象封装媒体的属性可选的在播放列表末端,添加单个媒体。传入字符串。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)对于index:如果为负数(如-1),表示默认添加在列表尾部(Append);如指定的index值大于或等于playlist中已有媒体数目,则添加至playlist尾部;其它情况为插入列表某个位置(Insert);index会随着条目的移动/增加/删除而动态变化,由STB保证当前playlist中所有条目的index是从0按序加一递增的。对于entry_id:唯一标识playlist中每个媒体条目,一旦成功加入某个媒体后,该值不会变化。addBatchMedia(batchMediaStr)batchMediaStr,字符串,用json对象封装批量媒体的属性。可选的在播放列表末端,添加一批媒体。传入字符串joinChannel(userchannelid)Userchannelid,整数,表示用户频道号。返回值:0,表示成功;-1:表示频道号无效。要求终端访问指定的频道,并立即返回。对由本地设置为跳过的频道,也返回-1。频道地址为通过SetConfig设置的频道列表中的地址:l如频道地址为igmp://的组播地址,则加入组播频道,播放器开始播放组播频道,并处理相应的时移等功能;l如频道地址为rtsp://的单播地址,则连接单播频道,播放器开始播放;l如频道地址为http://的地址,则浏览器直接发起请求,访问该页面。leaveChannel()返回值:0,表示成功;-1:表示频道号无效。要求终端离开指定的频道,并立即返回。l如原频道地址为igmp://的组播地址,则立即离开组播频道,播放器停止播放组播频道,并断开相应的时移连接;l如频道地址为rtsp://的单播地址,则断开单播频道,播放器停止播放;l如频道地址为http://的地址,则浏览器不作操作。removeMediaByEntryID(entryID)entryID:播放列表中某个媒体条目的唯一标识(在添加媒体时设置并且在该播放列表中保持不变)可选的从播放列表中删除指定媒体removeMediaByIndex(index)index,整数,媒体在媒体列表中的索引值可选的从播放列表中删除指定媒体clearAllMedia()N/A可选的143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)清空播放列表moveMediaByIndex(entryID,toIndex)entryID:播放列表中某个媒体条目的唯一标识。toIndex,整数,需要移动到的索引值。0:表示播放列表的顶端。可选的根据index将指定的媒体在播放列表中移动moveMediaByOffset(entryID,offset)entryID:播放列表中某个媒体条目的唯一标识。offset,偏移量,正整数表示从指定媒体向列表末端移动,负整数表示从指定媒体向列表起始端移动可选的根据偏移量将指定的媒体在播放列表中移动moveMediaByIndex1(index,toIndex)index,整数,指定的媒体在播放列表中的索引值。0:表示播放列表的顶端。toIndex,整数,需要移动到的索引值。0:表示播放列表的顶端。可选的根据index将指定的媒体在播放列表中移动moveMediaByOffset1(index,offset)index,整数,指定的媒体在播放列表中的索引值。0:表示播放列表的顶端。offset,偏移量,正整数表示从指定媒体向列表末端移动,负整数表示从指定媒体向列表起始端移动可选的根据偏移量将指定的媒体在播放列表中移动moveMediaToNext(entryID)entryID:播放列表中某个媒体条目的唯一标识。可选的将指定的媒体下移moveMediaToPrevious(entryID)entryID:播放列表中某个媒体条目的唯一标识。可选的将指定的媒体上移moveMediaToFirst(entryID)entryID:播放列表中某个媒体条目的唯一标识。可选的将指定的媒体移到列表顶端moveMediaToLast(entryID)entryID:播放列表中某个媒体条目的唯一标识。可选的将指定的媒体移到列表末端moveMediaToNext1(index)index,整数,指定的媒体在播放列表中的索引值。0:表示播放列表的顶端。可选的将指定的媒体下移可选的143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)moveMediaToPrevious1(index)index,整数,指定的媒体在播放列表中的索引值。0:表示播放列表的顶端。将指定的媒体上移moveMediaToFirst1(index)index,整数,指定的媒体在播放列表中的索引值。0:表示播放列表的顶端。可选的将指定的媒体移到列表顶端moveMediaToLast1(index)index,整数,指定的媒体在播放列表中的索引值。0:表示播放列表的顶端。可选的将指定的媒体移到列表末端selectMediaByIndex(index)index:媒体在播放列表中的索引,0:表示播放列表的顶端。可选的按媒体在播放列表中的索引选中为当前候选播放节目selectMediaByOffset(offset)offset,偏移量,正整数表示从当前媒体向列表末端跳转,负整数表示从当前媒体向列表起始端跳转可选的按与当前媒体索引的偏移量选中媒体,作为当前候选播放节目selectNext()N/A可选的选取播放列表中的下一个媒体,作为当前候选播放节目selectPrevious()N/A可选的选取播放列表中的上一个媒体,作为当前候选播放节目selectFirst()N/A可选的选取播放列表中的第一个媒体,作为当前候选播放节目selectLast()N/A可选的选取播放列表中的最后一个媒体,作为当前候选播放节目SelectMediaByEntryID(entryID)entryID:播放列表中某个媒体条目的唯一标识(在添加媒体时设置并且在该播放列表中保持不变)可选的按某个媒体条目的唯一标识选中为当前候选播放节目playFromStart()N/A从媒体起始点开始播放。对TVchannel,以实时TV的方式开始播放。playByTime(type,timestamp,speed)-type:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1:参见RFC2326中的NormalPlayTime(NPT)2:参见RFC2326中的AbsoluteTime(ClockTime)-timestamp:参见RFC2326中的NormalPlayTime(NPT)和AbsoluteTime(ClockTime)两种时间类型的格式timestamp:对VoD而言是从媒体起始点开始计算的相对时间;对TVoD等有时间基的媒体而言就是绝对时间。-speed:播放速度,可选参数。参见RFC2326(RTSP协议)。从当前媒体的某个时间点开始播放媒体(对playlist而言是指当前已经选中的媒体)。对实时播放的TVchannel该调用无效,但对处于时移状态的TVchannel有效。pause()N/A暂停正在播放的媒体fastForward(speed)-speed:Float类型,2至32快进fastRewind(speed)-speed:Float类型,-2至-32快退resume()N/A从当前媒体的暂停/快进/快退状态恢复正常播放。gotoEnd()N/A可选的方法:跳到媒体末端播放gotoStart()N/A可选的方法:跳到媒体起始点播放stop()N/A停止正在播放的媒体。并释放机顶盒本地播放器的相关资源。refreshVideoDisplay()N/A根据videoDisplayMode,vedioDisplayArea属性,调整视频的显示。所以设定Area和Mode参数后并不是立即生效,而是要在显式调用该函数后才会生效.switchAudioChannel()N/A可选的方法:保留此接口,但可以不实现功能切换声道,循环进行。switchAudioTrack()N/A可选的方法:保留此接口,但可以不实现功能切换音轨,循环进行。switchSubtitle()N/A143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)可选的方法:保留此接口,但可以不实现功能切换字幕,循环进行。sendVendorSpecificCommand(xml)xml:XML格式的字符串留作厂商的命令扩展,参数由厂商自定义IntgetAudioPID() 可选:返回音频 PID。如果正在播放返回当前播放的 PID,否则返回缺省/第一个 PID。 ObjectgetAudioPIDs() 可选:返回一个包含所有音频 PID 信息的对象。对象包含以下信息:l pids – 当前媒体流中包含的音频 PID 个数l pidarr[1..pids] – 音频 PID 数组: AudioPID – PID 值(数值) AudioLanguage – PID 的语言标志(字符串) void setAudioPID() 指定使用的音频 pid。IntgetSubtitlePID()返回字幕 PID。如果正在播放返回当前播放的 PID,否则返回缺省/第一个 PID。 ObjectgetSubtitlePIDs() 返回一个包含所有字幕 PID 信息的对象。对象包含以下信息:l pids – 当前媒体流中包含的字幕 PID 个数l pidarr[1..pids] – 字幕 PID 数组: SubtitlePID – PID 值(数值) SubtitleLanguage – PID 的语言标志(字符串) void setSubtitlePID() 指定使用的字幕pid。VoidsetVolume(intvolume)Volume:0-100,表示音量,0为静音,100为最大音量。设置系统音量intgetVolume()返回值:当前系统音量,0-100获取当前系统音量set(ioStr,wrStr)ioStr:要设置的参数的名称。(具体意义由机顶盒定义)wrStr:要设置的参数的值。可选的属性:保留此属性,但可以不实现功能未来作为扩展使用。get(ioStr)ioStr可选的属性:保留此属性,但可以不实现功能143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3):要读取的参数的名称。(具体意义由机顶盒定义)未来作为扩展使用。D.2.3媒体相关参数的描述参数参数值是否必填注释mediaURL字符串,媒体的urlY用于初始化多媒体会话。需要支持rtsp、igmp等等格式。例如:rtsp://server.domain.com:554/videos/movie.ts,igmp://239.255.250.2:11111mediaCode字符串,媒体的唯一标识Y媒体的唯一标识mediaType整数值,1:TYPE_CHANNEL2:TYPE_VOD3:TYPE_TVOD4:TYPE_MUSICY媒体的类型audioType整数值1:MPEG-1/2layer2(MP2)2:MPEG-1/2layer3(MP3)3:MPEG-2LC-AAAC4:MPEG-4LC-AAC5:MPEG-4HE-AAC6:AC-37:WMA9Y音频编码类型videoType整数值1:MPEG-22:MPEG-43:H.2644:WMV95:VC-16:AVSY视频编码类型streamType整数值1:PS2:TS3:MP44:ASFY流类型drmType整数值YDRM类型143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1:DRM_TYPE_CLEAR_TEXT2:DRM_TYPE_BESTDRM3:DRM_TYPE_NDS4:DRM_TYPE_MICROSOFT5:DRM_WIDEVINEfingerPrint整数值0:开启fingerPrint1:关闭fingerPrint(缺省值)N是否支持水印保护copyProtection整数值0:PROTECTION_NO(缺省值)1:PROTECTION_MACROVISION3:PROTECTION_CGMSAN防拷贝类型allowTrickmode0:不允许Trickmode1:允许Trickmode(缺省值)N表示该媒体是否允许任何trickmode操作(包括快进/快退/暂停)startTime参见RFC2326中的NormalPlayTime(NPT)和AbsoluteTime(ClockTime)两种时间类型的格式N表示媒体的起始时间endTime参见RFC2326中的NormalPlayTime(NPT)和AbsoluteTime(ClockTime)两种时间类型的格式N表示媒体的结束时间entryID媒体加入Playlist时,在媒体列表中的唯一标识。N只在加入Playlist时用到D.2.4将媒体参数封装为JSON对象Media对象,一个两个media对象的数组示例如下:[{mediaUrl:"rtsp://servername:554/video1.ts",mediaCode:"code1",mediaType:2,audioType:1,videoType:1,streamType:1,drmType:1,fingerPrint:0,copyProtection:1,allowTrickmode:1,startTime:0,endTime:100.3,entryID:"entry1"},{mediaUrl:"rtsp://servername:554/video2.ts",143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)mediaCode:"code1",mediaType:2,audioType:1,videoType:1,streamType:1,drmType:1,fingerPrint:0,copyProtection:1,allowTrickmode:1,startTime:200.2,endTime:400.3,entryID:"entry2"}]D.2.5MediaPlayer控制的媒体流的生命周期页面中创建的的MediaPlayer对象,控制机顶盒上某个媒体流或播放器实例。这个机顶盒上的播放器实例的生命周期是跨页面的。就是说在一张页面上创建的MediaPlayer,(它对应机顶盒本地的一个播放器实例),可以在下一张页面中获得,然后通过JSExt继续操纵这个本地的一个播放器实例。通过MediaPlayer的nativePlayerInstanceID属性来标识机顶盒上的播放器实例。在设置MediaPlayer的nativePlayerInstanceID属性时,如果机顶盒上已存在一个相同ID的媒体播放实例,MediaPlayer对象与它进行关联,然后操纵这个机顶盒上的媒体播放实例。示例如下:l在第一张页面中,创建和初始化媒体流varmp=newMediaPlayer();//创建一个JS扩展的MediaPlayer对象,同时生成本地//播放实例的标识varnativePlayerInstanceId=mp.getNativePlayerInstanceId();//读取本地的媒体播放实例的标识。保留这个标识//以便在跨页面时,标识这个本地的媒体播放实例mp.setSingleMedia(mediaStr);//设置媒体播放器播放媒体内容mp.play();//开始播放l在下一张页面中,根据ID获取已存在的媒体流varmp=newMediaPlayer();//创建一个JS扩展的MediaPlayer对象mp.bindNativePlayerInstance(nativePlayerInstanceId);//根据从上一张页面传递过来的Id//绑定本地的媒体播放实例mp.setxxx(xxx);//设置这个媒体播放实例的参数mp.fastforward();//fastforward播放mp.stop();//停止播放。D.2.6MediaPlayer相关的事件MediaPlayer对应的本地的Player实例将一些需要EPG页面处理的状态,采用虚拟按键的方式抛出,虚拟按键定义为0x0300,EPG页面的js逻辑通过onkeypress函数进行响应。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)虚拟事件通过Utility对象的getEvent函数获取。当发生虚拟事件EVENT_MEDIA_ERROR时,可通过MediaPlayer.GetLastError()获取错误代码。错误码(待定):1  RTSP_CONNECT_FAILED 连接 RTSP 服务器失败。可能是网线没有插好或者其他网络问题造成的。2  RTSP_SEND_FAILED RTSP 请求不能被发送到服务器。3  RTSP_READ_FAILED 无法读取从服务器发来的 RTSP 命令。4  RTSP_CONNECTION_DIED RTSP 连接断开。5 – RTSP_STATUS_LINE 注释:该代码不再使用。6  RTSP_STATUS_PLAYING 视频正在播放。在播放时这个消息大约 20 秒收到一次 7  RTSP_STATUS_ANNOUNCE RTSP 服务器发出的消息。这类消息中只有 END_OF_STREAM (见事件代码 8)不是错误消息。8  RTSP_STATUS_END_OF_STREAM 当前媒体资源文件播放结束。9  RTSP_STATUS_NOT_FOUND 服务器上找不到指定的资源文件。10  STATUS_NO_VIDEO 被请求的服务器不存在或者资源文件不存在。 11  IGMP_STATUS_END_OF_STREAM IGMP 流到达了结尾,或者丢失了 IGMP 连接。 12  RTSP_CONNECT_STOPPED 服务器关闭了 RTSP 连接。13  RTSP_STATUS_AUTHENTICATE 请求的媒体资源需要认证,并且认证信息没有传递到播放器,所以不能播放。14  RTSP_STATUS_REDIRECTED 请求被重定向。需要进一步的动作才能完成请求,例如需要访问另一台服务器。 15  IGMP_STATUS_PLAYING IGMP 流在播放当中。 16  UDP_STATUS_END_OF_STREAM UDP 流播放结束。 17  UDP_STATUS_PLAYING UDP 流正在播放。 18 – MP3S_STATUS_END_OF_STREAM MP3 流播放结束。 19 – AUD_DESCRIP_READY 这个回调表示当前资源文件的描述信息已经成功读取。20 – RTSP_STATUS_START_OF_STREAM RTSP 流开始。21 – MP3S_STATUS_START_OF_STREAM MP3 流开始播放。22 – RTSP_STATUS_ANNOUNCE_PARTIAL 返回一个部分资源文件播放完毕的通知事件,发生在收到服务器的 ENDOFSTREAM ANNOUCNE 消息时。在这种情况下是可能继续播放媒体流的,并不是停止播放。 23 – STATUS_PMT_CHANGED 接收到的传送流 PMT 信息改变。 24 – PVRS_STATUS_PLAYING 正在播放的是 PVR 片段。25 – PVRS_STATUS_END_OF_STREAM 当前 PVR 片段播放结束。26 – RTSP_STATUS_SET_PARAMETER 收到服务器发出的 SET_PARAMETER 消息。27 – RTSP_STATUS_INVALID_RANGE 收到服务器 457 Invalid Range 的消息回应。该消息不同于RTSP_STATUS_END_OF_STREAM 和 RTSP_STATUS_START_OF_STREAM,这两个事件由 RTSP 的 Announce 信令产生,服务器端会终止流的发送。而 457 的应答虽然表示客户端指定了错误的范围,但服务端不会终止流的发送。D.2.7用户通过“频道”键进入频道播放过程示例本过程仅作为机顶盒浏览器处理频道播放、miniEPG功能的一种参考实现例子,用于指导机顶盒、EPG实现相应功能,具体过程和消息不作为强制要求。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1)浏览器控制交互逻辑方式:浏览器EPG服务系统1.用户选择“频道”键2.请求频道页面:HTTPRequest3.返回miniEPG:HTTPResponseMediaPlayer对象4.执行业务逻辑:joinChannel6.用户选择频道+/-,或数字键7.执行业务逻辑:joinChannel12.执行业务逻辑leaveChannel13.请求EPG页面:HTTPRequest5.展示miniEPG页面8.请求miniEPG:HTTPRequest9.返回miniEPG:HTTPResponse10.展示miniEPG页面11.用户选择返回EPG14.返回EPG页面:HTTPResponse步骤:1.用户在EPG界面中按“频道”键;2.机顶盒浏览器向EPG服务系统请求“频道”键对应的页面;3.EPG服务系统向浏览器返回频道页面,其中包含了miniEPG所对应的业务逻辑;4.miniEPG页面的业务逻辑调用MeidaPlayer对象的joinChannel函数,要求加入最近一次播放的频道,如果是机顶盒首次使用,则可以使用频道列表的第一个频道(该步骤可作为可选性支持,即可以暂时不调用加入频道函数,保留原页面,或使用等待用户输入数字键进入频道的页面);5.机顶盒进入频道,如第4步未进行,则本步骤省略;6.用户按频道+/-或数字键请求切换频道;7.MiniEPG页面解析业务逻辑,调用MeidaPlayer对象的joinChannel函数,进行频道切换;8.机顶盒浏览器根据业务逻辑,重新请求节目信息的miniEPG页面;9.EPG服务系统返回新的节目信息的miniEPG页面;10.浏览器显示切换后的频道的miniEPG信息;143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1.用户按“Menu”或“返回”键选择返回EPG页面;2.MiniEPG页面解析业务逻辑,调用MeidaPlaye对象的leaveChannel(),离开当前频道;3.浏览器向EPG服务系统请求返回页面;4.EPG服务系统返回相应页面,流程结束。2)机顶盒控制交互逻辑方式:浏览器EPG服务系统1.用户选择“频道”键3.请求频道页面:HTTPRequest4.返回miniEPG:HTTPResponse2.机顶盒加入频道,通过Event通知浏览器6.用户选择频道+/-,或数字键7.机顶盒加入频道,通过Event通知浏览器12.要求切换页面13.请求EPG页面:HTTPRequest5.展示miniEPG页面8.请求miniEPG:HTTPRequest9.返回miniEPG:HTTPResponse10.展示miniEPG页面11.用户选择返回EPG14.返回EPG页面:HTTPResponse机顶盒步骤:1.用户按“频道”键;2.终端直接响应“频道”按键,并加入默认频道,并通过虚拟按键向EPG抛出“EVENT_GO_CHANNEL”事件;3.EPG页面逻辑处理事件,要求机顶盒浏览器向EPG服务系统请求“频道”键对应的页面;4.EPG服务系统向浏览器返回频道页面,其中包含了miniEPG所对应的业务逻辑;5.机顶盒浏览器展示页面;6.用户按频道+/-或数字键请求切换频道;143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1.终端直接响应按键,并加入对应频道,并通过虚拟按键向EPG抛出“EVENT_GO_CHANNEL”事件;2.EPG页面逻辑处理事件,要求机顶盒浏览器重新请求节目信息的miniEPG页面;3.EPG服务系统返回新的节目信息的miniEPG页面;4.浏览器显示切换后的频道的miniEPG信息;5.用户按“Menu”或“返回”键选择返回EPG页面;6.终端退出频道,并要求浏览器请求对应EPG页面;7.浏览器向EPG服务系统请求返回页面;8.EPG服务系统返回相应页面,流程结束。D.3Navigation对象浏览器提供了缺省的浏览方式:使用方向键移动焦点到可交互的页面元素,使用确认键激活页面元素。Navigation对象提供了扩展的浏览方式:屏蔽浏览器缺省的浏览方式,页面逻辑使用Navigation对象直接操纵焦点移动和激活的过程。Navigation对象屏蔽浏览器缺省浏览方式的效果,只在创建Navigation对象的页面内有效,当离开这张页面后,浏览器恢复到缺省的浏览方式。D.3.1Navigation对象的属性:待定。D.3.2Navigation对象的方法:方法参数返回值注释disableDefaultNavigation()关闭缺省的浏览方式。浏览器通过onkeypress事件,将方向键传递给页面,由页面决定如何移动焦点。enableDefaultNavigation()恢复缺省的浏览方式。浏览器根据方向键,决定如何移动焦点。disableHighlight()关闭浏览器缺省的高亮方式。enableHighlight()恢复浏览器缺省的高亮方式focusElement(elem)element:DOM对象,这个对象必须是浏览器支持的可交互页面元素。Elem可以接受焦点,返回0,可选焦点移动到指定的可交互页面元素143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)否则返回1。getCurrentElement()返回一个DOM对象,可选获取当前获得焦点的页面元素。D.4Utility对象Utility对象用于封装需浏览器整体支持、执行的属性和方法。D.4.1Utility对象的方法:方法参数返回值注释setBrowserWindowAlpha(alpha)0-100之间的整数值,0表示不透明,100表示完全透明。浏览器窗口(针对所有页面)的透明度,设置之后立即生效getEvent()N/A字符串封装event对象的JSON字符串获得虚拟按键事件的详细信息startLocalCfg()启动本地配置界面,用于进行网络、帐户、密码等内容的配置。MsgBoxCommand(pcURI,pcCmd,pcCmdInfo,pcOutBuf,intiOutLen)见表格下备注说明见表格下备注说明收发件箱的控制备注:intbw_Utility_MsgBoxCommand(char*pcURI,char*pcCmd,char*pcCmdInfo,char*pcOutBuf,intiOutLen);参数名和参数值之间用冒号“:”分隔,参数名都为小写,各参数间以符号“$”作为分隔符。l获取历史消息列表URI:空Cmd:GetMsgListCmdInfo:Inbox或者Outbox,表示读取的是收件箱的消息还是发件箱的消息。返回的消息列表,其格式为JSON如下:[{Msg1},{Msg2},{Msg3}]{Msgn}的格式为:{”URI”:”xxxx”,”timestamp”:"xxx",”title”:”xxx”,”content”:”xxx”,”read”:”0”,”url”:”xxx”,”mode”:”0200”}l获取历史消息结束标记URI:空143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)Cmd:GetMsgListEofCmdInfo:空返回1表示消息列表获取完毕,0表示未获取完毕,还需要继续获取。l发送、转发、回复新消息URI:对方的SIPurlCmd:SendMsgCmdInfo:消息体内容,按照utf-8编码l设置消息已读URI:空Cmd:SetReadCmdInfo:消息时间戳l删除消息URI:空Cmd:DeleteMsgCmdInfo:消息时间戳l清空收、发件箱消息URI:空Cmd:CleanupCmdInfo:Inbox或者Outboxl关闭消息URI:空Cmd:CloseMsgCmdInfo:关闭类型D.5Event对象机顶盒在产生内部事件时,使用虚拟按键的方式传递该事件消息,同时产生这个事件的详细信息。页面Javascript逻辑可通过Utiliy.getEvent()方法获取。D.5.1Event对象的结构:Event对象的具体结构如下:属性名属性类型是否必选注释typeStringYEvent事件类型instance_idIntY机顶盒本地的播放器实例ID其他字段不同Event事件定义不同D.5.2Event类型:事件类型(EVENT_TYPE)注释EVENT_GO_CHANNEL当按下CH+,CH-和数字键,机顶盒将打开下一个频道时触发143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)EVENT_MEDIA_END当媒体播放器中的媒体播放到末端时触发EVENT_MEDIA_BEGINING当媒体播放器中的媒体播放到起始端时触发EVENT_MEDIA_ERROR当媒体播放器,发生异常时触发EVENT_PLAYMODE_CHANGE当媒体播放器的playbackmode发生改变的时候触发EVENT_REMINDER当机顶盒定时提醒时触发,EVENT_TVMS_MESSAGE消息满和新消息达到提醒(虚拟事件的键值为0x302)D.5.3Event消息:1EVENT_GO_CHANNEL事件的定义属性名属性类型是否必选注释typeStringY对于此事件Type的值为:”EVENT_GO_CHANNEL”instance_idIntY机顶盒本地的播放器实例IDchannel_codeString=Y频道的统一标识channel_numIntN频道号2EVENT_MEDIA_END事件的定义属性名属性类型是否必选注释typeStringY对于此事件Type的值为:”EVENT_MEDIA_END”instance_idIntY机顶盒本地的播放器实例IDmedia_codeStringN播放到末端的媒体的统一标识entry_idStringN播放到末端的媒体,在播放列表中的唯一标识3EVENT_MEDIA_BEGINING事件的定义属性名属性类型是否必选注释TypeStringY对于此事件Type的值为:”EVENT_MEDIA_BEGINING”instance_idIntY机顶盒本地的播放器实例IDmedia_codeStringN播放到起始端的媒体的统一标识entry_idStringN播放到起始端的媒体,在播放列表中的唯一标识4EVENT_MEDIA_ERROR事件的定义属性名属性类型是否必选注释typeStringY对于此事件Type的值为:”EVENT_MEDIA_ERROR”instance_idIntY机顶盒本地的播放器实例IDerror_codeIntY错误代码error_messageStringN错误详细信息143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)media_codeStringN发生错误的媒体的统一标识5EVENT_PLAYMODE_CHANGE事件的定义属性名属性类型是否必选注释TypeStringY对于此事件Type的值为:”EVENT_PLAYMODE_CHANGE”instance_idIntY机顶盒本地的播放器实例IDnew_play_modeIntY播放模式变化后的播放状态。参考:1.5.1播放状态(PLAY_MODE)的定义new_play_rateNumN当播放模式为TRICK_MODE时,必须提供播放速率的信息old_play_modeIntY播放模式变化前的播放状态。参考:1.5.1播放状态(PLAY_MODE)的定义old_play_rateNumN当播放模式为TRICK_MODE时,必须提供播放速率的信息5.1播放状态(PLAY_MODE)的定义播放状态值PLAYMODE注释0STOP停止状态1PAUSE暂停状态2NORMAL_PLAY正常播放状态3TRICK_MODE正常播放之外,以指定播放速率快进,快退,慢进,慢退其他待定5.2播放速率(PLAY_RATE)的定义以数值来表示播放的速率。其中整数表示正向播放,负数表示反向播放。示例如下:播放速率值注释11倍速正常播放22倍速快进44倍速快进0.50.5倍速率慢进-11倍速退后-22倍速快退-44倍速快退-0.50.5倍速慢退6EVENT_REMINDER事件的定义属性名属性类型是否必选注释typeStringY对于此事件Type的值为:”EVENT_REMINDER”messageStringY定时提醒的消息143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)7EVENT_TVMS_MESSAGE事件的定义属性名属性类型是否必选注释TypeStringY“EVENT_TVMS_MESSAGE”URIstringY如果是新消息,表示发消息方的SIP帐号;如果是消息满通知,则为空Msg_TypestringYinbox_full,outbox_full,chat_msgMsg_contentstringConditional消息内容D.5.4EVENT详细信息的封装方式采用JSON格式来封装EVENT详细信息。示例如下:属性名属性类型是否必选属性值TypeStringY”EVENT_MEDIA_END”Instance_idIntY1media_codeStringN”vod/2102”entry_idStringN“12”封装为如下JSON格式的字符串:{“type”:”EVENT_MEDIA_END”,”instance_id”:1,”media_code”:”vod/2102”,”entry_id”:”12”}D.6CU_Network对象D.6.1Ethernet对象定义了网络交互方面相关的对象,包括Ethernet对象下获取Mac地址、设置DHCP启停和获取网络状态等方法和属性。CU_Network.ethernets[0].MACAddress描述:获取当前网卡 6 个 byte 的物理地址,值为字符串,每两个十六进制数之间以“-”分隔开.隔例如“00-15-F2-63-7A-83”。只读属性;Case:varstr=CU_Network.ethernets[0].MACAddress;CU_Network.ethernets[0].DHCPEnable描述:获取和设置当前网络的是否启用 取和设置当工作方式,作可读可写属性;取值为以下数值: 值:表示使用 表示使用数值:表示静态 表示静模式如果设置启用 果设置启用时,启用成功或超时发 ,启用成功或超时发是否启用ets[0].DHCPE(启用成功)或 启用成功)或超时发是否启用ets[0].DHCPEna(启用超时)消息通知页面。 注意:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1.当此值设置为 1 时,不能再设置 ethernet 对象的 IP。2.CU_Network.save()后写 FlashCase:varstr=CU_Network.ethernets[0].DHCPEnable;CU_Network.ethernets[0].LANStatus描述:获取 ethernet 模式的连接状态:1 表示已连接上 示已表示没有连接上只读属性;注意:1. 功能相当于 PC 的本地连接。2. 通过网卡、网线或网络其他布线物理连线状态得知此状态是 1 还是 0,例如,若网线断开此接口读取的值就会为 0Case:varstr=CU_Network.ethernets[0].LANStatus;143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)附录E:FEC技术要求E.1FEC帧格式FEC帧格式:RTP头+FEC结构。E.1.1RTP头要求FEC冗余报文RTP头的要求如下:该格式严格遵循RFC3550的规定,如果描述中有和RFC3550冲突的地方,请以RFC3550为准,各个字段的意义和规范要求如下:uV=2uP=0uX=0uCC=0uM=0uPT=127uSequencenumber,FEC报文单独编号uTimestamp=0143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)uSSRC=关联源RTP的SSRCE.1.2FEC结构1)FEC数据结构描述FEC_DATA_STRUCT{UINT16rtp_begin_seq;//源码流FEC编码起始RTP序号UINT16rtp_end_seq;//源码流FEC编码结束RTP序号UINT8redund_num;//FEC报文数UINT8redund_idx;//FEC报文索引序号,从0开始UINT16fec_len;//FEC荷载字节数UINT16rtp_len;//被编码RTP报文的最大长度,字节数。包括RTP包头+载荷,一般为12+1316byte.,如扩展rtp包头长度增加16个。如果被编码RTP报文不足长度,则编码时对该RTP用TS空包填充(注:发送流保持不变),TS空包参考ISO13818-1规范(要求除了PID=1FFF外,其他位都填0)。这样,被恢复的数据包长度统一。UINT16rsv;//备用,全填充为0UINT8fec_data[x];//fec数据,对rtp报文进行fec编码(注:是原始rtp报文,不是ts报文。)}2)FEC数据封装E.2同步方式143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)FEC冗余数据结构里面包含了RTP起止序号,根据这个信息就可以实现冗余数据与原始数据之间的同步。服务端增加FEC功能后,对原始RTP数据仍应线速转发,不应有延时,FEC数据在本组RTP数据都转发完毕后才编码出来并发送出去的。在100+3模式下的应用举例如下图所示:考虑到降低码流的突发,这个冗余数据报文应当与下一组RTP数据交叉平滑发出。组播组“fec冗余+原始RTP码流”平均速率应不超过原始码流速率*(1+冗余率),并要求“fec冗余+原始RTP码流”标清MDI:DF<100ms,高清MDI:DF<20ms。FEC冗余率和编码组的大小在服务端应可设置。FEC冗余数据的个数一般不超过5%,FEC编码组一般不超过100个RTP报文。E.3FEC算法E.3.1基本要求:FEC采用里德所罗门算法,参考RFC5510:《Reed-SolomonForwardErrorCorrection(FEC)Schemes》,要求丢包恢复能力与丢包的位置无关。FEC算法不对RTP序号交织,按RTP顺序形成FEC冗余报文。FEC算法模块在平台、机顶盒中的位置:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)E.3.2解码API定义:为满足FEC算法的互通,电信将为平台厂商和机顶盒厂商提供FEC算法代码,具体接口如下:1)fec_encode编码接口函数原型Intfec_encode(intdata_pkt_num,intfec_pkt_num,intdata_len,char*data[],char*fec_data[]);参数说明data_pkt_num:一个分组内数据报文的个数fec_pkt_num:一个分组内冗余报文的个数data_len:参与编解码的数据字节长度data:原始数据向量组fec_data:输出的冗余数据向量组返回值Int:成功返回0,否则返回错误码备注143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)对于数据向量奥预留足够内存空间,避免访问越界2)fec_decode解码接口函数原型Intfec_decode(intdata_pkt_num,intfec_pkt_num,intdata_len,char*data[],char*fec_data[],intlost_map[]);参数说明Data_pkt_num:一个分组内数据报文的个数Fec_pkt_num:一个分组内冗余报文的个数data_len:参与编解码的数据字节长度dec_data:冗余数据向量组,丢失的报文以全零填充lost_map:报文丢失映射表,0标识报文丢失,1标识报文收到,前N个表示原始数据报,后M个表示冗余数据报返回值int:成功返回0,否则返回错误码备注对于原始数据报无丢失的情况,此接口应当持戒返回成功,不作处理附录F:ARQ技术要求F.1基本要求机顶盒根据RTP序号判断是否有RTP报文丢失,当发现有RTP报文丢失时,机顶盒以RTSP协议向平台发起重传要求。机顶盒不应发现一次丢包就发起一次重传请求,而应进行一定的聚合,重传请求消息最多可以表达10个丢失报文的序号。建议机顶盒用200ms-400ms的时间最为一个重传检测窗口(时间窗口大小与机顶盒当前缓存数据大小有关,当缓存数据不足时,时间窗口应该缩小)。以200ms的时间窗口为例,但机顶盒检测到一个丢包时,启动计时,在200ms内监测其他的丢包,当过了200ms时间窗口后,发起丢包重传请求,请求信息携带所有的丢包序号。如果在200ms内达到了10个丢包数据,可立即发起重传请求,并结束这个时间窗口。服务器应及时响应重传请求。如丢失的RTP序号间隔换大于监测窗口,则应判断为平台的问题,不需发起重传请求。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)机顶盒的重传请求应有一定的限制,10s内请求重传的RTP报文数不应超过RTP原始报文数的5%(例如,按服务器1s传100个RTP计算,在10s内,请求重传的RTP报文不超过50个。10s内,RTSP重传请求数按每10个报文一个请求,那么请求数为5次;如按监测时间窗口计,RTSP重传请求最大次数=10s/监测时间窗口)。服务器对单个终端的丢包重传也应有抑制,一般单个终端10s内请求的RTP重传报文数不应超过RTP原始报文数的5%,服务器具体的抑制阈值可设置。服务器对端口总的丢包重传也应有抑制,具体的抑制阈值可设置。服务器应对能针对终端、端口统计重传率,用于反映网络的质量状况。重传的RTP报文与原RTP报文结构相同,机顶盒收到重传的RTP数据包后,在机顶盒侧相当于有RTP乱序现象,机顶盒应根据RTP序号重新对RTP报文进行排序。如被重传的RTP报文在被媒体播发模块解码的时刻仍未收到,则放弃该RTP报文,不影响媒体播放的实时性。重传RTP报文既要保证发送的及时性,也应满足发流的平滑,要求重传报文叠加后,单播视频流标清MDI:DF<100ms,高清MDI:DF<20ms。视频服务器切换不应影响重传功能,在低于重传率阈值情况下,应确保所有重传要求都能有重传报文发出。F.2交互流程机顶盒通过GET_PARAMETER消息进行ARQ功能的交互,具体流程如下:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1)机顶盒通过上报DESCRIBE命令表明是否支持ARQ及流量控制功能;2)流媒体服务器回复DESCRIBE响应表明对于ARQ及流量控制的支持;3)机顶盒与流媒体服务器间进行正常的SETUP、RTSP命令等信令交互;4)机顶盒通过发送不带任何参数的GET_PARAMETER命令进行心跳互动;5)流媒体服务器返回机顶盒发送的GET_PARAMETER心跳响应;6)机顶盒发送带有x-Timeshift_Range、x-Timeshift_Current参数的用于获取时移时间的命令;7)流媒体服务器通过GET_PARAMETER响应返回当前时移时间;8)机顶盒发送带有x-RetransSeq参数的GET_PARAMETER命令以表明需要重传的包序号,最多不超过10个;9)流媒体服务器返回正常的GET_PARAMETER响应。F.3消息格式F.3.1GET-PARAMETER请求消息:终端发送的GET_PARAMETER消息区分为:RTSPs定时心跳、获取时移时间、对于丢包重传的支持,三种消息示例如下(【注】以下示例只做参考用):1)心跳消息:【注】:GET_PARAMETER作为心跳消息不带有任何的参数,心跳的周期应该30秒,机顶盒顶起发送仅携带Session号,不携带其他可选参数的GET_PARAMETER消息到服务器,流媒体服务器发送响应到机顶盒,这样可以确保整个流媒体通讯链路的保持;心跳消息严格周期定时发送,不受其他消息的影响,但需要注意CSeq值保持按顺序递增。2)获取时移时间请求:143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)3)丢包重传请求:S->CGET_PARAMETER消息响应HeaderField【注】:若机顶盒发送的GET_PARAMETER消息为丢包重传请求,则服务器接收丢包重传请求并且能够理解并处理,将返回200OK,但是否重传不影响对于此类命令的响应。F.3.2GET_PARAMETER响应消息:服务器的响应消息也分为三种:RTSP定时心跳、获取时移时间响应消息、丢包重传响应消息,分别于终端发送的三种消息一一对应。服务器发送的响应消息的种类取决于收到的GET_PARAMETER消息的种类,三种消息示例如下(【注】以下示例只做参考用):143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)1)心跳消息响应2)获取时移时间消息响应(以clock时间为例)3)丢包重传消息响应附录G:流量控制技术要求G.1基本要求143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)机顶盒应可设定缓存上溢和下溢的阈值,并可实时监测当前缓存数据量所在的位置。当缓存数据量超过上限或低于下限时,机顶盒应即刻通过RTSP的PLAY指令通知服务器,要求服务器在当前发流速率的基础上减少或增加数据量。机顶盒通过上报所需数据量来调整缓存数据大小。设需要调整的缓存数据量为x-BurstSize,当x-BurstSize为负数则表示终端缓冲区上溢,需服务器减少数据发送量;如果x-BurstSize为正数则表示终端缓冲区下溢,需服务器增加数据发送量。一般x-BurstSize=(缓存上溢阈值–缓存下溢阈值)*60%左右,以避免缓数据增加或减少过量。服务器在原发流速率基础上,通过降速或升速实现对机顶盒缓存的调整,降速或升速比例可设,一般取原速率的0.8–0.9倍,或原速率的1.1–1.2倍。在RFC2363PLAY指令SPEED参数功能支持的情形下,服务器可根据机顶盒设定的速率发送。RFC2363PLAY指令SPEED参数可选。服务器发流速率调整的时间=x-BurstSize/(调整速率–码流速率),过了这个时间段,服务器发流速率自动恢复为原速率。机顶盒必须在首个PLAY命令中携带缓存下溢信息,以实现点播的快速启动。在播放过程中,也可根据缓存的上下溢状况,对缓存实现实时调整。机顶盒发送流量控制的请求次数应受限制,一般情况下10s内只允许请求一次。服务器响应请求的次数也应可抑制。视频服务器切换不应影响流量控制功能。143 中国联通家庭宽带多媒体应用业务平台技术规范-与机顶盒终端接口分册(V0.3)G.2交互流程1)机顶盒通过上报DESCRIBE命令表明是否支持ARQ及流量控制功能;2)流媒体服务器回复DESCRIBE响应表明对于ARQ及流量控制的支持;3)机顶盒向流媒体服务器发送SETUP消息。4)流媒体服务器向机顶盒发送SETUP响应消息;5)机顶盒向流媒体服务器发送PLAY消息,在首个PLAY命令中必须携带机顶盒的数据接收缓冲区信息;6)流媒体服务器向机顶盒发送PLAY响应消息;7)机顶盒也可在其后发生缓冲区溢出的情况下通过PLAY命令发送进行流量控制的请求,与流媒体服务器进行流量控制;8)流媒体服务器通过PLAY命令的响应,返回对于流量控制请求的响应。143'