当前位置:首页 >> 信息与通信 >>

中国电信IPTV规范:机顶盒与IPTV业务运营平台接口技术规范


文件编号:SHDX/ZS/CZ/JG/005/B/2009

中国电信上海公司 机顶盒与 IPTV 业务运营平台接口技术规范 V2.2(修订版)
1 目的 本规范是在中国电信集团公司发布的《机顶盒与 IPTV 业务运营 平台接口技术规范 V2.0》的基础上,根据中国电信上海公司 IPTV 运 营的实际情况,进一步调整修订而成的。 本规范供引入 IPT

V 平台与终端设备时参照执行,同时也为平台 和终端厂商开发机顶盒与 IPTV 业务运营平台之间的接口提供依据。 本技术规范的增补、修订和解释权归中国电信上海公司所有。如 中国电信上海公司在此之前的文件与本技术规范有矛盾, 按此技术规 范执行。 本技术规范自发布之日起实施。

2 适用范围 本规范规定了机顶盒与 IPTV 业务运营平台的接口,包括与业务 管理平台、EPG 服务系统、增值业务系统、TS 内容分发系统、ISMA 内容分发系统、DRM 系统(暂缓) 、通信服务系统(待定) 、终端管 理系统之间的详细接口协议、字段内容。 本规范适用于机顶盒与 IPTV 业务运营平台之间的接口开发。为

1

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

中国电信上海公司 IPTV 平台与终端设备的选择提供了依据。

3 引用标准 下列文件中的条款通过本标准的引用而成为本标准的条款。凡 是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或 修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研 究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最 新版本适用于本标准。 RFC1889:ATransportProtocolforReal-TimeApplications RFC2326:RealTimeStreamingProtocol RFC2327:SessionDescriptionProtocol RFC2616:HypertextTransferProtocol RFC3275:ExtensibleMakeupLanguage RFC3611:RTPControlProtocolExtendedReports RFC3711:TheSecureReal-timeTransportProtocol ISO/IEC13818-12000:Genericcodingofmovingpicturesand associatedaudioinformation ITU-TRec.H.222.0-2000-Amendment3:TransportofAVCVide oDataoverITU-TRecommendationH.222.0 W3C:WebServicesDescriptionLanguage

2

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

4 缩略语 AVS 技术标准 CAT CPE DRM EPG HTTP HTTPS 协议 IEC 际电工委员会 IGMP 管理协议 IP ISO InternetProtocol 互联网协议 InternetGroupManagementProtocol 互连网组 InternationalElectrotechnicalCommission 国 ConditionalAccessTable CustomerPremisesEquipment DigitalRightsManagement ElectronicProgrammerGuide HypertextTransferProtocol 有条件接收表 用户终端设备 数字版权管理 电子节目单 超文本传输协议 AudioVideoCodingStandard 数字音视频编解码

HypertextTransferProtocolSecure 安全超文本传输

InternationalOrganizationforStandardization

国际标准化组织 MAC MPEG2 家组 2 MPTS NTP MultipleProgramsTransportStream 多节目传输流 NetworkTimeProtocol 网络时间协议 MediaAccessControl MovingPictureExpertsGroup2 媒体访问控制层 活动图像专

3

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

OS PAT PCR 考 PES 码流 PMT PSI 息 RPC 用 RTCP 制协议 RTP RTSP 媒体协议 SIP 议 SDP 议 SOAP 对象访问协议

OperationSystem ProgramAssociationTable ProgramClockReference

操作系统 节目组合表 节目时钟参

Packetelementarystream

打包的基本

ProgramMapTable ProgramSpecificInformation

节目映射表 节目专有信

RemoteProcedureCall

远程过程调

Real-timeTransportControlProtocol

实时传输控

Real-timeTransportProtocol

实时传输协议

Real-timeTransportStreamingProtocol 实 时 传 输 流

SessionInitiationProtocol

会话初始协

SessionDescriptionProtocol

会话描述协

SimpleObjectAccessProtocol

简 单

4

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

SPTS 输流 STB STB-SIM 全识别模块 TCP 议 TS TS UDP 协议 URL 位符 UTC 世界标准时间 VOD WSDL 描述语言 XML 语言 XSD 定义文件

SingleProgramsTransportStream

单节目传

SetTopBox STBSecurityIdentificationModule

机顶盒 机顶盒安

TransmissionControlProtocol

传输控制协

TransportStream UserDatagramProtocol

传送流 用户数据报

UniformResourceLocator

统一资源定

CoordinatedUniversalTime

协调世界时/

VideoonDemand

视频点播

WebServiceDescriptionLanguageWeb 服 务

ExtensibleMarkupLanguage

可扩展标记

XMLSchemaInfosetModel

XML 数据

5

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

5 机顶盒与 IPTV 业务运营平台接口框架 5.1 机顶盒与 IPTV 业务运营平台接口描述图 机顶盒与 IPTV 业务运营平台有以下逻辑接口: a). 与业务管理平台的接口(S1) b). 与 EPG 服务系统的接口(S2) c). 与增值业务平台的接口(S3) d). 与 TS 内容分发系统的接口(S4-T) e). 与 ISMA 内容分发系统的接口(S4-I) f). 与 DRM 系统的接口(C4) g). 与通信服务系统的接口(S5) h). 与终端管理系统的接口(S6) 所有接口在系统中的位置,如图 5-1-1 所示:

6

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

IPTV 业务运营平台 业务管理平台

EPG服务系统
S1

S2

增值业务平台

S3

STB机顶盒

S4-T
S4 -I

TS内容分发系统

C4
S5

ISMA内容分发系统

DRM系统

图 5-1-1 机顶盒与 IPTV 平台接口概述

5.2 机顶盒与 IPTV 业务运营平台接口概述 a). S1 接口:机顶盒与业务管理平台接口。 承载协议:HTTPGet/Post 接口功能:机顶盒通过 S1 接口与业务管理平台交互,完成开机用 户应用认证、频道列表获取、业务入口地址获取、用户注销等功 能。

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

S6

通信服务系统

终端管理系统

7

b). S2 接口:机顶盒与 EPG 服务系统接口。 承载协议:HTTP POST/GET 接口功能:机顶盒通过 S2 接口与 EPG 服务系统交互,完成获得 EPG 首页及其他 EPG 资源、EPG 切换等功能。 c). S3 接口:机顶盒与增值业务平台接口。 承载协议:HTTP POST/GET、自定义协议 接口功能:机顶盒通过 S3 接口与增值业务平台交互,完成基于 B/S 和 C/S 形式的增值业务。 d). S4-T 接口:机顶盒与 TS 内容分发系统接口 承载协议:MPEG2-TS、RTSP,RTP,RTCP 接口功能:机顶盒通过 S4-T 接口与 TS 内容分发系统交互,完成 点播、组播、单播时移和组播时移等功能 e). S4-I 接口:机顶盒与 ISMA 内容分发系统接口 承载协议:ISMA、RTSP,RTP,RTCP 接口功能:机顶盒通过 S4-I 接口与 ISMA 内容分发系统交互,完 成点播、组播、单播时移和组播时移等功能 f). C4 接口:机顶盒与 DRM 系统接口 暂缓 g). S5 接口:机顶盒与通信服务系统接口 承载协议:SIP、HTTP、SOAP 接口功能:机顶盒通过 S5 接口与通信服务系统交互,完成视频通 信、短信、彩信等业务交互

8

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

h). S6 接口:机顶盒与终端管理系统接口 承载协议:HTTP、SOAP、TR069 接口功能:机顶盒通过 S6 接口与终端管理系统交互,完成终端管 理、软件升级、性能监测等功能

5.3 机顶盒与 IPTV 业务运营平台接口安全性概述 机顶盒与 IPTV 业务运营平台接口交互的安全性,通过 IPTV 用 户 密 码 ( Password ) 或 IPTVSIM 卡 密 钥 ( ICKey ) 用 户 令 牌 、 (UserToken)协同完成。 终端在接入认证过程中,使用用户密码或 IPTVSIM 卡密钥通过 安全认证,并 获取 UserToken 作 为 当前交互过程 的认证凭 据。 UserToken 在超过有效期、终端浏览器关闭连接、 终端退出业务使用 后失效。 当 UserToken 超出其有效期时,EPG 服务系统判定其为失效, 并自动将终端重定向至业务管理平台进行重新认证, 认证结束继续使 用服务。 当终端接收到响应错误代码或发生其他错误,导致无法继续使 用 IPTV 业务时,则重新发起到业务管理平台的应用认证流程,应用 认证结束重定向访问 EPG 首页。

9

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

6 机顶盒与业务管理平台接口(S1 接口) 6.1 S1 接口描述图 机顶盒与业务管理平台之间具有以下接口功能模块: a). 机顶盒开机认证接口(S1-1) b). 频道列表获取接口(S1-2) c). 业务入口列表获取接口(S1-3) d). 机顶盒注销接口(S1-4)

10

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

6.2 接口时序

STB

机顶盒版本升级域

业务管理平台

a.i) 用户认证请求:HTTP Get 请求 生成EncryToken 返回EncryToken:HTTP 响应 采用Password加密, 生成认证字符串

a.ii)上传认证字符串:HTTP Post 请求 验证加密字符串

认证通过,返回结果(UserToken,EPGDomain等):HTTP 响应 a.iii)机顶盒版本检测和升级

b)频道列表获取请求 :HTTP Get 请求 频道列表获取响应 :HTTP 响应

c)业务入口地址获取请求 :HTTP Get 请求

业务入口列表获取响应 :HTTP 响应

d)用户注销请求:HTTP Get 请求

用户注销响应:HTTP 响应

图 6-2-1 机顶盒开机应用认证流程图

机顶盒开机认证及注销流程如下: a). 用户身份认证及获取资源服务器列表 l 机顶盒向业务管理平台通过 HTTP GET 方式发送用户身份 认证请求,上传信息包括 UserID; l 业务管理平台产生随机 EncryToken 字段,该字段用于认 证加密的挑战字; l 业务管理平台通过 HTTP 响应返回包含扩展加密 js 脚本、
11

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

EncryToken 等内容的页面; l 机顶盒通过调用扩展 js 函数对 EncryToken、UserID、 STBID、IP、MAC 等信息进行加密后,通过 HTTP Post 方 式发送到业务管理平台; l 业 务 管 理 平 台 进 行 身 份 验 证 , 验 证 通 过 后 通 过 HTTP Response 以扩展 js 脚本的形式返回认证结果并设置资源 服务器列表等信息; l 机顶盒使用认证返回的升级服务器地址,通过本地升级功 能进行版本检查并按需要进行升级。 b). 获取频道列表 l 机顶盒通过 HTTP GET 的请求方式,向业务管理平台发起 获取频道列表的请求; l 业务管理平台通过 HTTP 响应以扩展 js 脚本的形式返回频 道列表。 c). 获取业务入口列表 l 机顶盒通过 HTTP GET 的请求方式,向业务管理平台发起 获取业务入口列表的请求; l 业务管理平台通过 HTTP 响应以扩展 js 脚本的形式返回业 务入口列表。 d). 用户注销 l 用户关机或退出 IPTV 业务,主动发起注销请求; l 业务管理平台执行用户注销操作, 并通过 HTTP 响应返回空

12

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

内容。 6.3 接口协议内容 本接口采用 HTTPGET、POST/HTTP RESPONSE + JS 的方式承 载,请求采用 HTTP GET、POST 的方式,采用 URL 参数、POST 内容 的方式传递所需的参数,返回内容采用 JS 的方式组织、传递、操作。

6.3.1 认证 a). 认证请求
承载协议: 接口方向: 接口功能: 备注说明: HTTP GET 机顶盒→业务管理平台 机顶盒调用页面请求进行用户开机认证请求 采用 URL 传递参数

表 6-3-1-1 用户认证请求 名称 UserID Action 用户登录业务帐号 当前操作,开机认证时为“Login” 说明 数据 类型 String String 长度 (字节) 36 10 是否 必选 M M

认证请求示例( 【注】本示例只做参考用) :
http://IptvAuthDomain/AuthenticationURL?UserID=12345678&Action =Login

b). 认证请求挑战字响应
承载协议: HTTP 响应
13

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

接口方向: 接口功能: 备注说明:

业务管理平台→机顶盒 返回页面要求机顶盒进行信息加密认证 采用扩展 js 脚本传递参数及后续指令

表 6-3-1-2 用户认证请求挑战字响应 名称 说明 业务管理平台为该用户分配的临时身份证 EncryToken 明,只用于认证加密 String 32 M 数据 类型 长度 (字节) 是否 必选

【注】 :认证响应内容包含 js 方式的 Authentication 对象 CTCGetAuthInfo 接口函数, 要求浏览器支持。

认证请求响应示例( 【注】本示例只做参考用) :

14

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

HTTP/1.1 200 OK Date: Sat, 26 Aug 2006 07:30:58 GMT Cache-Control: pre-check=0 Pragma: no-cache Content-Length: 450 Content-Type: text/html no-store, no-cache, must-revalidate, post-check=0,

<html> <head> </head> <script language="javascript"> function DoAuth() { document.authform.Authenticator.value= Authentication.CTCGetAuthInfo(‘D6D0B9FAB5E7D0C5C9CFBAA3D4BAD6 C6’); document.authform.submit(); } </script> <body bgcolor="#000000" onload=DoAuth()> <form action="authurl" name="authform" method="post"> <input type="hidden" name="UserID" value="12345678"> <input type="hidden" name="Authenticator" value=""> </form> </body> </html>

c). 机顶盒上传认证信息
承载协议: HTTP POST

15

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

接口方向: 接口功能: 备注说明:

机顶盒→业务管理平台 机顶盒调用 POST 请求上传认证信息 采用 POST 信息传递参数

表 6-3-1-3 用户上传认证信息请求 名称 UserID Authenticat or 说明 用户登录业务帐号 加密后的参数串,包含各个输入参数,具 体参数和加密方法见下表 string M 数据 类型 string 长度 (字节) 36 是否 必选 M

表 6-3-1-4 请求 Authenticator 包含参数 名称 说明 数据 类型 digitstr ing 用于 Autenticator 产生的临时 Token IPTV 用户业务编号 机顶盒编号,参见中国电信《IPTV 机顶盒 STBID IP MAC Reserved 技术规范》附录 D,下同 IP 地址 机 顶 盒 的 MAC 地 址 , 格 式 为 : xx:xx:xx:xx:xx:xx 预留 string string string String 32 39 17 64 M M M M String string 长度 (字节) <=8 32 20 是否 必选 M M M

Random EncryToken UserID

随机数字

【说明】 Authenticator 表示加密后的参数串,具体参见附录 D.1.1 获取认证信息函数 : 的返回值描述。

认证请求示例( 【注】本示例只做参考用) :

16

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

POST /authurl HTTP/1.1 Accept: */* Host: **.**.**.** User-Agent: Mozilla/4.73 Connection: close Referer: http:// **.**.**.**/** Pragma: no-cache Content-Type: application/x-www-form-urlencoded Content-Length: ** Authenticator=*********************************************************************** **************************************************************************************** **********************************************************************************&User ID=******

d). 认证响应
承载协议: 接口方向: 接口功能: 备注说明: HTTP 响应 业务管理平台→机顶盒 返回认证结果页面,并设置资源服务器信息 采用扩展 js 脚本传递参数及后续指令

表 6-3-1-5 认证响应 名称 说明 EPG 的域名,格式类似于: EPGDomain http://xxx.yyy.zzz:port/ Port 默认为 80 备份 EPG 的域名,格式类似于: EPGDomainBackup http://xxx.yyy.zzz:port/ Port 默认为 80 升级服务器的域名,格式是: UpgradeDomain http://xxx.yyy.zzz:port/ Port 默认为 80 UpgradeDomainBacku 备份升级服务器的域名,格式是: string 256 O string 256 M string 256 O string 256 M 数据 类型 长度 (字节) 是否 必选

17

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

p

http://xxx.yyy.zzz:port/ Port 默认为 80 管理服务器的 Domain,格式是:

ManagementDomain

http://xxx.yyy.zzz:port/ Port 默认为 80 备份管理服务器的 Domain,格

string

256

M

ManagementDomainB ackup

式是: http://xxx.yyy.zzz:port/ Port 默认为 80 时钟同步服务器地址,格式为:ip string 256 O

NTPDomain

地址或域名, 192.168.13.14 或 如 ntp.sttri.com.cn 备份时钟同步服务器地址,格式

string

256

M

NTPDomainBackup

为 : ip 地 址 或 域 名 , 如 192.168.13.14 ntp.sttri.com.cn 业务管理平台为该用户分配的临 或

string

256

O

UserToken EPGGroupNMB UserGroupNMB

时身份证明 用户对应的 EPG 分组信息标识 用户对应的用户分组信息标识

String String String

32 8 8

M O O

说明: a). 如认证失败,则直接返回 HTTP 200,然后重定向到手工登录 或修改用户名密码的页面,并提示错误信息; b). 业务管理平台下发配置页面,包含指定参数和脚本,执行过 程: l 采用 js 函数的方式设置各参数;

18

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

l 并调用 js 函数启动版本升级检查功能(要求后台执行) ; l 携带 UserToken、EPGGroupNMB 参数转入厂商平台入 口点; c). 需 扩 展 设 置 参 数 的 js 函 数 Authentication 对 象 的 CTCSetConfig; d). 需扩展后台启动升级功能的 js 函数 CTCStartUpdate; e). 认证成功后 UserToken 可通过 cookie 或 Session 的方式进 行保存。

认证请求响应示例( 【注】本示例只做参考用) :

19

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

HTTP/1.1 200 OK Set-Cookie: UserToken=7AA501C7143C22983B5E0A6559361001;JSSESSIONID=ADE12314DA2 3; Path=/ Content-Type: text/html;charset=GBK Content-Length: 381 Date: Thu, 19 Oct 2006 08:50:14 GMT <html> <head> </head> <script language="javascript"> function AuthFinish() { Authentication.CTCSetConfig (‘UserToken’,’ *******’); Authentication.CTCSetConfig (‘EPGDomain’,’ *******’); Authentication.CTCSetConfig (‘EPGDomainBackup’,’ *******’); Authentication.CTCSetConfig (‘ManagementDomain’,’ *******’); Authentication.CTCSetConfig(‘ManagementDomainBackup’,’*******’); Authentication.CTCSetConfig (‘UpgradeDomain,’ *******’); Authentication.CTCSetConfig (‘NTPDomain,’ *******’); Authentication.CTCSetConfig (‘EPGGroupNMB,’ *******’); Authentication.CTCSetConfig (‘UserGroupNMB,’ *******’); Authentication.CTCStartUpdate(); document.location= ‘http://GetChannelListURL’; } </script> <body bgcolor="#000000" onload= AuthFinish() > </body> </html>

20

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

6.3.2 频道列表获取 a). 频道列表获取请求
承载协议: 接口方向: 接口功能: 备注说明: HTTP GET 机顶盒→业务管理平台 终端调用页面请求获得直播频道列表 可采用 Cookie、Session 的方式传递 UserToken,在 UserToken 失效更新的过程中,可调用该接口用于更新 频道列表

表 6-3-2-1 频道列表获取请求参数 名称 说明 业务管理平台为该用户分配的临时身份证 UserToken 明,采用 Cookie、Session 方式传递 String 32 M 数据 类型 长度 (字节) 是否 必选

频道列表获取请求示例( 【注】本示例只做参考用) :
HTTP GET /GetChannelListURL HTTP/1.1 Host: IptvAuthDomain Accept: */* User-Agent: Cookie: UserToken=7AA501C7143C22983B5E0A6559361001;JSSESSIONID=ADE12314DA2 3

b). 频道列表获取响应
承载协议: 接口方向: 接口功能: 备注说明: HTTP 响应 业务管理平台→机顶盒 返回页面进行频道列表的下发 采用扩展 js 脚本传递频道列表及后续指令
21

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

表 6-3-2-2 频道列表获取响应 名称 ChannelCo unt 说明 数据 类型 unsignedI nt ChannelI ChannelList 用户可观看的频道信息列表 nfoStruct[ ] M 长度 (字节) 4 是否 必选 M

用户可观看的频道总数

表 6-3-2-3ChannelInfoStruct 元素定义 名称 说明 默认频道的 ChannelID 信息 (如果 ChannelID 服务器端没有频道则返回字符串 “NULL”) 频道名称(如果服务器端没有频道 ChannelName 则返回字符串“NULL”) 用户频道编号(如果服务器端没有 UserChannelID 频道则返回-1) 组播 URL(igmp://组播地址:端口)/ 单播 URL(rtsp://单播地址:端口/ 路径)/HTTLURL(http://服务地址: ChannelURL 端口/路径) 如果服务器端没有频道则返回字符 串“NULL” 频道是否支持时移 TimeShift 1:支持 0:不支持 ChannelSDP 频道的 SDP 信息,允许为空 Boolea n string 1 M string 256 M int 4 M string 16 M string 8 M 数据 类型 长度 (字节) 是否 必选

256

M

22

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

频道的时移地址 TimeShiftURL 当该节目不支持时移, 该值无意义; 当该节目为单播直播, 该值无意义。 ChannelLogoStr uct 台标显示的参数结构,如果没有, 强制用空值填充,可以不处理 频道类型 ChannelType 1:视频 2:音频 3:WebChannel ChannelPurchas ed 用户授权标识 boolea n M string 16 O Chann elLogo Struct M string 256 M

ChannelLogoStruct 定义如下:
表 6-3-2-4 ChannelLogoStruct 元素定义 名称 ChannelLogU RL PositionX 说明 台标图片的 URL,该图片采用 OSD 方式由 机顶盒本地显示 以屏幕和图标左上角为准的台标显示横坐 标位置 以屏幕和图标左上角为准的台标显示纵坐 PositionY 标位置 台标显示开始时间, 与频道开始播放开始时 BeginTime 间相对的时间(以秒为单位) 台标两次显示之间的间隔时间(单位为秒, Interval -1 为台标一直显示,此时忽略 lasting;0 代表显示一次) 每次出现台标后的显示时间,Lasting 的值 Lasting 一定要小于 Interval unsignedi nt 4 Int 4 Int Unsigene dint 4 Int 4 数据 类型 String 长度 (字节) 256

4

23

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

【注】 认证响应内容包含 js 方式的 Authentication 对象的 CTCSetConfig 接口函数, : 要求浏览器支持。

频道列表获取请求响应示例( 【注】本示例只做参考用) :

24

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

HTTP/1.1 200 OK Content-Type: text/html;charset=GBK Content-Length: 381 Date: Thu, 19 Oct 2006 08:50:14 GMT

<html> <head> </head> <script language="javascript"> function ConfigChannel () { Authentication.CTCSetConfig (‘ChannelCount',' 3'); Authentication.CTCSetConfig('Channel','ChannelID="1",ChannelName=" STV1",UserChannelID="1",ChannelURL="igmp://233.0.0.1:3000",TimeShift=" 1",ChannelSDP="http://channel.iptv.com/channel1.sdp",TimeShiftURL="rts p://tvod.iptv.com/channel1",ChannelLogURL="http://channel.iptv.com/l og1.gif",PositionX="5",PositionY="5",BeginTime="10",Interval="0",Lasting="10 ",ChannelType="type1",ChannelPurchased="0"'); Authentication.CTCSetConfig('Channel','ChannelID="2",ChannelNa me="STV2",UserChannelID="2",ChannelURL="rtsp://channel.iptv.com/cha nnel2",TimeShift="1",ChannelSDP="",TimeShiftURL="rtsp://tvod.iptv.com/ch annel2",ChannelLogURL="http://channel.iptv.com/log2.gif",PositionX="5", PositionY="5",BeginTime="10",Interval="0",Lasting="10",ChannelType="type 1",ChannelPurchased="0"'); Authentication.CTCSetConfig('Channel','ChannelID="3",ChannelNa me="STV3",UserChannelID="3",ChannelURL="http://channel.iptv.com/ch annel3.jsp",TimeShift="1",ChannelSDP="",TimeShiftURL="",ChannelLogURL=" ",PositionX="5",PositionY="5",BeginTime="10",Interval="0",Lasting="10",Chan nelType="type1",ChannelPurchased="0"'); document.location= ‘http://GetServiceListURL’; } </script>
25

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

<body bgcolor="#000000" onload= ConfigChannel() > </body> </html>

6.3.3 业务入口列表获取 a). 业务入口列表获取请求
承载协议: 接口方向: 接口功能: 备注说明: HTTP GET 机顶盒→业务管理平台 终端调用页面请求获得业务列表 可采用 Cookie、Session 的方式传递 UserToken

表 6-3-3-1 业务入口列表获取请求 名称 说明 业务管理平台为该用户分配的临时身份证 UserToken 明,采用 Cookie、Session 方式传递 String 32 M 数据 类型 长度 (字节) 是否 必选

业务入口列表获取请求示例( 【注】本示例只做参考用) :
HTTP GET / GetServiceListURL HTTP/1.1 Host: IptvAuthDomain Accept: */* User-Agent: Cookie: UserToken=7AA501C7143C22983B5E0A6559361001;JSSESSIONID=ADE12314DA 23

b). 业务入口列表获取响应
26

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

承载协议: 接口方向: 接口功能: 备注说明:

HTTP GET 业务管理平台–〉机顶盒 返回页面进行业务入口列表的下发 采用扩展 js 脚本传递业务入口列表及后续指令

表 6-3-3-2 业务入口列表获取响应 名称 ServiceEntry 业务入口结构 ServiceEntry 结构 URL Hotkey Desc 业务入口的地址 URL 业务入口的地址快捷键 业务入口的描述 string string string 256 256 256 M M O 说明 数据 类型 长度 (字节) 是否 必选 M

表 6-3-3-3 业务入口列表 名称 BTVEPGURL VODEPGURL SelfServiceEPGURL UserSpaceURL InfoEPGURL GameEPGURL EmailEPGURL UMEPGURL 说明 EPG 服务器上的频道列表主页 EPG 服务器上的点播列表主页 EPG 服务器上的自助服务列表主页 用户机顶盒本地空间主页 EPG 服务器上的信息服务列表主页 EPG 服务器上的游戏列表主页 EPG 服务器上的 email 列表主页 EPG 服务器上的统一消息业务列表主页 是否必选 M M M M O O O O

业务入口获取请求响应示例( 【注】本示例只做参考用) :

27

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

HTTP/1.1 200 OK Content-Type: text/html;charset=GBK Content-Length: 381 Date: Thu, 19 Oct 2006 08:50:14 GMT <html> <head> </head> <script language="javascript"> function SetService() { Authentication.CTCSetConfig('ServiceEntry','URL="http://epg.iptv.co m/BTVEPGURL",HotKey="***",Desc="BTVEPGURL"'); Authentication.CTCSetConfig('ServiceEntry','URL="http://epg.iptv.co m/VODEPGURL",HotKey="***",Desc="VODEPGURL"'); Authentication.CTCSetConfig('ServiceEntry','URL="http://epg.iptv.co m/SelfServiceEPGURL",HotKey="***",Desc="SelfServiceEPGURL"'); Authentication.CTCSetConfig('ServiceEntry','URL="http://epg.iptv.co m/VODEPGURL",HotKey="***",Desc="VODEPGURL"'); Authentication.CTCSetConfig('ServiceEntry','URL="http://epg.iptv.co m/InfoEPGURL",HotKey="***",Desc="InfoEPGURL"'); document.location= ‘http://EPGDomain?UserGroupNMB=*****&EPGGroupNMB=******&UserTo ken=********&UserID=******&STBID=*********’; } </script> <body bgcolor="#000000" onload= ‘SetService()’ > </body> </html>

【注】 : l 机顶盒在获取 NTPDomain 后,立即与 NTP 服务器进行同步,

机顶盒继续访问业务能力平台。无论机顶盒是否与 NTP 服务 器同步成功,均不影响用户正常访问业务能力平台。
l 机顶盒从软关机状态下重新开机连接网络后, 需立即进行时间

同步;
l 机顶盒发送 NTP 请求与时间服务器进行同步的周期不得小于
28

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

60 分钟;

6.3.4 注销 a). 注销请求
承载协议: 接口方向: 接口功能: 备注说明: HTTP GET 机顶盒–〉业务管理平台 机顶盒调用页面请求进行用户注销请求 采用 URL 参数传递参数

表 6-3-4-1 注销请求 名称 UserID Action 说明 用户登录业务帐号 当前操作,注销时为“Logout” 数据 类型 String String 长度 (字节) 36 10 是否 必选 M M

注销请求示例( 【注】本示例只做参考用) :
http://IptvAuthDomain/AuthenticationURL?UserID=12345678&Action=Logout

b). 注销响应
承载协议: 接口方向: 接口功能: 备注说明: HTTP 响应 业务管理平台–〉客户端 返回注销结果响应页面 内容为空

注销请求响应示例( 【注】本示例只做参考用) :
29

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

HTTP/1.1 200 OK Date: Sat, 26 Aug 2006 07:30:58 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Length: 14 Content-Type: text/html

<html> </html>

6.4 异常处理流程 为保证终端在业务管理平台出现异常的情况下能够继续为用户提 供服务,因此对于机顶盒接入业务管理平台进行认证,由于业务管理 平台异常导致无法继续为用户提供服务的情况提出相应应急处理流 程。机顶盒开机认证与 IPTV 业务管理平台只有一次交互,即,在应 急状态下, 业务管理平台不生成 EncryToken, 直接生成 UserToken, 重定向到业务能力平台。

30

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

异地备用 3A认证服务器

机顶盒

主3A认证 服务器

厂商能力 平台

1、生成UserToken; 2、通过CTCSetConfig设置UserToken、 EPGDomain等等,所有必要字段参考规范!!

1、生成UserToken; 2、通过CTCSetConfig设置UserToken、 EPGDomain等等,所有必要字段参考规范!!

1、通过CTCSetConfig设置ChannelCount、 Channel等等,所有必要字段参考规范!!

图 6-4-1-1 机顶盒接入认证异常处理流程

《IPTV 机顶盒技术规范》中要求机顶盒能够支持主备认证地址, 即由于网络或系统故障等原因导致主认证地址不可达时, 机顶盒能够
31

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

自动切换到备用认证地址进行接入认证并为用户提供服务, 其中对于 相关技术指标要求如下: l 机顶盒浏览器发起的请求超时时间应设置为 10 秒,即浏览器 发起一次 HTTP 请求后 10s 内未收到来自于服务器的任何响应 则认为该次请求失败; l 机顶盒向主认证服务器地址发起的认证请求, 并记录当前的时 间为 T0, 如果认证请求超时且距离 T0 的时间间隔小于 30 秒, 向主认证服务器发起连续的认证请求,不超过 3 次; l 如果向主认证服务器地址发起的认证请求超时且距离 T0 的时 间间隔超过 30 秒但小于 60 秒, 则向备用服务器发起连续的认 证请求,不超过 3 次; l 若机顶盒连接主备认证服务器均失败, 则提示用户接入认证失 败; l 在上图中描述的与业务管理平台交互均为机顶盒接入认证流 程,当机顶盒跳转至业务能力平台即认为机顶盒接入认证结 束; l 在机顶盒与主 3A 认证服务器接入认证流程的任何一步出现连 接超时(30 秒内重试不超过 3 次)的情况下,机顶盒应能够 继续接入异地备用认证服务器进行业务认证;

32

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

7 机顶盒与 EPG 服务系统接口(S2 接口) 7.1 机顶盒访问 EPG 首页接口(S2-1) 7.1.1 接口时序

STB

EPG 服务系统 a)HTTP GET 请求

b)HTTP 响应

图 7-1-1-1 机顶盒访问 EPG 首页流程图

7.1.2 EPG 首页请求
承载协议: 接口方向: 接口功能: 备注说明: HTTP GET 机顶盒→EPG 服务系统 机顶盒向 EPG 服务系统请求 EPG 首页

表 7-1-2-1 机顶盒访问 EPG 首页请求参数 名称 说明 业务管理平台为该用户分配的临时身 UserToken UserID UserGroupN MB EPGGroupN 用户对应的 EPG 分组信息标识 份证明,这里通过机顶盒上传给 EPG 用户登录业务帐号 String String String 32 36 8 M M O 数据 类型 长度 (字节) 是否 必选

用户对应的用户分组信息标识

String

8

M

33

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

MB 机顶盒编号,参见中国电信《IPTV 机顶 STBID 盒技术规范》附录 D,下同 机 顶 盒 的 MAC 地 址 , 格 式 为 : xx:xx:xx:xx:xx:xx String 32 M

MAC

String

17

O

请求示例( 【注】本示例只做参考用) :
http://EPGDomain?UserID=1234567&UserGroupNMB=us010018&EPGGroupNM B=sh001018&STBID=011010000021E030002100300004C7E7&UserToken=7AA501C 7143C22983B5E0A6559361001

7.1.3 EPG 首页页面返回
承载协议: 接口方向: 接口功能: 备注说明: HTTP 响应 EPG 服务系统→机顶盒 EPG 服务系统向机顶盒下发 EPG 首页

34

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

7.2 机顶盒业务使用接口(S2-2) 7.2.1 接口时序

图 7-2-1-1 机顶盒业务使用流程图

机顶盒业务使用流程如下: a). 机顶盒向 EPG 服务系统发 起业务使 用请求,使用 HTTP GET/POST 等请求进行请求; b). EPG 服务系统通过 HTTP 响应返回业务使用响应,其中包含 HTML 和 Javascript; c). 机顶盒解析业务页面,并通过浏览器进行展示; d). 机 顶 盒 浏 览 器 解 析 其 中 的 业 务 逻 辑 , 包 括 对 其 中 的 Javascript、扩展 Javascript 的解析; e). 根据业务逻辑和用户操作的选择, 触发新的业务使用的请求。

35

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

7.2.2 业务使用请求
承载协议: 接口方向: 接口功能: 备注说明: HTTP GET/POST 机顶盒→EPG 服务系统 机顶盒向 EPG 服务系统请求使用业务

7.2.3 业务使用响应
承载协议: 接口方向: 接口功能: 备注说明: HTTP 响应 EPG 服务系统→机顶盒 EPG 服务系统向机顶盒响应使用业务

8 机顶盒与增值业务平台接口(S3 接口) 8.1 S3 接口描述图 机顶盒可以提供多种增值业务。根据增值业务类型的不同,需要 与不同的系统建立不同的接口模块。 a). B/S 方式增值业务:与 B/S 增值业务系统接口(S3-1) b). C/S 方式增值业务:与 C/S 增值业务系统接口(S3-2)

36

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

图 8-1-1 机顶盒与增值业务平台接口模块图

8.2 机顶盒与 B/S 增值业务系统接口(S3-1) 8.2.1 接口时序 用户访问 B/S 增值业务。

STB a)HTTP 请求 b)HTTP 响应

B/S 增值业务系统

图 8-2-1-1 访问 B/S 增值业务流程图

37

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

8.2.2 接口协议内容 8.2.2.1 请求 B/S 增值业务
承载协议: 接口方向: 接口功能: 备注说明: HTTP Request 机顶盒→B/S 增值业务系统 获得某 B/S 增值业务内容

8.2.2.2 请求 B/S 增值业务响应
承载协议: 接口方向: 接口功能: 备注说明: HTTP Reponse B/S 增值业务系统→机顶盒 返回 B/S 增值业务内容

38

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

8.3 机顶盒与 C/S 增值业务接口(S3-2) 8.3.1 接口时序

图 8-3-1-1C/S 增值业务流程图

C/S 增值业务使用流程如下: a). 在增值业务认证鉴权通过后,客户端通过返回的链接地址访 问 CS 增值业务启动页面,并将传入的 UserToken 等信息填 入 Object 对象参数中; b). 调用页面需进行判断,根据不同浏览器下载不同版本的客户 端软件; c). 客户端下载完成后,终端启动该客户端程序; d). 客户端启动时的位置信息由浏览器处理,登录用户名、登录 服务器等参数由客户端通过 Object 对象参数取出;
39

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

e). 客户端通过自定义协议与 C/S 架构增值业务服务器进行交 互,开始业务操作。

8.3.2 接口协议内容 8.3.2.1 访问 C/S 增值业务页面 a). 访问 C/S 增值业务页面请求
承载协议: 接口方向: 接口功能: 备注说明: HTTP Request 机顶盒→C/S 增值业务系统 获得某 C/S 增值业务页面内容

b). 访问 C/S 增值业务页面响应
承载协议: 接口方向: 接口功能: 备注说明: HTTP Response C/S 增值业务系统–>机顶盒 获得某 C/S 增值业务页面内容 通过<OBJECT>对象封装 C/S 增值业务客户端输入参数。

表 8-3-2-1-1 Object 对象标签 名称 id 说明 该 Object 的 ID,符合 HTMLDOM 规范 该 Object 的注册类 ID, 对应不同类型的 应用形式。 classid 在 嵌 入 式 操 作 系 统 中 , 调 用 [j2me : MIDP2.0,CLDC1.1] 应 用 时 , 使 用 : 72E6F181-D1B0-4C22-B0D7-4A0740EE String 不定 M 数据 类型 String 长度 (字节) 不定 是否 必选 M

40

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

AEF5 width height param 其他 该应用运行时所占像素宽度 该应用运行时所占像素高度 该应用的多个输入参数,使用子元素方式 表达 其他可扩展参数 String 不定 不定 不定 M O String String 不定 不定 M M

其中可使用的 Param 如下:
表 8-3-2-1-2 Object 对象标签 名称 bgcolor jad 应用的背景色 该应用需下载的 jad 程序, 使用相对路 径 该应用需下载的 jar 程序包,使用相对 路径 说明 数据 类型 String String 长度 (字节) 不定 不定 是否 必选 O M

jar 针对 IE 启动 J2ME 类程序提供的扩展 参数 版本描述 其他

String

不定

M

用于兼容以后版本的 J2ME 程序 其他可扩展参数

String 不定

不定 不定

M O

【注】针对 IE 启动嵌入式应用程序,可能需要扩展参数,因此暂时保留一部分参数接口

应用页面对象示例( 【注】本示例只做参考用) :

41

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

<object

id="app1"

classid="clsid:72E6F181-D1B0-4C22-B0D7-4A0740EEAEF5"

width="640" height="530"> <param name="bgcolor" value="#c6cfd0" /> <param name="jad" value="sample.jad" /> <param name="jar" value=" sample.jar" /> <param name="param1Name" value=" param1Value" /> <param name="param2Name" value=" param2Value" /> …….. </object>

8.3.2.2 下载 C/S 增值业务客户端 a). 下载 C/S 增值业务客户端请求
承载协议: 接口方向: 接口功能: 备注说明: HTTP Request 机顶盒→C/S 增值业务系统 获得某 C/S 增值业务客户端 如机顶盒具备缓存机制, 并在访问页面时, 检测到该客户 端已经下载,则可跳过该下载步骤,不需重新下载。

b). 下载 C/S 增值业务客户端响应
承载协议: 接口方向: 接口功能: 备注说明: HTTP 响应 C/S 增值业务系统→机顶盒 获得某 C/S 增值业务客户端文件 通过 HTTP 文件下载的方式下载客户端。

8.3.2.3 启动 C/S 增值业务客户端 通过本地 Java 虚拟机运行 C/S 客户端软件包(jar 文件) ,并输
42

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

出到<OBJECT>对应显示区域。

8.3.2.4 C/S 增值业务使用 C/S 客户端启动后,客户端通过 Object 对象的 Param 参数获 取启动所需的参数,如登录服务器地址、登录用户名和密码等,并与 C/S 增值业务系统建立连接, 通过自定义协议进行交互并使用增值业 务。

8.3.2.5 增值业务结束 用户主动按下返回退出 C/S 增值业务客户端时,机顶盒需捕捉返 回按键事件,同时终端判断当前页面中是否为增值业务客户端页面。 如果当前页面为增值业务客户端启动页面则需终端再次返回客户端 调用页面的上一级页面。

9 机顶盒与 TS 内容分发系统接口(S4-T 接口) 9.1 S4-T 接口概要描述 9.1.1 基于 TS 的接口描述 机顶盒与内容分发系统之间具有以下接口模块: a). 机顶盒单播接口(S4-T-1) b). 机顶盒组播接口(S4-T-2)

43

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

c). 机顶盒单播时移接口(S4-T-3) d). 机顶盒组播时移接口(S4-T-4)

TS 内容分发系统 单播服务器 S4-T-1 组播服务器 S4-T-2 机顶盒 STB S4-T S4-T-3 单播时移服务器 S4-T-4 组播时移服务器

图 9-1-1-1 机顶盒与内容分发系统的接口框图

9.1.2 基于 TS 的传输协议栈

媒体流(MPEG4,H264) TS RTP UDP/TCP IP

信令控制 RTSP TCP

图 9-1-2-1 基于 MPEG-2TS 的传输协议栈结构

上图描述了基于 MPEG-2TS 的传输协议栈结构。 基于该协议栈

44

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

结构, IPTV 机顶盒和 IPTV 内容分发系统之间的接口分为两个通道: a). 媒体流传输和接收通道:见上图的左半部分,即 IPTV 内容 分发系统和 IPTV 机顶盒之间按照图中所示的格式或协议来完 成实际音视频媒体流数据的传输和解包播放,其中 RTP 协议为 可选性支持; b). 媒体流会话控制通道:见上图的右半部分,IPTV 内容分发 系统和 IPTV 机顶盒之间按照图中所示的信令协议来完成对音 视频媒体流的控制和交互,采用的协议为基于 TCP 的 RTSP;

9.1.3 TS 包结构和语法 9.1.3.1 MPEG-2 TS 包结构 a). MPEG-2 TS 包 结 构 必 须 符 合

ISO/IEC13818-1|ITU-TRec.H.222.0-2000–Amendment 3 打包 结构,即如下图:

45

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

图 9-1-3-1-1 符合 ISO/IEC13818-1|ITU-TRec.H.222.0MPEG-2 TS 的包结构

b). 必须支持 SPTS,不支持 MPTS; c). PCR 由视频 component 携带; d). 对 H.264 的 TS 包 结 构 句 法 的 定 义 , 必 须 符 合 ISO/IEC13818-1|ISO/IEC13818-1|ITU-TRec.H.222.0–2000–A mendment 3 的标准

9.1.3.2 PES 包结构 a). PES 包结构必须符合 ISO/IEC13818-1|ITU-TRec.H.222.0 打包 结构,具体如下图:

46

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

图 9-1-3-2-1 符合 ISO/IEC13818-1|ITU-TRec.H.222.0 的 PES 包结构

b). 一帧视频数据至多打成一个 PES 包; c). H.264 的 PES 包 结 构 的 句 法 必 须 符 合

ISO/IEC13818-1|ITU-TRec.H.222.0–2000-Amendment3 中 的标准; d). 当执行快进、快退等 TrickMode 功能时,PES 包头信息的 DSM_trick_mode_flag 不进行设置,即为 0;

9.1.3.3 PSI 信息定义 必须能解析完整的 PAT、PMT 表格,服务器可选支持 CAT 表 格,机顶盒必须支持 CAT 表格。且这些表格的结构必须符合 ISO/IEC13818-1|ITU-TRec.H.222.0 标准规范。

47

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

9.1.3.4 PMT 中的视音频 components PMT 中 视 音 频 的 StreamType 必 须 符 合

ISO/IEC13818-1|ITU-TRec.H.222.0–2000-Amendment3 中 的 标准,具体如下表:
表 9-1-3-4-1 Stream_type 对应表 Stream_type 0x03 解释 ISO/IEC11172Audio(MPEG1layer2 必选; layer3 服务器可 选,机顶盒必选) ISO/IEC13818-7AudiowithADTStransportsyntax(MPEG2L CAAC,服务器可选,机顶盒必选) CTCreservedforMPEG4LCAAC(待最新标准定义后更新) ISO/IEC14496-2Visual(MPEG4ASP) AVCvideoasdefinedinITU-TRec.H.264|ISO/IEC14496-10 Video AVS

0x0F 0x80 0x10 0x1B 0x42

9.2 流控制方法描述 9.2.1 组播控制方法描述 9.2.1.1 IGMP Join IGMP Join 消息的示例如下( 【注】本示例只做参考用) :

48

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

IGMP V2 Membership Report (IGMP join) IGMP Version: 2 Type: Membership Report (0x16) Max Response Time: 0.0 sec (0x00) Header checksum: 0xABCD (例如 0xfe8f 代表 correct) Multicast Address: x.x.x.x

9.2.1.2 IGMP Leave IGMP Leave 消息的示例如下( 【注】本示例只做参考用) :
IGMP Leave Group IGMP Version:2 Type: Leave Group (0x17) Max Response Time: 0.0 sec (0x00) Head Checksum: 0xABCD Multicast Address: x.x.x.x

9.2.1.3 IGMP Query 待定。

9.2.2 单播控制方法描述 9.2.2.1 总体说明 9.2.2.1.1 方法综述

49

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

本规范单播流控制协议基于标准的 RTSP 规范(RFC2326) ,并 在此基础上进行了必要的扩充。RTSP METHOD 如表:

表 9-2-2-1-1-1 流控制使用的 RTSPmethod 方法 DESCRIBE GET_PARAMETER 说明 C->S C->S S->C C->S S->C C->S C->S S->C C->S C->S S->C 流媒体服务器 M M 机顶盒 M M

OPTIONS PAUSE PLAY REDIRECT SETUP TEARDOWN ANNOUNCE

O M M O M M M

O M M M M M M

( 【注】以下所有协议中,[中括号]内容表示可选,斜体内容表示必有但 数值根据实际情况可以修订。 )

9.2.2.1.2 URL 描述 单播消息中涉及的流媒体地址规定如下:
rtsp://<serverName>/<name> serverName 流媒体服务器名称或者 IP 地址

50

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

name

点播内容在流媒体服务器上的详细路径

9.2.2.1.3 传送方式 单播消息中涉及的流媒体 Transport 参数结构规定如下: a). TCP 方式: C->S:
Transport:MP2T/[RTP]/TCP;unicast;destination=172.18.79.120[:2005];interleaved =0-1

S->C:
Transport:MP2T/[RTP]/TCP;unicast;interleaved=0-1;ssrc=327b23c6

b). UDP 方式: C->S:
Transport:MP2T/[RTP]/UDP;unicast;destination=172.18.79.120[:2005];client_port= 4588-4589

S->C:
Transport:MP2T/[RTP]/UDP;unicast;client_port=5576-5577;server_port=8000-8001; ssrc=6b8b4567

Transport 方式总共有四种方式,如下表所示。
表 9-2-2-1-3-1 Transport 方式 方式 MP2T/TCP 说明 使用 TCP 直接承载 MPEG2-TS,不使用 RTP 封装 是否必选 M

51

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

MP2T/UDP MP2T/RTP/TCP MP2T/RTP/UDP

使用 UDP 直接承载 MPEG2-TS,不使用 RTP 封装 使用基于 TCP 的 RTP 承载 MPEG2-TS 使用基于 UDP 的 RTP 承载 MPEG2-TS

M O O

交互中选择使用 Transport 方式的过程如下: a). 机顶盒在建立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;destinat ion=172.18.79.120;client_port=4588-4589;

b). 流媒体服务系统返回SETUPResponse中,选择一种可支持的 方式,填写在Transport参数中开始使用,如所有方式均无法支持 则返回461错误码,并等待终端响应; c). 机顶盒使用平台选择的方式建立媒体通道, 如平台返回错误码 表示无法支持任何方式,则终端向用户报错并发送TEARDOWN 消息,主动退出。

9.2.2.1.4 扩展错误代码
状态码 600 601 602 603 含义 自定义未知错误 服务器带宽不足 服务器忙 接入带宽不足 适用过程 all DESCRIBE,SETUP DESCRIBE,SETUP DESCRIBE,SETUP
52

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

604 605

用户无权限 用户费用不足

all all

9.2.2.2 SETUP C->S
表 9-2-2-2-1 SETUP 消息请求 HeaderField HeaderField CSeq Transport User-Agent Session Scale Range 说明 应答和请求对应的序列号 传递方式 用户引擎 会话号 播放速度 播放范围 是否必选 M M M O O O 数值 十进制数字

SETUP 请求消息示例如下( 【注】本示例只做参考用) :
SETUP rtsp://example.com/foo/bar/baz.mpg RTSP/1.0 CSeq:3 Transport:MP2T/[RTP]/TCP;unicast;destination=172.18.79.120[:2005];interleaved =0-1 User-Agent: CTC RTSP 1.0 [Session: 719885386] [Scale: 1.0] [Range: now-end]

S->C

53

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

表 9-2-2-2-2 Setup 消息响应 HeaderField HeaderField CSeq Transport Session Location Server 说明 应答和请求对应的序列号 传递方式 会话号 播放地址 播放服务器 是否必选 M M M O O 数值 十进制数字

SETUP 响应消息示例如下( 【注】本示例只做参考用) :
RTSP/1.0 200 OK CSeq: 3 [Location: rtsp://example.com/foo/bar/baz.mpg] [Server: [servername|ipaddr;port]] Session: 719885386 Transport:MP2T/[RTP]/TCP;unicast;destination=172.18.79.120[:2005]; interleaved=0-1;[bandwidth=2000000;][control_address=172.18.79.121;][packa gesize=32712/32712/188]

【注】 :Range 字段的表示方式: a) 时移的固定时间点使用绝对时间,采用 UTC 时间表示,格式为: 20070101T120000Z,且【UTC 时间 1】<【UTC 时间 2】 ; b) 时移的非固定时间点(如时移的左边界、右边界)使用相对时 间, 采用 NPT 时间的关键词表示,关键词为: now, beginning, end,其中:now:时移的当前点;beginning:时移的左边 界 (最早点) end: ; 时移的右边界 (直播的最新点) 其中 now 。
54

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

的具体说明如下: l 在首次进入时移时,now 代表时移的右边界,意义相当于 end; l 在进行时移播放、快退、快进(通过 PLAY 消息交互)后, now 代表播放内容的绝对时间点; l 在播放过程中, 发生暂停 (通过 PAUSE 消息交互) 后, now 代表播放内容暂停点的绝对时间点。 c) VOD 使用相对时间 NPT, 即相对于播放开始的时间, 关键词为: now,beginning,end, 其中: now: 点播的当前点; beginning: 点播的起始点;end:点播的结束点; d) Range 字段的示例: l 单播直播(非时移) :Range: npt=end-或者 nowl 时移: Range: clock=[utc 时间 1]-[utc 时间 2]或者 Range: npt=beginning-end l VOD:Range: npt=[npt 时间 1]-[npt 时间 2],npt 时间 可以是数字或者 beginning、now、end e) 机顶盒发送 PLAY 命令带有“Range: npt=”字段,服务器如果 接受(200 OK) ,则必须从该字段规定的位置开始发送媒体流, 如果流媒体服务器拒绝,则必须发送 455 回应表示拒绝。当机 顶盒发送 PLAY 命令带有“Range: npt=”字段且不包含具体数 值时,流媒体服务器如果接受(200 OK) ,则表示缺省从当前
55

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

位置开始发送媒体流,当前位置规定如下: l 当第一次播放时 (本次有效 RTSP 连接的第一个 PLAY 命令) , 对于点播节目当前位置为节目的起始位置, 对于直播节目当 前位置为流媒体服务器当前接收的媒体流位置。 l 暂停状态下恢复播放为当时停止的位置, 如果不知道该位置 则从头播放。 l 播放状态下快进/快退为媒体流发送的当前位置。 l 快进快退状态下播放或继续快进快退为媒体流发送的当前 位置。 f) RTSP 协议其他消息的 Range 字段,如无特殊说明,均遵守该 规定。 9.2.2.3 C->S
表 9-2-2-3-1 Play 消息请求 HeaderField HeaderField CSeq Session Scale Range Transport User-Agent 说明 应答和请求对应的序列号 会话号 播放速度 播放范围 传递方式 用户引擎 是否必选 M M M M O O 数值 十进制数字

PLAY

56

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

PLAY 请求消息示例如下( 【注】本示例只做参考用) :
PLAY rtsp://example.com/foo/bar/baz.mpg RTSP/1.0 CSeq: 5 Session: 719885386 [Transport:MP2T/[RTP]/TCP;unicast;destination=172.18.79.120[:2005] ;interleave d=0-1] [User-Agent: CTC RTSP 1.0] Scale: 1.0 Range: now-end] npt=10-15,[npt=10-],[npt=now-,beginning-,end-,beginning-end,

( 【注】 C->S 的 PLAY 带 Scale 参数请求, Scale 参数至少支持 1.0、
2.0、4.0、8.0、16.0,-2.0、-4.0、-8.0、-16.0。快进、快退播放过程

中服务器发送 I 帧视频,音频数据可不发送。 )

S->C
表 9-2-2-3-2 Play 消息响应 HeaderField HeaderField CSeq Session Scale Range Server 说明 应答和请求对应的序列号 会话号 播放速度 播放范围 服务器 是否必选 M M M O O 数值 十进制数字

PLAY 响应消息示例如下( 【注】本示例只做参考用) :

57

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

RTSP/1.0 200 OK CSeq: 5 Session: 719885386 [Server: servername|ipaddr;port] Scale: 1.0 Range: now-end] npt=10-15,[npt=10-],[npt=now-,beginning-,end-,beginning-end,

9.2.2.4 C->S

PAUSE

表 9-2-2-4-1 PAUSE 消息请求 HeaderField HeaderField CSeq Session User-Agent Transport 说明 应答和请求对应的序列号 会话号 用户引擎 传递方式 是否必选 M M O O 数值 十进制数字

PAUSE 请求消息示例如下( 【注】本示例只做参考用) :
PAUSE rtsp://example.com/fizzle/foo RTSP/1.0 CSeq: 834 Session: 12345678 [User-Agent: CTC RTSP 1.0] [Transport:MP2T/[RTP]/TCP;unicast;destination=172.18.79.120[:2005];interleave d=0-1]

( 【注】暂停超时时间由流媒体服务器决定。 )

58

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

S->C
表 9-2-2-4-2PAUSE 消息响应 HeaderField HeaderField CSeq Session Scale Range Server 说明 应答和请求对应的序列号 会话号 播放速度 播放范围 服务器 是否必选 M M O O O 数值 十进制数字

PAUSE 响应消息示例如下( 【注】本示例只做参考用) :
RTSP/1.0 200 OK CSeq: 834 Session: 719885386 [Range: npt=45.76-,[npt=now-,beginning-,end-]] [Scale:0.000] [Server: [servername|ipaddr;port]]

9.2.2.5 ANNOUNCE S->C
表 9-2-2-5-1 ANNOUNCE 消息请求 HeaderField HeaderField CSeq Session 说明 应答和请求对应的序列号 会话号 是否必选 M M 数值 十进制数字

59

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

x-notice x-InfoDetail Connection

通知代码 通知情况细节 连接处理状况

M O O

ANNOUNCE 消息示例如下( 【注】本示例只做参考用) :
ANNOUNCE: rtsp://example.com/fizzle/foo RTSP/1.0 CSeq: 834 Session: 12345678 x-notice: xxxx [“Internal Server Error” event-date = 20050729T100431.097] [x-InfoDetail:orderURL] [Connection: close]

【注 1】x-notice 取值如下:
x-notice 取值 1101 1102 1103 1104 2101 2102 2103 2104 2105 2400 2401 4401 4402 含义 "PlayoutCancelled"录制的播放取消 "PlayoutStarted"录制的播放开始 "PlaybackStalled"录制的播放临时不可用 "PlayoutResumed"录制的播放恢复 表示 EndofStream 表示 BeginningofStream 表示强制退出 表示定位到当前直播点 表示该服务未订购,此时流媒体服务器停止播放流见 9.3.6.2 "SessionExpired"Session 的生命期在 ticket 检测下到期 "TicketExpired"Ticket 过期 "BadFile"请求的文件无法打开 "MissingFile"请求的文件不存在

60

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

5201 5400 5502 5401 5402 5403 5500 5502

"InsufficientMDSBandwidth"MDS 带宽不够 "ServerResourceNoLongerAvailable"资源不可继续使用 表示 InternalServerError 表示 Downstreamfailure "ClientSessionTerminated"客户端被管理员关闭会话 "ServerShuttingDown"RTSPserver 正在关闭 "ServerError"未知事件发生 "InternalServerError"内部错误导致流媒体服务器停止工作

【注】其他值可以自定义。

9.2.2.6 TEARDOWN C->S
表 9-2-2-6-1 TEARDOWN 消息请求 HeaderField HeaderField CSeq Session Connection Transport 说明 应答和请求对应的序列号 会话号 连接处理状况 传递方式 是否必选 M M O O 数值 十进制数字

TEARDOWN 请求消息示例如下( 【注】本示例只做参考用) :

61

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

TEARDOWN rtsp://example.com/fizzle/foo RTSP/1.0 Session: 12345678 CSeq: 834 [Transport:MP2T/[RTP]/TCP;unicast;destination=172.18.79.120[:2005]] [Connection: close]

S->C
表 9-2-2-6-2 Teardown 消息响应 HeaderField HeaderField CSeq Session Connection 说明 应答和请求对应的序列号 会话号 连接处理状况 是否必选 M M O 数值 十进制数字

TEARDOWN 响应消息示例如下( 【注】本示例只做参考用) :
RTSP/1.0 200 OK CSeq: 834 Session: 12345678 [Connection: close]

9.2.2.7 DESCRIBE C->S
表 9-2-2-7-1DESCRIBE 消息请求 HeaderField HeaderField CSeq 说明 应答和请求对应的序列号 是否必选 M 数值 十进制数字

62

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

Accept

接受内容形式,为“application/sdp” 用户引擎, 符合本规范的机顶盒在发送

M

User-Agent

SETUP 时应至少带有”;CTC/2.0”字样, 如:User-Agent:TestAgent;CTC/2.0

O

DESCRIBE 请求消息示例如下( 【注】本示例只做参考用) :
DESCRIBE rtsp://192.168.1.120:554/temp/rings.MPG RTSP/1.0 Accept: application/sdp CSeq: 16 [User-Agent: CTC RTSP 1.0;CTC/2.0]

S->C
表 9-2-2-7-2 Describe 消息响应 HeaderField HeaderField CSeq Server Content-Type Content-Length SDP 说明 应答和请求对应的序列号 播放服务器 内容类型 内容长度 SDP 内容 是否必选 M O M M M application/sdp 数值 十进制数字

DESCRIBE 响应消息示例如下( 【注】本示例只做参考用) :

63

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

RTSP/1.0 200 OK CSeq: 16 [Server: [servername|ipaddr;port]] Content-Type: application/sdp Content-Length: 309

SDP Content

【注】SDP 的格式描述如表。
表 9-2-2-7-3SDP 数据格式 字段 a=control 类型 Media 必要性 O 取值范围 流媒体地址 字段描述 URLofpreparedstre am

a=framerat e a=range a=x-backu purl

Clip

O

帧频

Clipframerate

Clip

O

内容时间范围

Cliprange

Media

O

备份 URL

a=x-frameg eometry

Clipframegeometry Clip O 分辨率 (widthandheightinp ixels) Nameofassetorclip(

a=x-name

Media/Clip

O

内容名称

dependingonconte xt)

b=

Media

O

码率 连接描述,可使用组

Mediabitrate Connectiondescript ion

c=

Media

M

播地址

64

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

e=

Session

O

Email 地址 Sessionormediades

i=

Session/Med ia

O

Session 的描述信息

cription(depending oncontext)

k=

Session

O

加密方法和密钥 媒体描述,需要区分 Mediadescription(g enerated,butnotus ed)

m=

Media

M

是否采用 RTP。即 Transport 格式。 Session 的创建人、 版本、ID 等 电话号码 重复间隔、时长、次

o=

Session

M

Sessionowner

p=

Session

O

r=

Session

O

数 Session 名 起始时间和结束时间 描述信息的 URL 版本 时区 RTSPversion Sessionname Timesessionifactive

s= t= u= v= z=

Session Session Session Session Session

M M O M O

【注 1】 :具体描述参见 RFC2327 【注 2】 :C 参数如果是组播地址的问题,SDP 举例如下:

65

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

v=0 o=- 1122631459319628 2139553954665140 IN IP4 172.18.79.120 s=RTSP Session t=0 0 i= b=AS:1288 a=range:npt=0-246.655 c=IN IP4 0.0.0.0 a=control:rtsp://vod01.he21.myrio.net:554/civil_PAL_720x576.mpi m=video 0 RTP/AVP 128 a=framerate:25.00 a=pmt:ArAXAAHBAADoEPAAG+gQ8AAD6BTwAGZ0pC0=

9.2.2.8 GET_PARAMETER C->S
表 9-2-2-8-1Get_Parameter 消息请求 HeaderField HeaderField CSeq Session User-Agent x-Timeshift_Range x-Timeshift_Current 说明 应答和请求对应的序列号 会话号 用户引擎 时移范围 时移当前时间 是否必选 M M O O O 数值 十进制数字

GET_PARAMETER 请求消息示例如下( 【注】本示例只做参考用) :
GET_PARAMETER rtsp://example.com/fizzle/foo RTSP/1.0 CSeq: 431 Session: 12345678 [User-Agent: CTC RTSP 1.0] [x-Timeshift_Range] [x-Timeshift_Current]

66

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

S->C
表 9-2-2-8-2Get_Parameter 消息响应 HeaderField HeaderField CSeq Session Server Date x-Timeshift_Range x-Timeshift_Current 说明 应答和请求对应的序列号 会话号 播放服务器 日期 时移时间范围 时移当前时间 是否必选 M M O O O O 数值 十进制数字

GET_PARAMETER 响应消息示例如下( 【注】本示例只做参考用) :
RTSP/1.0 200 OK CSeq: 431 Session: 12345678 [Server: servername|ipaddr;port] [x-Timeshift_Range: clock=20051108T141020.25Z -20051108T144020.25Z] [x-Timeshift_ Current: 20051108T141320.25Z]

( 【注】 机顶盒定期发送仅携带 Session 号, 不携带其他可选参数的
GET_PARAMETER 消息到服务器,流媒体服务器发送响应到机顶

盒,这样可以确保整个流媒体通讯链路的保持。 )

9.3 机顶盒单播接口(S4-T-1) 播放指定 URL 的媒体文件。URL 定义:协议名://流媒体服务

67

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

器地址[:端口]/媒体文件路径[?附加信息]

9.3.1 开始播放
STB a)DESCRIBE b)DESCRIBE 响应 [c) 根据 302 Redirect 重新发起 Describe] d)SETUP e)SETUP 响应 f)PLAY g)PLAY 响应 流媒体服务器

h)媒体数据

图 9-3-1-1 开始播放时序图

9.3.2 暂停播放

STB a)PAUSE

流媒体服务器

b)PAUSE 响应

68

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

图 9-3-2-1 暂停播放时序图

9.3.3 快进播放

机顶盒 a)PLAY

流媒体服务器

b)PLAY 响应

图 9-3-3-1 快进播放时序图

9.3.4 快退播放

机顶盒 a)PLAY

流媒体服务器

b)PLAY 响应

图 9-3-4-1 快退播放时序

69

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

9.3.5 定位播放
机顶盒 a)PLAY 流媒体服务器

b)PLAY 响应

图 9-3-5-1 定位播放时序图

9.3.6 退出播放 9.3.6.1 用户主动退出播放
STB a)TEARDOWN 流媒体服务器

b)TEARDOWN 响应

图 9-3-6-1-1 用户退出播放时序图

70

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

9.3.6.2 文件结束或服务器强制退出播放

STB a)ANNOUNCE b)TEARDOWN

流媒体服务器

c)TEARDOWN 响应

图 9-3-6-2-1 文件结束或服务器强制退出播放时序图

9.4 机顶盒组播接口(S4-T-2)

机顶盒

组播复制点

IPTV 组播源

a)Multicast/Unicast b) IGMP Join c) Multicast Streaming d)IGMP Leave

图 9-4-1IPTV 组播业务流程

71

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

9.4.1.1 加入频道

机顶盒

组播复制点

a)IGMP Join

图 9-4-1-1 加入一个频道时序图

9.4.1.2 离开频道
机顶盒
组播复制点

a)IGMP Leave

图 9-4-2-1 离开一个频道时序图

9.5 机顶盒单播时移接口(S4-T-3) 当通过 RTSP 来播放指定 URL 的媒体文件时,URL 定义为:协议 名://流媒体服务器地址[:端口]/媒体文件路径[?附加信息],此处协议 名为 RTSP。

9.5.1 暂停播放 同点播接口暂停播放(9.3.2) 。

72

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

9.5.2 快进播放 同点播接口快进播放(9.3.3) 。

9.5.3 快退播放 同点播接口快退播放(9.3.4) 。

9.5.4 时移快退到录制左边界
机顶盒
流媒体服务器

b)ANNOUNCE c)PLAY/PAUSE d)PLAY 响应 /PAUSE 响应

a) 快退到录制 文件左边界

图 9-5-4-1 时移快退到录制左边界的流程图

a). 流媒体服务器在快退时发现到达录制文件左边界,向机顶盒发送 单次 ANNOUNCE 消息,消息格式符合 RTSP,即( 【注】本示例

只做参考用) :
ANNOUNCE: rtsp://example.com/fizzle/foo RTSP/1.0 CSeq: 834 Session: 12345678 x-notice: xxxx [“Internal Server Error” event-date = 20050729T100431.097]

73

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

( 【注】xxxx 表示各种情况下的停止。 )

b). 流媒体服 务器 在快退 时发现 到达 左边 界,向机 顶盒 发送单 次 ANNOUNCE 消息,消息格式符合本标准的 RTSP 规范,其中, x-notice:2102,示例消息如下( 【注】本示例只做参考用) :
ANNOUNCE: rtsp://example.com/fizzle/foo RTSP/1.0 CSeq: 1 Session: 12345678 x-notice: 2102

c). 机顶盒得到消息后,如果从已录制节目起始点开始播放,则发送 PLAY 消息,Range 参数为 npt=beginning-; d). 机顶盒得到消息后,如果需要暂停流播放,则发送 PAUSE 消息; e). 机顶盒需要收到 200OK 后,接收新的媒体数据,开始解码播放;

9.5.5 时移快进到当前时间(右边界)
机顶盒
流媒体服务器

b)ANNOUNCE

a)快进到录 制文件尾

c)PLAY/PAUSE d)PLAY 响应 /PAUSE 响应

74

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

图 9-5-5-1 时移快进到当前时间的流程图

a). 流媒体服 务器 在快进 时发现 到达 文件 尾,向机 顶盒 发送单 次 ANNOUNCE 消息,消息格式符合本标准的 RTSP 规范,其中, x-notice:2101,示例消息如下( 【注】本示例只做参考用) :
ANNOUNCE: rtsp://example.com/fizzle/foo RTSP/1.0 CSeq: 1 Session: 12345678 x-notice: 2101

b). 如需要继续发送流(直播)则再发送单次 ANNOUNCE 消息,其 中 x-notice:2104 表示切换到直播,示例消息如下( 【注】本示例

只做参考用) :
ANNOUNCE: rtsp://example.com/fizzle/foo RTSP/1.0 CSeq: 2 Session: 12345678 x-notice: 2104

c). 机顶盒得到消息后,如需切换到直播,需再次发送 PLAY 命令, 其中 Range 参数为 npt=end-; d). 机顶盒得到消息后,如需暂停流播放,需再次发送 PAUSE 命令。

75

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

9.5.6 定位播放 同点播接口定位播放(9.3.5) 。

9.5.7 退出播放 9.5.7.1 用户主动退出播放 同点播接口用户主动退出播放(9.3.6.1) 。

9.5.7.2 文件结束或服务器强制退出播放 同点播接口服务器强制退出播放(9.3.6.2) 。

9.6 机顶盒组播时移接口(S4-T-4) 9.6.1 接口时序 与本规范的“机顶盒组播接口”流程大致相同,机顶盒首先加入组 播组,并接收从组播组节点传下来的组播视频流。在接收组播视频流 的过程中,如果用户按了暂停键或快退键,机顶盒离开组播组,进入 以下的时移过程。

76

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

9.6.2 接口协议内容 9.6.2.1 进入组播时移模式 9.6.2.1.1 先建立时移通道模式
机顶盒
流媒体服务器 组播复制点

a)IGMP Join b)DESCRIBE c)DESCRIBE 响应 d)SETUP e)SETUP 响应 …………

f)STB select trick mode

g)PLAY/[PAUSE] h)PLAY/[PAUSE]响应 i)IGMP Leave …………
图 9-6-2-1-1-1 进入组播时移模式

进入组播时移流程: a). 机顶盒进入组播频道,使用 IGMP Join 加入组播频道; b). 机顶盒与流媒体服务器建立 RTSP 连接,并发送 DESCRIBE 消 息,服务器返回 OK,机顶盒再 SETUP 消息,服务器返回 OK; DESCRIBE、SETUP 和 OK 符合本规范的 RTSP 命令语法; c). 在组播模式下,机顶盒按 TrickMode 键(Pause、Rewind 和 Seek)进入时移模式; d). 机顶盒进行时移操作(Rewind 即 PLAY 带快退参数如 Scale
77

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

–2.0、Seek 或 Pause 等) ,发送 PLAY 或者 PAUSE。如果用 户通过按下“暂停”进入时移操作,STB 可不发送 PAUSE; e). 当机顶盒通过 RTSP 发送时移操作命令后,机顶盒立即通过 IGMP Leave 命令离开组播组,其命令格式符合 IGMP V2 (RFC2236)的规定; f). 后续操作与单播直播时移一致。

9.6.2.1.2 后建立时移通道模式
机顶盒
流媒体服务器 组播复制点

a)IGMP Join …………

b ) STB select trick

c)DESCRIBE d)DESCRIBE 响应 e)SETUP f)SETUP 响应 g)PLAY/PAUSE h)PLAY/PAUSE 响应 i)IGMP Leave …………
图 9-6-2-1-2-1 进入组播时移模式

进入组播时移流程如下: a). 在组播模式下,机顶盒按 TrickMode 键(Pause、Rewind 和 Seek)进入时移模式;

78

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

b). 机顶盒与流媒体服务器建立 RTSP 连接,并发送 DESCRIBE 消 息,服务器返回 OK,机顶盒再发送 SETUP 消息,服务器返回 OK;DESCRIBE、SETUP 和 OK 符合本规范的 RTSP 命令语法; c). 机 顶 盒 进 行 时 移 操 作 ( Rewind 即 PLAY 带 快 退 参 数 如 Scale–2.0、Seek 或 Pause 等) ,发送 PLAY 或者 PAUSE。 如 果 用 户 通 过 按 下 “ 暂 停 ” 进 入 时 移 操 作 , STB 可 不 发 送 PAUSE; d). 当机顶盒通过 RTSP 发送时移操作命令后,机顶盒立即通过 IGMP Leave 命令离开组播组,其命令格式符合 IGMP V2 (RFC2236)的规定; e). 后续操作与单播直播时移一致。

9.6.2.2 播放到暂停时移
机顶盒
流媒体服务器

a) PAUSE

c)PAUSE 响应

b) 切 到 点 播 内容, 并记录 当前的 PAUSE , 时间点

图 9-6-2-2-1 组播到暂停时移的流程图

组播到暂停时移的流程:

79

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

a). 机顶盒发送暂停命令给流媒体服务器,暂停命令语法符合本规 范的 RTSP 规定; b). 流媒体服务器收到暂停命令后,返回 200 OK(符合本规范的 RTSP 规定) ,机顶盒进入暂停状态;

9.6.2.3 暂停到播放时移

机顶盒

流媒体服务器

a) PLAY

b)从 PAUSE 点 开始播放 c)PLAY 响应

图 9-6-2-3-1 暂停到播放时移的流程图

暂停到播放时移的流程如下: a). 位于时移的区段里,STB 发送播放命令给媒体服务器,时间为 暂停时的时间点; b). 媒体服务器收到播放命令后,开始从暂停点发送时移媒体数 据; c). 如果这时当前位置已经不在支持时移范围之内则服务器返回 457 响应,服务器从录制文件的左边界播放,机顶盒正常播放

80

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

并可选性给出提示信息;

9.6.2.4 时移/直播中的定位
机顶盒
流媒体服务器

a)用户输入时间

b)PLAY c)PLAY 响应

图 9-6-2-4-1 时移/直播中的定位的流程图

时移/直播中的定位流程如下: a). 位于时移的区段里,机顶盒发送播放命令给流媒体服务器,时 间为暂停时的时间点; b). 流媒体服务器收到播放命令后, 开始从暂停点发送时移媒体数 据; c). 如果这时当前位置已经不在支持时移范围之内则服务器返回 457 响应,流媒体服务器从录制文件的左边界播放,机顶盒正 常播放并可选性给出提示信息; d). 如时间超过左边界/右边界则返回 457 响应,流媒体服务器播 放左边界/右边界正常流,机顶盒正常播放并可选性给出提示 信息。

81

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

9.6.2.5 时移(快退)
机顶盒
流媒体服务器

a)PLAY b)PLAY 响应

图 9-6-2-5-1 时移/直播中的快退的流程图

时移/直播中的快退流程如下: a). 如果是时移,机顶盒发送 PLAY(例如:Scale=-2.0)给媒体服 务器; b). 流媒体服务器从当前点开始发送快退数据;

9.6.2.6 时移快退到录制左边界
机顶盒
流媒体服务器

b)ANNOUNCE c)PLAY/PAUSE d)PLAY 响应 /PAUSE 响应

a) 快退到录制 文件左边界

图 9-6-2-6-1 时移快退到录制左边界的流程图
82

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

时移快退到录制左边界的流程如下: a). 流媒体服务器在快退时发现到达录制文件左边界,向 STB 发送单 次 ANNOUNCE 消息,消息格式符合 RTSP,即( 【注】本示例只

做参考用) :
ANNOUNCE: rtsp://example.com/fizzle/foo RTSP/1.0 CSeq: 834 Session: 12345678 x-notice: xxxx [“Internal Server Error” event-date = 20050729T100431.097]

( 【注】xxxx 表示各种情况下的停止。 )

b). 流媒体服 务器 在快退 时发现 到达 左边 界,向机 顶盒 发送单 次 ANNOUNCE 消息,消息格式符合本标准的 RTSP 规范,其中, x-notice:2102,示例消息如下( 【注】本示例只做参考用) :
ANNOUNCE: rtsp://example.com/fizzle/foo RTSP/1.0 CSeq: 1 Session: 12345678 x-notice: 2102

c). 机顶盒得到消息后,如果从已录制节目起始点开始播放,则发送 PLAY 消息,其中 Range 为 npt=beginning-或其他合理的 Range 参数; d). 机顶盒得到消息后,如果需要暂停流播放,则发送 PAUSE 消息; e). 机顶盒需要收到 200 OK 后,接收新的媒体数据,开始解码播放;

83

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

9.6.2.7 时移快进到当前时间(右边界)
机顶盒
流媒体服务器

a) 快进到录 制文件尾 b)ANNOUNCE c)[PAUSE] d) [PAUSE Response]

e)切换到直播

图 9-6-2-7-1 时移快进到当前时间的流程图

a). 流 媒 体 服 务 器 在 快 进 时 发 现 到 达 文 件 尾 , 向 STB 发 送 单 次 ANNOUNCE 消息,消息格式符合本标准的 RTSP 规范,其中, x-notice: 2101,示例消息如下( 【注】本示例只做参考用) :
ANNOUNCE: rtsp://example.com/fizzle/foo RTSP/1.0 CSeq: 1 Session: 12345678 x-notice: 2101

b). 机顶盒得到消息后,如需暂停流播放,需再次发送 PAUSE 命令; c). 机顶盒得到消息后,如切换到直播,则进入快捷切换到直播流程。

84

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

9.6.2.8 时移快捷切换回直播 9.6.2.8.1 不保持时移通道切换回直播
机顶盒
流媒体服务器 组播复制点

a)TEARDOWN c)TEARDOWN 响应 c)IGMP Join

图 9-6-2-8-1-1 时移快速切换回直播的流程图

时移快速切换回直播的流程如下: a). 在时移状态下直接返回到直播,首先机顶盒发送 TEARDOWN 消息断开 RTSP 连接, 再重新加入组播组并开始播放直播数据。

9.6.2.8.2 保持时移通道切换回直播
机顶盒
流媒体服务器 组播复制点

a)PAUSE b)PAUSE 响应 c)IGMP Join

图 9-6-2-8-2-1 时移快速切换回直播的流程图

85

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

时移快速切换回直播的流程如下: a). 在时移状态下直接返回到直播,首先使用 PAUSE 消息暂停时 移流媒体,其中 Range 参数为 npt=end-; b). 再重新加入组播组并开始播放直播数据。

9.6.2.9 结束播放 a). 在组播模式下,机顶盒通过离开组播组结束播放,参见 9.4.2; b). 在时移模式下, 机顶盒向流媒体服务器发送 TEARDOWN 方法 来终止本次会话,结束播放,参见 9.3.6.1。

10 机顶盒与 ISMA 内容分发系统接口(S4-I 接口,可选) 10.1 S4-I 接口概要描述

( 【注】本接口作为可选性要求。 )
机顶盒与内容分发系统之间具有以下接口模块: a). 机顶盒点播接口(S4-I-1) b). 机顶盒组播接口(S4-I-2) c). 机顶盒单播时移接口(S4-I-3) d). 机顶盒组播时移接口(S4-I-4)

86

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

ISMA 内容分发系统 点播服务器 S4-I-1 组播服务器 S4-I-2 机顶盒 STB S4-I S4-I-3 S4-I-4 组播时移服务器 单播时移服务器

图 10-1-1 ISMA 内容分发系统接口描述图

机顶盒与 ISMA 内容分发系统的接口采用 RTSP(RFC2326)标准 协议,并在之上做了必要的规定和补充。 机顶盒点播时与点播服务器通过 S4-I-1 接口交互,完成具体的点 播控制行为; 组播时与组播服务器交互(S4-I-2)接口, 获取组播地址、 端口、 SDP 等信息后加入组播组完成组播流的接收; 时移业务直播部分的接收可以分为单播方式(S4-I-3 接口)和组播方 式(S4-I-4 接口),分别与单播时移服务器和组播时移服务器交互,完 成直播媒体流和时移媒体流的接收与切换行为。相关说明如下: 在某些状态下服务器可能不支持某些操作,对于当前不支持的操 作命令, 服务器应以 455 回应通知机顶盒处理, 如直播时收到快进命 令。

87

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.2 流控制方法描述 RTSPmethod 如表 10.2.1:
表 10-2-1 点播接口使用的 RTSPmethod 方法 DESCRIBE GET_PARAMETER SET_PARAMETER OPTIONS OPTIONS PAUSE PLAY REDIRECT SETUP TEARDOWN 说明 C->S C->S S->C C->S S->C C->S C->S S->C C->S C->S 流媒体服务器 required required required required optional required required optional required required 机顶盒 required required required optional required required required required required required

下面协议中,[中括号]内内容表示可选,斜体内容表示必有但数值 根据实际情况可以修订。

10.2.1 SETUP a). UDP 连接 C->S
SETUP rtsp://192.168.1.120:554/rings.mp4/trackID=7 RTSP/1.0 CSeq: 3 Transport: RTP/AVP/UDP;unicast;client_port=5576-5577;[mode="PLAY"] User-Agent: STB MEDIAPLAYER ID

88

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

S->C
RTSP/1.0 200 OK Server: MEDIASERVER ID CSeq: 3 Session: 719885386 Transport:RTP/AVP/UDP;unicast;client_port=5576-5577;[mode="PLAY;source=1 92.168.1.120;]server_port=8000-8001;ssrc=6b8b4567

b). TCP 连接 C->S
SETUP rtsp://192.168.1.120:554/rings.mp4/trackID=7 RTSP/1.0 CSeq: 4 Session: 719885386 Transport: RTP/AVP/TCP;unicast; interleaved=0-1;[mode="PLAY";] User-Agent: STB MEDIAPLAYER ID

S->C
RTSP/1.0 200 OK Server: MEDIASERVER ID CSeq: 4 Session: 719885386 Transport:RTP/AVP/TCP;unicast;interleaved=0-1;[mode="PLAY";source=192.168 .1.120;]ssrc=327b23c6

( 【注 1】如果流媒体服务器不支持机顶盒请求的传输方式,回 461 错 误。对于流媒体服务器和机顶盒端,UDP 和 TCP 方式都为必选。 【注 2】机顶盒端要能够解析 rtspt 和 rtspu,rtspt 表示采用 TCP 方 式传输,rtspu 表示采用 UDP 方式传输,rtsp 默认为 rtspu。 )

89

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.2.2 PLAY C->S
PLAY rtsp://192.168.1.120:554/temp/ rings.mp4 RTSP/1.0 CSeq: 5 Session: 719885386 [Range:npt=0.0-1800.0] User-Agent: STB MEDIAPLAYER ID

S->C
RTSP/1.0 200 OK Server: MEDIASERVER ID CSeq: 5 Session: 719885386 [Range:npt=0-2300] RTP-Info: url=trackID=7;seq=0;rtptime=0,url=trackID=8;seq=0;rtptime=0

PLAY 用于机顶盒向流媒体服务器请求以指定的速率(Scale 域说 明,缺省为 1)发送指定时间段(Range:npt 域说明)的媒体流。其 中 Range:npt 域为可选, 如果存在, 表示请求指定的时间段媒体流, 如果不存在,表示请求缺省时间段媒体流。Scale 域为可选,如果存 在,表示请求流媒体服务器以指定速率发送,该值可以为: 32.0、16.0、8.0、4.0、2.0、1.0、-2.0、-4.0、-8.0、-16.0、-32.0 【注 1】其中负值表示快退发送。 【注 2】机顶盒发送 PLAY 命令可以带有“Range:npt=”字段,也可 以不带,当带有该字段时,流媒体服务器如果接受(200 OK) ,则必

90

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

须从该字段规定的位置开始发送媒体流,如果流媒体服务器拒绝,则 必须发送 455 回应表示拒绝。当机顶盒发送 PLAY 命令不带有 “Range:npt=”字段时,流媒体服务器如果接受(200 OK) ,则表示 缺省从当前位置开始发送媒体流,当前位置规定如下: l 当第一次播放时(本次有效 RTSP 连接的第一个 RTSP_PLAY 命令) ,对于点播节目当前位置为节目的起始位置,对于直播 节目当前位置为流媒体服务器当前接收的媒体流位置。 l 暂停状态下恢复播放为当时停止的位置, 如果不知道该位置则 从头播放。 l 播放状态下快进/快退为媒体流发送的当前位置。 l 快进/快退状态下播放或继续快进/快退为媒体流发送的当前 位置。

10.2.3 PAUSE C->S
PAUSE rtsp://192.168.1.120:554/temp/rings.mp4 RTSP/1.0 CSeq: 7 Session: 719885386 User-Agent: STB MEDIAPLAYER ID

S->C

91

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

RTSP/1.0 200 OK Server: MEDIASERVER ID CSeq: 7 [Range:npt=0.0-1800.0|clock=20051108T141020.25Z-20051108T144020.25Z] Session: 719885386

【注 1】PAUSE 命令用于机顶盒向流媒体服务器请求暂停发送媒体 流,流媒体服务器如果同意,则发送 200 回应,并停止发送媒体流。 【注 2】 长时间暂停状态下, 流媒体服务器可按超时处理, 强行断开。 超时时间由流媒体服务器决定,建议超时时间为 30 分钟。

10.2.4 GET_PARAMETER C->S
GET_PARAMETER rtsp://192.168.1.74/broadcast.sdp RTSP/1.0 x-Timeshift_Range CSeq: 932

S->C
RTSP/1.0 200 OK x-Timeshift_Range: clock=20051108T141020.25Z-20051108T144020.25Z CSeq: 932

【注 1】 :GET_PARAMETER 消息用于机顶盒向流媒体服务器查询当 前录制时长(时移使用) 。流媒体服务器通过返回 OK 响应告诉机顶 盒录制时间。其中“x-Timeshift_Range”为关键域,内容格式采用绝

92

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

对时间(参见 RFC2326 3.7 小节) 。当直播有时移时,流媒体服务器 必须返回这个参数,第一个参数为当前录制媒体流起始时间,第二个 参数为录制结束的时间。

10.2.5 SET_PARAMETER S->C
SET_PARAMETER rtsp://192.168.1.122:2048/temp/rings.mp4 RTSP/1.0 x-Info:"EOS"|"BOS"|"CLOSE [reason=0]"|"UNAUTHORIZED" x-InfoDetail:orderURL Session: 719885386 CSeq: 10

C->S
RTSP/1.0 200 OK Session: 719885386 CSeq: 10

【注 1】 SET_PARAMETER 用于流媒体服务器向机顶盒指示某种状态, 关键域为 x-Info,取值为"EOS"和"BOS",表示播放的节目到达节目尾 ("EOS"-EndofStream)或节目头("BOS-BeginofStream") 。"EOS" 和"BOS"不能同时存在。当取值为 CLOSE 时表示要求机顶盒立即强 制挂断,可以通过“reason”字段指示原因。"UNAUTHORIZED"表示 该服务未订购,此时流媒体服务器停止播放流见 10.3.7,机顶盒自动 调用 x-InfoDetail 字段中包含的 orderURL。
93

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.2.6 OPTIONS C->S
OPTIONS rtsp://192.168.1.120:554/temp/rings.mp4 RTSP/1.0 CSeq: 1 User-Agent: STB MEDIAPLAYER ID

S->C
RTSP/1.0 200 OK Server: MEDIASERVER ID CSeq: 1 Public: GET_PARAMETER, OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE,[ ANNOUNCE, RECORD]

【注 1】 :OPTIONS 用于机顶盒向流媒体服务器查询控制能力,也可 用于机顶盒向流媒体服务器发送的心跳保持。 回应中必须包含当前系 统支持的所有方法。 【注 2】 :OPTIONS 也可用于流媒体服务器向机顶盒查询控制能力。

10.2.7 TEARDOWN C->S
TEARDOWN rtsp://192.168.1.120:554/temp/rings.mp4 RTSP/1.0 CSeq: 10 Session: 719885386 User-Agent: STB MEDIAPLAYER ID
94

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

S->C
RTSP/1.0 200 OK Server: MEDIASERVER ID CSeq: 10 Session: 719885386

【注】 :TEARDOWN 命令用于机顶盒向流媒体服务器请求断开当前 媒体连接,当退出播放时必须调用 TEARDOWN。

10.2.8 DESCRIBE C->S
DESCRIBE rtsp://192.168.1.120:554/temp/ rings.mp4 RTSP/1.0 CSeq: 2 Accept: application/sdp User-Agent: STB MEDIAPLAYER ID

S->C 服务器返回机顶盒可能有三种情况。 a). 第 1 种情况(一般) :
RTSP/1.0 200 OK Server: MEDIASERVER ID CSeq: 2 Content-Length: 602 Content-Type: application/sdp

95

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

Content-Base: rtsp://192.168.1.120:554/temp/ rings.mp4/ v=0 o=- 1702415089 4281335390 IN IP4 127.0.0.1 s=temp/rings.mp4 c=IN IP4 0.0.0.0 t=0 0 a=control:* [a=isma-compliance:1,1.0,1] a=range:npt=0-2308.000000 m=video 0 RTP/AVP 96 a=rtpmap:96 MP4V-ES/90000 (若是 H.264, a=rtpmap:96 H264/90000) a=fmtp:96profile-level-id=245;config=000001B0F5000001B50D2020202F000 001000000012000C7F84048BA98516843C1463F a=mpeg4-esid:201 a=control:trackID=7 m=audio 0 RTP/AVP 97 a=rtpmap:97 mpeg4-generic/48000/2 a=fmtp:97 profile-level-id=15; config=1190; streamtype=5; mode=AAC-hbr; SizeLength=13; IndexLength=3; IndexDeltaLength=3 a=mpeg4-esid:101 a=control:trackID=8

b). 第 2 种情况(重定向) :
RTSP/1.0 302 Moved Temporarily Server: MEDIASERVER ID CSeq: 2 Location: rtsp://192.168.1.10/11.mp4

c). 第 3 种情况(代理) :
RTSP/1.0 305 Use Proxy Server: MEDIASERVER ID CSeq: 2 Location: rtsp://192.168.1.10:554

96

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

DESCRIBE 用于机顶盒向流媒体服务器请求指定节目的相关描述 信息,对于 ISMA 来说,回应中必须包含 ISMA MP4 的 SDP 信息。 如果流媒体服务器同意提供服务, 则发送 200 回应。 流媒体服务器也 可以回应 302 重定向消息, 或者 305 代理回应。 回应中, 302 Location 指示新的重定向的媒体文件 URL。305 回应中,Location 指示代理 服务器地址和端口号。

【注 1】“c=IN IP4”域用于指示当前被请求节目是单播节目还是组播 节目,当为“c=IN IP4 0.0.0.0”是表示单播节目,否则表示组播节目, 且该值为组播地址,如“c=IN IP4 224.1.1.2”。 【注 2】“a=range”域用于指示被请求节目的时间范围,当为点播节 目时该字段应采用相对时间(参见 RFC23263.6 小节)描述一个有效的 范围,如“a=range: npt=0-2800.0”,当为直播节目时,该字段不应 存在或者不指示一个确定的范围,如“a=range: npt=0-”。当为时移 节目时,该字段应采用绝对时间(参见 RFC23263.7 小节),用于指示 当 前 录 制 的 起 始 时 间 点 和 结 束 时 间 点 , “a=range: clock=20051108T141020.25Z-20051108T144020.25Z”。 【注 3】 流媒体服务器 DESCRIBE 回应可以直接采用 302 重定向回应, 也可以采用 305 PROXY 回应。 【注 4】 Proxy 对于流媒体服务器可选,对机顶盒为必选项.下次的连接, 机顶盒将向 192.168.1.10:554 发起 DESCRIBE 请求,但 DESCRIBE 的
97

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

URL 为初始的 URL: DESCRIBE rtsp://192.168.1.120:554/temp/rings.mp4 RTSP/1.0 10.2.9 REDIRECT S->C
REDIRECT rtsp://192.168.1.120:554/temp/rings.mp4 RTSP/1.0 Server: MEDIASERVER ID CSeq:732 Location: rtsp://192.168.1.122:554/temp/rings.mp4

REDIRECT 用于流媒体服务器向机顶盒指示重定,Location 域指 定重定向节目的 URL(完整 URL)。

10.3 机顶盒点播接口(S4-I-1) 播放指定 URL 的媒体文件。URL 定义:协议名://服务器地址[: 端口]/媒体文件路径[?附加信息]

10.3.1 开始播放

98

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

机顶盒

流媒体服务器

解析 URL 建立 RTSP 连接 连接成功 重定向 PROXY 发送 Option 请求 Option 响应 发送 Describe 请求 Describe 响应

SDP 解析 SDP, 并 初 始 化 DSP

发 送 视 频 的 Setup 请求 Setup 响应 发送音频的 Setup 请求 Setup 响应 发送 Play 请求 Play 响应 媒体数据

播放器缓冲数据 图 10-3-1-1 点播开始播放接口时序图

机顶盒获得播放 URL 后解析,向指定的流媒体服务器建立 TCP 连接,可选查询流媒体服务器功能,随后建立视频、音频通道,最后 通过 PLAY 启动媒体数据下载,至此完成开始播放过程。 其中使用的 OPTIONS、SETUP、DESCRIBE 和 PLAY 详细数据格 式参见 10.2 中相应方法的描述。

99

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

暂停播放
机顶盒 Pause 200 OK
流媒体服务器

… …
Play 200 OK
图 10-3-2-1 点播暂停播放接口时序图

机顶盒通过 PAUSE 消息通知流媒体服务器暂停发送媒体数据, 流 媒体服务器回 200 OK 表示成功。流媒体服务器应记录当前发送的数 据包。 当机顶盒恢复播放时,应发送 PLAY 通知流媒体服务器。流媒体服 务器回 200 OK 表示成功,并从上次记录的数据包开始发送。 详细数据格式参见 10.2.3 中的描述。

10.3.2 快进播放
机顶盒 Play
流媒体服务器

200 OK

图 10-3-3-1 点播快进播放接口时序图

详细数据格式参见 10.2.2 中的描述,正值的 Scale 参数请求快
100

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

进播放,Scale 参数至少支持 2.0、4.0、8.0、16.0、32.0,n 倍速即 在 1 秒内播放 n 秒的数据。 快进播放过程中服务器只发送 I 帧视频,不发送音频数据。

10.3.3 快退播放
机顶盒 Play
流媒体服务器

200 OK

图 10-3-4-1 点播快退播放接口时序图

详细数据格式参见 10.2.2 中的描述,带负值的 Scale 参数请求 快退播放,Scale 参数支持-2.0、-4.0、-8.0、-16.0、-32.0,-n 倍速即 在 1 秒内播放 n 秒的数据。 快退播放过程中服务器只发送 I 帧视频,不发送音频数据。

101

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.3.4 定位播放
机顶盒 Play
流媒体服务器

200 OK

图 10-3-5-1 点播定位播放接口时序图

详细数据格式参见 10.2.2 中的描述,须有 Range 参数通知流媒 体服务器从指定时间点开始播放,Range 参数由机顶盒指定,为相 对于节目开始的秒数。 流媒体服务器收到请求后,应该从该指定时间开始播放,并回 200OK 消息。

10.3.5 结束播放
机顶盒 Teardown 200 OK 关闭 TCP 连接
流媒体服务器

图 10-3-6-1 点播退出播放接口时序图

如果终端需要退出播放(例如用户选择退出、播放文件结束) ,需 要向流媒体服务器发送 Teardown 消息,流媒体服务器发送 200OK

102

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

表示成功,点播会话结束。 详细数据格式参见 10.2.7 中的描述。 【注】机顶盒与流媒体服务器建立的 TCP 连接须由机顶盒主动关闭, 流媒体服务器不应主动关闭。

10.3.6 强制结束
机顶盒
流媒体服务器

SET_PARAMETER 200 OK

图 10-3-7-1 点播定位播放接口时序图

机顶盒收到流媒体服务器带“CLOSE”标识的 SET_PARAMETER 命 令后,表示要求机顶盒立即结束播放,机顶盒应该回应 200OK 消息 后结束播放,结束播放流程参见 10.3.6。

10.4 机顶盒组播接口(S4-I-2) 10.4.1 开始播放

103

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

机顶盒

流媒体服务器

组播服务器

a)Describe b)200 OK/SDP c)加入组播 d) 组播数据流

图 10-4-1-1 组播开始播放接口时序图

加入组播时移频道: a). 机顶盒从 EPG 服务器获取支持组播时移节目的 URL(频道 URL,采用 RTSP 协议描述) ,向流媒体服务器发送 DESCRIBE。 b). 流媒体服务器返回 SDP, SDP 中包含有组播地址和组播端口号 等。 c). 机顶盒判断为组播地址后,基于 IGMP 协议加入到组播组中, 并开始接收数据播放。

a). Describe 消息描述: C->S
DESCRIBE rtsp://192.168.1.120:554/temp/live.sdp RTSP/1.0 CSeq: 1 Accept: application/sdp User-Agent: STB MEDIAPLAYER ID

S->C

104

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

RTSP/1.0 200 OK Server: MEDIASERVER ID CSeq: 1 Content-Length: 602 Content-Type: application/sdp Content-Base: rtsp://192.168.1.120:554/temp/live.sdp/ v=0 o=- 1702415089 4281335390 IN IP4 127.0.0.1 s=temp/rings.mp4 c=IN IP4 235.1.1.1 t=0 0 a=control:* [a=isma-compliance:1,1.0,1] a=range:npt=0m=video 8558 RTP/AVP 96 a=rtpmap:96 MP4V-ES/90000 (若是 H.264, a=rtpmap:96 H264/90000) a=fmtp:96profile-level-id=245;config=000001B0F5000001B50D2020202F0000010 00000012000C7F84048BA98516843C1463F a=mpeg4-esid:201 a=control:trackID=7 m=audio 8560 RTP/AVP 97 a=rtpmap:97 mpeg4-generic/48000/2 a=fmtp:97 profile-level-id=15; config=1190; streamtype=5; mode=AAC-hbr; SizeLength=13; IndexLength=3; IndexDeltaLength=3 a=mpeg4-esid:101 a=control:trackID=8

b). 加入频道消息:
IGMP V2 Membership Report (IGMP join) IGMP Version: 2 Type: Membership Report (0x16) Max Response Time: 0.0 sec (0x00) Header checksum: 0xABCD (例如 0xfe8f 代表 correct) Multicast Address: x.x.x.x

105

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.4.2 结束播放
机顶盒
流媒体服务器

组播服务器

离开组播

机顶盒停止接收媒体流

图 10-4-2-1 组播结束播放接口时序图

离开频道消息:
IGMP Leave Group IGMP Version:2 Type: Leave Group (0x17) Max Response Time: 0.0 sec (0x00) Head Checksum: 0xABCD Multicast Address: x.x.x.x

10.5 机顶盒单播时移接口(S4-I-3) 单播时移接口除特殊说明外,全部等同于点播接口,包括各种接 口定义和字段含义。说明如下: a). 增加时移范围检查接口,采用 GET_PARAMETER 扩展实现。 b). 增加时移切换直播接口, 采用 PLAY 命令, 通过“Range: npt” 字段扩展实现,使用“Range: npt=now-”表示切换到直播。 其他情况下该命令同于点播接口。 c). 增加切换到录制文件头接口,采用 PLAY 命令,通过“Range: npt”字段扩展实现,使用“Range: npt=bos-”表示切换到时

106

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

移。其他情况下该命令同于点播接口。 d). 单播时移通道使用直播通道(就是点播通道),媒体服务器必须 支持 TCP 和 UDP 两种协议。 e). 除特殊说明外,时移的控制命令时间域 Range 采用绝对时间 格式,具体描述参见 10.2 节。

107

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.5.1 开始播放
机顶盒 重定向 解析 URL PROXY 建立 RTSP 连接 连接成功 发送 Option 请求 单播时移服务器

Option 响应
发送 Describe 请求 Describe 响应

解析 SDP 信息

SDP

发 送 视 频 的 Setup 请求 Setup 响应 发 送 音 频 的 Setup 请求 Setup 响应 发送 Play 请求 Play 响应

播放器缓冲直 播媒体数据

媒体数据

图 10-5-1-1 开始播放时序

【注】 DESCRIBE 回应 SDP 消息实体中必须采用绝对时间标识时移范 围。 【注】DESCRIBE 回应 SDP 消息实体中可不包含“c=IN IP4”字段,如

108

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

果包含该字段, 则该字段必须为“c=IN IP4 0.0.0.0”格式, 用来指示该 节目为单播节目(组播节目该字段用来指示组播地址,如“c=IN IP4 224.1.1.1”) 。

10.5.2 时移范围检查
机顶盒
流媒体服务器

GET_PARAMETER

200 OK

图 10-5-2-1 时移范围检查时序

机顶盒在直播的情况下,而且在 Session 已经建立的情况下,机 顶盒通过 RTSP 的 GET_PARAMETER 消息向流媒体服务器查询当前录 制时间,格式为:
GET_PARAMETER rtsp://192.168.1.74/broadcast.sdp RTSP/1.0 x-Timeshift_Range CSeq: 932

流媒体服务器通过返回 OK 响应告诉机顶盒录制时间,格式为:
RTSP/1.0 200 OK x-Timeshift_Range: clock=20051108T141020.25Z-20051108T144020.25Z CSeq: 932

“x-Timeshift_Range”为关键域,内容格式采用绝对时间(参见 RFC2326 3.7 小节) 。当前直播有时移时,流媒体服务器必须回应这 个请求, 指示当前录制范围。 第一个参数为当前录制媒体流起始时间,
109

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

第二个参数为录制结束的时间。

10.5.3 直播/时移到暂停
机顶盒
流媒体服务器

Pause 200 OK 偏移时间点 切到点播的 内容 记录 ,

图 10-5-3-1 直播 Pause 时序

当机顶盒在直播/时移时,发送 PAUSE 给流媒体服务器通知暂停。 流媒体服务器收到 PAUSE 后,如果同意暂停,则停止发送直播/时移 码流,并返回 200 OK。 【注】 流媒体服务器必须记录停止发送直播/时移码流的准确位置 (数 据包) 。

110

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.5.4 暂停到播放
机顶盒 Play 从 Pause 点 开始播放 200 OK
图 10-5-4-1 Pause 到 Play 时移时序 流媒体服务器

机顶盒发送 PLAY 给流媒体服务器,在这种情况下,不应含有 Range 字段,流媒体服务器收到 Play 消息后,如果同意,则回应 200 OK,并开始从 PAUSE 点发送时移媒体数据。如果这时当前位置 已经不在支持时移范围之内,服务器要返回 BOS 消息,指示机顶盒 已到时移头, 不发送任何媒体数据。 BOS 消息采用 SET_PARAMETER 扩展实现,如下。
SET_PARAMETER rtsp://192.168.1.74/ broadcast.sdp RTSP/1.0 x-Info:"BOS" CSeq: 1

关键域为:x-Info:”BOS”,表示 BeginofStream

111

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.5.5 时移/直播中的定位播放
机顶盒
流媒体服务器

Pause 200 OK Play 200 OK
图 10-5-5-1 Pause 到 Play 时移时序

机顶盒可以先用 GET_PARAMETER 消息获得可时移的范围。 机顶 盒发送 Pause 中断当前流,然后发送 PLAY 消息,通过“Range: clock=20051108T141020.25Z-”指示当前需要定位播放的时间, 流媒 体服务器如果同意,则发送 200 OK,并从指定的时间点开始发送时 移媒体数据。

10.5.6 时移/直播中的快退
机顶盒
流媒体服务器

Play 200 OK

图 10-5-6-1 时移/直播快退时序

机顶盒发送 Play 给流媒体服务器,通过 Scale 指示当前快退倍 数,例如:Scale=-2.0。此时 PLAY 应不带“Rang”字段,表示从缺

112

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

省播放时间开始。流媒体服务器如果同意,则发送 200 OK,并从当 前播放时间点开始发送快退媒体数据。

10.5.7 时移快退到录制头
机顶盒
流媒体服务器

Set_Parameter Play 200 OK

快退到文 件头

图 10-5-7-1 时移快退到录制头

流媒体服务器在快退时发现到达录制文件头,向机顶盒发送 SET_PARAMETER 消息,消息格式为:
SET_PARAMETER rtsp://192.168.1.74/ broadcast.sdp RTSP/1.0 x-Info:"BOS" CSeq: 1

关键域为:x-Info:”BOS”,表示 Begin of Stream 机顶盒得到消息后,通过发送 PLAY 消息来继续播放,可以选择 从录制 0 点开始播放,则 Play 中带 Range: npt=bos-,也可以切换 到直播,则 Play 中的 Range 为 Range: npt=now-。流媒体服务器 如果同意,则发送 200 OK,并从指定的时间点发送媒体数据。

113

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.5.8 时移中的快进
机顶盒
流媒体服务器

Play 200 OK

图 10-5-8-1 时移快进时序

机顶盒发送 Play 给流媒体服务器,通过 Scale 指示当前快进倍 数,例如:Scale=2.0。此时 PLAY 应不带“Rang”字段,表示从缺省 播放时间开始。流媒体服务器如果同意,则发送 200 OK,并从当前 播放时间点开始发送快进流媒体数据。

10.5.9 时移快进到录制尾
机顶盒
流媒体服务器

Set_Parameter Play 200 OK

快进到文 件尾

图 10-5-9-1 时移快进到录制尾时序

流媒体服务器在快进时发现到达录制文件尾,向机顶盒发送 SET_PARAMETER 消息,消息格式为:

114

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

SET_PARAMETER rtsp://192.168.1.74/ broadcast.sdp RTSP/1.0 x-Info:"EOS" CSeq: 1

关键域为:x-Info:”EOS”,表示 EndofStream 机顶盒得到消息后,自动发送 PLAY 消息来切换到直播。流媒体 服务器如果同意,则发送 200 OK,并发送直播媒体数据。

10.5.10

时移直接切直播
机顶盒
流媒体服务器

Play 200 OK

图 10-5-10-1 时移直接切直播时序

机顶盒如果在时移状态下, 通过发送 PLAY 消息可以直接切换到 直播,格式为“Range: npt=now-”,指示流媒体服务器直接切换到 直播。流媒体服务器如果同意,则发送 200 OK,并发送直播媒体数 据。 【注】如果此时不在正常播放状态,需要先发送 PAUSE 暂停(可参见 10.5.5 定位播放)。

115

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.5.11

结束播放

参见 10.3.6。 10.5.12 强制结束

参见 10.3.7。 10.5.13 机顶盒组播时移接口(S4-I-4)

组播时移接口除特殊说明外,全部等同于单播时移接口,包括各 种接口定义和字段含义。说明如下: a). 时移信道通过同点播通道一样,通过 SETUP 建立,可为 TCP 或者 UDP 方式,流媒体服务器必须支持 TCP 和 UDP 两种协 议。 b). 直播切换时移时需要关闭组播信道(离开组播组),时移切换到 直播时需要打开组播信道(加入组播组) 。 c). 时移通道在开始播放时一次性建立,并在整个播放过程中存 在。

116

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.5.14

开始播放
流媒体服务器

机顶盒 DESCRIBE 200 OK

组播网络设备

IGMP JOIN TV Channel Multicast SETUP 200 OK SETUP 200 OK PLAY 200 OK
图 10-6-1-1 组播时移建立接口时序图

【注 1】如果加入组播组后,SETUP 或 PLAY 失败.机顶盒可以选择退 出播放或者继续播放, 如果继续播放, 应关闭时移功能, 等同于组播。 【注 2】 DESCRIBE 回应 SDP 消息实体中必须采用绝对时间标识时移 范围。 【注 3】DESCRIBE 回应 SDP 消息实体中必须包含“c=INIP4”字段, 必须为“c=IN IP4 224.1.1.2”格式,用来指示该节目的组播地址。

117

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.5.15

时移范围检查

参见 10.5.2。

10.5.16

直播到暂停
机顶盒 Pause 偏移时间点 切到点播的 内容 记录
流媒体服务器

组播网络设备

200 OK IGMP Leave 停止接收组播数据

,

图 10-6-3-1 直播 Pause 时序

当机顶盒在直播时,发送 PAUSE 给流媒体服务器通知暂停。流 媒体服务器收到 PAUSE 后,如果同意暂停,则返回 200 OK,机顶盒 退出组播组,停止接收组播数据。 【注】流媒体服务器必须记录停止发送直播码流的绝对时间点。

10.5.17

时移到暂停

参见 10.5.3。

10.5.18

暂停到播放

参见 10.5.4。 【注】如果是在直播状态下暂停的,恢复播放时流媒体服务器必须从
118

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

记录的暂停绝对时间点前面最近的 I 帧开始发送媒体数据包。否则服 务器直接从暂停的地方发送数据包。

10.5.19

直播中的定位播放
机顶盒 Pause 200 OK Play 200 OK IGMP Leave 停止接收组播数据,开始接收时移数据
图 10-6-6-1 直播时定位播放时序 流媒体服务器

组播网络设备

机顶盒可以先用 GET_PARAMETER 消息获得可时移的范围。机 顶盒发送 PAUSE 中断当前流,然后发送 PLAY 消息,通过“Range: clock=20051108T141020.25Z-”指示当前需要定位播放的时间, 流媒 体服务器如果同意,则发送 200 OK,并从指定的时间点开始发送时 移媒体数据,机顶盒退出组播组,停止接收组播数据,开始接收时移 媒体数据。

10.5.20

时移中的定位播放

参见 10.5.5。

119

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.5.21

直播中的快退
机顶盒 Pause
流媒体服务器

组播网络设备

200 OK IGMP Leave 停止接收组播数据,开始接收快退数据 ,
图 10-6-8-1 直播时快退时序

机顶盒发送 PLAY 给流媒体服务器,通过 Scale 指示当前快退倍 数,例如:Scale=-2.0。此时 PLAY 应不带“Rang”字段,表示从缺 省播放时间开始。流媒体服务器如果同意,则发送 200 OK,并从当 前播放时间点开始发送快退媒体数据,机顶盒退出组播组,停止接收 组播数据,开始丛时移信道接收快退数据。

10.5.22

时移播放的快退

参见 10.5.6。

10.5.23

时移快退到录制头

参见 10.5.7。

10.5.24

时移中的快进

参见 10.5.8。
120

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.5.25

时移快进到录制尾

参见 10.5.9。

10.5.26

时移直接切直播
机顶盒 PLAY
流媒体服务器

组播网络设备

200 OK IGMP AddMember 开始接收组播数据, ,

图 10-6-13-1 直播时快退时序

机顶盒如果在时移状态下,通过发送 PLAY 消息可以直接切换到 直播,格式为“Range: npt=now-”,指示流媒体服务器直接切换到 直播。流媒体服务器如果同意,则发送 200 OK,机顶盒加入组播组, 开始接收组播数据。 【注】如果此时不在正常播放状态,需要先发送 PAUSE 暂停(可参见 10.6.7 定位播放)。

121

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

10.5.27

结束播放
机顶盒
流媒体服务器

组播网络设备

IGMP Leave 停止接收组播数据 Teardown 200 OK

图 10-6-14-1 结束播放时序

机顶盒首先离开组播组,停止接收组播数据,然后通过 TEARDOWN 通知流媒体服务器结束播放,流媒体服务器回送 200 OK。消息格式参见 10.5.11。

10.5.28

强制结束

参见 10.5.12,结束播放流程参见 10.6.14。

11 机顶盒与 DRM 系统接口(C4 接口) 缓行

12 机顶盒与通信服务系统接口(S5 接口) 12.1 S5 接口描述图 机顶盒与通信服务系统间具有以下接口模块:

122

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

a). 基于 SIP 的视频通信(S5-1) b). 短信、彩信(S5-2)
通信服务系统
SIP 视频通信平台

S5-1 S5

机顶盒 STB

S5-2
短信、彩信平台

图 12-1-1 机顶盒与通信服务系统接口

12.2 机顶盒与 SIP 视频通信平台接口(S5-1) 待定 12.3 机顶盒与短信、彩信平台接口(S5-2) 待定

13 机顶盒与终端管理系统接口(S6 接口) 待定。

123

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

附录 A 字段类型及通用状态数据字典 A.1 基本数据类型 下列类型在 W3C 或者 SOAPEnc 中已经定义的基本类型,命名 空间分别为: <schemaxmlns="http://www.w3.org/2001/XMLSchema"> <namespace="http://schemas.xmlsoap.org/soap/encodi ng/"/>
表 A-1-1 基本数据类型 类型 描述 字符串,当参数类型使用 string(N)来定义的时候,表示该字符串最大长 string 度为 N,如果在定义中,没有明确指定字符串的长度,则参数的最大长 度为 64 字符。 整数。数值范围为大于等于-2147483648,并且小于等于 2147483648 int 当参数类型使用 int[0:N], 表示参数为整型, 取值范围为 0-N 的任意一 个整数 unsignedint boolean 无符号整数,数值范围为大于等于 0,小于等于 4294967295 布尔型。当值为 true 的时候,表示真,当值为 false 的时候,表示假 The subset of the ISO8601 date-time format defined by the SOAP dateTime type. All times are expressed in UTC(UniversalCoordinatedTime) unless dateTime explicitly declared otherwise. If absolute time is not available to the CPE,it SHOULD instead indicate time since boot.For example, 2 days, 3 hours, 4 minutes and 5 seconds since boot would be expressed as

0000-00-02T03:04:05. any An element containing any of the types listed in this table. Following the SOAP specification[8], elements specified as
124

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

being of this type MUST include a type attribute to indicate the actual type of the element. Forex ample: <Parameter> <Name>Internet Gateway Device. Provisioning Code</Name> <Valuexsi:type="xsd:string">code12345</Value> </Parameter> The namespaces xsi and xsd used above are as defined in [8]. arrayType 未定类型数组,数组元素可以是基本数据类型,也可以是自定义结构体

A.2 数据字典 A.2.1 基本参数类型
表 A-2-1-1 基本参数类型 参数名称 Vendor STBModel STBID HardwareVersion SoftwareVersion FirmwareVersion ConnectionRequ estUrl 类型 String String String String String String String 长度 16 16 32 4 4 4 256 供应商名称 机顶盒型号 机顶盒 ID 硬件版本号格式为“HHHH”, 软件版本号格式为“SSSS” 固件版本号格式为“FFFF” 管理服务域向机顶盒发起连接的 Url 说明

业务基本参数 IP 地址遵循 IPv6 和 IPv4 的表达方式, 例如: IP String 39 192.168.0.1 是一个合法的 IPv4 地址; xxxx.xxxx.xxxxxxxx.xxxx.xxxx.xxxx.xxx x 是一个合法的 IPv6 地址

125

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

机 顶 盒 的 MAC 地 址 , 格 式 为 : MAC String 17 xx:xx:xx:xx:xx:xx (xx 是 16 进制的两位数) UserID String 36 IPTV 用户业务编号 EPG 的域名,格式类似于: EPGDomain String 256 http://xxx.yyy.zzz:port/ Port 默认为 80 边缘 EPG 的域名或 IP,格式类似 于: EdgeEPGDomai n String 256 http://xxx.yyy.zzz:port/ Port 默认为 80 或 http://IPAddress:Port 默认为 80 升级服务器的域名,格式是: UpgradeDomain String 256 http://xxx.yyy.zzz:port/ Port 默认为 80 ManagementDo main 管理服务器的 Domain,格式是: String 256 http://xxx.yyy.zzz:port/ Port 默认为 80 String String Unsignedint[1 :100] Unsignedint[1 :100] Unsignedint[1 :100] unsignedint Unsignedint[1 :100] 256 40 4 时钟同步服务器地址(NTP 服务器的 IP 地址或者主机名) 用户昵称 内存占用比率(1-100 的整数)

NTPDomain NickName MemLoad

APPMemLoad CodecMemLoa d PhyMemSize StorageLoad

4

内存占用比率(1-100 的整数)

4 4 4

内存占用比率(1-100 的整数) 总 RAM 大小,单位 KB 存储占用比率(1-100 的整数)

126

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

StorageSize

unsignedint

4

存储大小,单位 KB 正在使用的业务,依次包含业务种类和 业务内容,以半角字符分号分割。业务

ServiceUsing

String

256

种类和内容的定义请参见:业务数据字 典

CPULoad

Unsignedint[1 :100] Boolean

4

CPU 占用率(0-100 的整数) Inform 接口上报开关;出厂初始值为 FALSE

InformSwitch

InformInterval LogSwitch LogInterval ParameterPath RebootReason

unsignedint Boolean unsignedint String String unsignedint unsignedint

4

Inform 接口上报周期,以秒为单位;大 于等于 1 日志上报开关;出厂初始值为 FALSE 日志上报周期,以秒为单位;大于等于

4 256 256 4 4

1 完全的参数名称或部分参数名称 要求机顶盒重新启动的原因,供机顶盒 记录 要求机顶盒延迟一段时间后建立下载 下载文件的大小,以 Byte 为单位 在下载结果上报接口中表示下载升级 文件状态,0 表示下载成功;1 表示未 完成 在设置机顶盒参数接口表示参数更新 状态,

DelaySeconds Size

Status

int[0:2]

4

0:更新成功并且已经生效 1:更新成功并且已确认,但是还未生 效(如需要重启) 在消息通知接口表示消息处理结果 0-接收并处理 1-接收未处理
127

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

2-消息格式解析失败 消息类型: MsgType unsignedint 4 1-滚动字幕 2-短信通知(可选支持) 其他待扩展 MsgContent RollInterval RollTimes StartTime CompleteTime String unsignedint unsignedint dateTime dateTime 1024 4 4 消息内容 滚动间隔时间(以秒为单位) 滚动次数 下载/上传开始时间 下载/上传结束时间 要求机顶盒上报的文件类型 ( FileType String 64 目 前 有 : ;

“1-VendorConfigurationFile” “2-VendorLogFile”;

要求至少支持“2-VendorLogFile”类型 的) URL String 256 在下载接口的时候,作为源文件的 url; 在上传文件的时候, 作为目的位置的 url 最近一次认证所确定的时间戳,机顶盒 TimeStamp String 12 每次使用该值后加 1 IPTV 业务帐号密码、时间戳使用 IC 卡 内置密钥进行加密后的结果 PasswordEncrypt ion String 64 Password 为 string 类型, 字节长度; 16 TimeStamp 为 string 长度,12 字节长 度 Random String 48 16 进制随机数序列,认证接口使用 1:机顶盒需要更新,通过 URL 获取更 新文件 Result Int 4 0:机顶盒不需要更新,已经最新 -1:机顶盒不需要更新,比自动更新系
128

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

统更新 -10001 : 不 能 确 定 , 参 见 ErrorDescription 0:机顶盒升级成功 UpgradeResult Int 4 -1 : 机 顶 盒 升 级 失 败 , 参 见 ErrorDescription ErrorDescription ServerResponse String Int 256 4 错误描述 固定返回 0 在获取默认频道信息接口的请求消息 中: 表示机顶盒本地存储的 ID 信息,机 ( 顶盒未保留该信息则返回字符串 ChannelID String 8 “NULL”) 在频道信息接口的响应消息中,表示 EPG 存储的频道 ID 信息 用户频道编号(如果服务器端没有频道 UserChannelID ChannelCount BTVEPGUrl VODEPGUrl SelfServiceEPGU RL UserSpaceURL InfoEPGUrl GameEPGUrl EmailEPGUrl UMEPGUrl Int unsignedint String String String String String String String String 4 4 256 256 256 256 256 256 256 256 则返回-1) 用户可观看的频道总数 EPG 服务器上的 BTV 列表主页 EPG 服务器上的 VOD 列表主页 EPG 服务器上的自助服务列表主页 用户机顶盒本地空间主页 EPG 服务器上的信息服务列表主页 EPG 服务器上的游戏列表主页 EPG 服务器上的 email 列表主页 EPG 服务器上的统一消息业务列表主 页 机顶盒或者机顶盒管理域支持的 RPC 调用列表,用于 GetRPCMethods 方

MethodList

string[]

64

129

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

法的返回值 ChannelList ChannelInfoS truct[] 参数获取或者设置的列表,用作 ParameterList ParameterVa lueStruct[] SetParameterValue 方法的输入参数 和 GetParameterValue 方法的输出 参数 参 ParameterName s string[] 256 数 名 称 列 表 , 用 作 用户可观看的频道信息列表

GetParameterValue 方法的输入出参 数

A.2.2 复合参数类型
表 A-2-2-1 复合参数类型定义 参数名称 ParameterValueStruct Name Value ParameterInfoStruct Name string unsignedi nt[0:1] 256 参数名称 参数是否可写 Writeable 4 0 可写 1 不可写 string Any 256 参数名称 参数的更新值 类型 长度 说明

ChannelInfoStruct ChannelID string 8 默认频道的 ChannelID 信息 (如果服务 器端没有频道则返回字符串“NULL”) 频道名称(如果服务器端没有频道则返 ChannelName UserChannelID string int 16 4 回字符串“NULL”) 用户频道编号(如果服务器端没有频道

130

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

则返回-1) 组播 URL(igmp://组播地址:端口)/单播 ChannelURL string 256 URL ( rtsp:// 单 播 地 址 : 端 口 / 路 径 ) /HTTLURL (http://服务地址:端口/路径) ChannelSDP TimeShift TimeShiftURL ChannelType ChannelLogoStruct string Boolean String string channelL ogoStruct boolean 256 1 256 16 频道的 SDP 信息 频道是否支持时移 频道的时移地址 频道类型 台标显示的参数结构,如果没有,强制 用空值填充,可以不处理 频道定购标识:true-该频道已被定购; ChannelPurchased ChannelLogoStruct ChannelLogURL PositionX string int 256 4 台标图片的 URL 以屏幕和图标左上角为准的台标显示横 坐标位置 以屏幕和图标左上角为准的台标显示纵 PositionY int unsigene dint 4 坐标位置 台标显示开始时间,与频道开始播放开 4 始时间相对的时间(以秒为单位) 台标两次显示之间的间隔时间(单位为 Interval int 4 秒 , -1 为 台 标 一 直 显 示 , 此 时 忽 略 lasting;0 代表显示一次) Lasting unsignedi nt 4 每次出现后台标的显示时间, Lasting 的 值一定要小于 Interval false-该频道未被定购

BeginTime

131

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

A.3SOAP 的 FaultCode A.3.1 机顶盒 FaultCode
表 A-3-1-1 机顶盒 FaultCode Faultcode 9000 9001 9002 9003 9004 Method not supported Request denied (no reason specified) Internal error Invalid arguments Resources exceeded (when used in association with SetParameterValues, this MUST not be used to indicate parameters in error) 9005 Invalid parameter name (associated with Set/GetParameterValues, GetParameterNames, Set/GetParameterAttributes) 9006 9007 9008 Invalid parameter type (associated with SetParameterValues) Invalid parameter value (associated with SetParameterValues) Attempt to set a non-writable parameter (associated with SetParameterValues) 9009 Notification request rejected (associated with SetParameterAttributes method). 9010 Download failure (associated with Download or TransferComplete methods). 9011 Upload failure (associated with Upload or TransferComplete methods). 9012 File transfer server authentication failure (associated with Upload, Download, or TransferComplete methods). 9013 Unsupported protocol for file transfer (associated with Upload and Download methods). 描述

132

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

9800–9899

Vendor defined fault codes

A.3.2 服务器 FaultCode
表 A-3-2-1 服务器 FaultCode Faultcode 8000 8001 8002 8003 8004 8005 8800-8899 Method not supported Request denied (no reason specified) Internal error Invalid arguments Resources exceeded Retry request Vendor defined faultcode 描述

A.3.3HTTP 请求响应码 下表中的响应码具体信息,请参考 RFC2616
表 A-3-3-1 响应码具体信息 Faultcode 1XX-Informational 100 101 2XX-Successful 200 201 202 203 204 OK Created Accepted Non-Authoritative Information No Content Continue Switching Protocols 描述

133

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

205 206 3xx-Redirection 300 301 302 303 304 305 307 4xx-ClientError 400 401 402 403 404 405 406 407 408 410 411 412 413 414 415 416 417 5xx-ServerError

Reset Content Partial Content

Multiple Choices Moved Permanently Found See Other Not Modified Use Proxy Temporary Redirect

Bad Request Unauthorized Payment Required Forbidden Not Found Method Not Allowed Not Acceptable Proxy Authentication Required Request Timeout Gone Length Required Precondition Failed Request Entity Too Large Request-URI Too Long Unsupported Media Type Requested Range Not Satisfiable Expectation Failed

134

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

500 501 502 503 504 505

Internal Server Error Not Implemented Bad Gateway Service Unavailable Gateway Timeout HTTP Version Not Supported

A.3.4RTSP 请求响应码 内容分发系统的回应状态码采用 RTSP 定义的回应状态码(参见 RFC23267.1.1 小节) ,并作了一些扩展定义,如下表。
表 A-3-3-1RTSP 请求响应码 状态码 100 200 201 250 300 301 302 303 305 400 401 402 403 404 405 含义 Continue OK Created Low on Storage Space Multiple Choices Moved Permanently Moved Temporarily See Other Use Proxy Bad Request Unauthorized Payment Required Forbidden Not Found Method Not Allowed 适用过程 all all RECORD RECORD all all all all all all all all all all all

135

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

406 407 408 410 411 412 413 414 415 451 452 453 454 455 456 457 458 459 460 461 462 500 501 502 503 504 505 551 600

Not Acceptable Proxy Authentication Required Request Timeout Gone Length Required Precondition Failed Request Entity Too Large Request-URI Too Long Unsupported Media Type Invalid parameter Illegal Conference Identifier Not Enough Bandwidth Session Not Found Method Not Valid In This State Header Field Not Valid Invalid Range Parameter Is Read-Only Aggregate Operation Not Allowed Only Aggregate Operation Allowed Unsupported Transport Destination Unreachable Internal Server Error Not Implemented Bad Gateway Service Unavailable Gateway Timeout RTSP Version Not Supported Option not support 自定义未知错误

all all all all all DESCRIBE,SETUP all all all SETUP SETUP SETUP all all all PLAY SET_PARAMETER all all all all all all all all all all all all

136

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

601 602 603 604 605

服务器带宽不足 服务器忙 接入带宽不足 用户无权限 用户费用不足

DESCRIBE,SETUP DESCRIBE,SETUP DESCRIBE,SETUP all all

附录 B SOAPRPC 方式实现模版 B.1 XSD 文件描述 XSD 文件定义了基本类型和结构,数组类型的参数。 B.2 WSDL 描述 下列文件作为 SOAP 接口生成时的 WSDL 文件参考,SOAP 服务 提供者利用该文件向客户端发布 SOAP 接口服务 WSDL 文件头和文件结构如下

137

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:impl="http://server.ctciptv.com.cn" xmlns:intf="http://server.ctciptv.com.cn" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns2="http://server.ctciptv.com.cn" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://server.ctciptv.com.cn"> <wsdl:types> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://server.ctciptv.com.cn"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <include schemaLocation="Basetype.xsd"/> ………… </wsdl:types> <wsdl:message> ………… </wsdl:message> <wsdl:portType> ………… </wsdl:portType> <wsdl:binding> ………… </wsdl:binding> <wsdl:service> ………… </wsdl:service> </wsdl:definitions>

138

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

附录 C IPTV 用户业务编号(UserID) C.1IPTV 用户业务编号规则 IPTV 用户业务编号格式定义如下: SNUM ::= Digits@Domain Domain ::= Servicetype.Operator.Provice

SNUM 表示业务编号, Digits 是一个用数字 0-9 表示的用户编号, 用户编号方案满足 ITU-TE.164 标准的要求; Domain 为域名, 域名由 业务字符串 Servicetype、运营商字符串 Operator、与位置字符串 Provice 组成。

C.2 IPTV 用户业务编号示例 下面是 IPTV 用户业务编号的示例:

例:118482123524587@IPTV.CT.SH 其 中 用 户 编 号 118482123524587 , 其 中 11848 为 接 入 码 ,
2123524587 为 E.164 用户编码,域名为 IPTV.CT.SH

C.3 IPTV 业务对编号的要求 IPTV 网络的各类业务可根据不同的需要单独设立域名或与已有 业务共用域名,但对于同一个用户的不同业务,其用户编号由运营商
139

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

分配,并且是不变的。 用户编号方案采用 5 位接入码后接 E.164 方式。

C.4 E.164 用户编号示例 根据 ITU-TE.164,用户编号可以为以下几种结构: a). 基于地理区域的国际公共电信号码结构:如图 C-4-E-1 表示

CC 1 to 3 位

NDC Max (15-n) 位 国家 (有效) 号码 Max 15 位 国际公众电信 地理区域

SN

T0206150-96/d01

CC 地理区域的国家号 NDC 国内目的码 (可选) SN 用户号码 n 国家码的位数

注: 国内与国际前缀不是地理区域的国际公众电信号码的一部分

图 C-4-E-1 /E.164 用于地理区域的国际公众电信号码

b). 基于全球业务(GlobalServices)国际公众电信号码的结构,如 图 C-4-E-2 所示。

140

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

CC 3 位

GSN

Max 12 位 Max 15 位 用于全球业务的国际公众电信号码
T0206160-96/d02

CC 全球业务的国家码 GSN 全球客户号码

注:国内与国际前缀不是全球业务的国际公众电信号码的一部分

图 C-4-E-2

/E.164 用于全球业务的国际公众电信号码结构

c). 基于网络的国际公众电信号码结构,如图 C-4-E-3 所示。.

CC 3 位

IC 1-4 位

SN Max (12-x) 位

Max 12 位 Max 15 位 基于网络的国际公众电信号码
T0206170-96/d03

CC 网络的国家码 IC 标识码 SN 用户号码 x 标识码(IC)的位数

注: 国内与国际前缀不是基于网络的国际公众电信网的一部分

图 C-4-E-3

/E.164 基于网络的国际公众电信号码结构

附录 D 扩展 js 集合 本附录规定了机顶盒浏览器需要支持的扩展 javascript 集合,用 于机顶盒与 EPG 服务系统、业务管理平台之间接口中,基于 HTML、
141

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

Javascript 的逻辑使用。 D.1 Authentication 对象 D.1.1 获取鉴权信息
函数名: 参数: 返回值: CTCGetAuthInfo 32 位长字符串 EncryToken,ASCII 编码方式 string 型加密结果 获 取 本 地 配 置 信 息 , 使 用 password 对 loginname 、 EncryToken 等信息进行加密,并按要求格式返回结果字符 串。

函数过程:

加密方法如下,其中 Authenticator 表示函数返回值,具体为:
Authenticator=3DES(Random+“$”+EncryToken+”$”+UserID +”$”+STBID+”$”+IP+”$”+MAC+”$”+ Reserved+ ”$”+ “CTC”)

其中: a). 在不采用机卡分离方式的情况下,使用用户的密码(由运营商 统一分配,用户可通过机顶盒操作界面进行配置)作为 3DES 密钥进行加密; b). 在采用机卡分离方式的情况下, 采用为机顶盒 SIM 卡内保存的 密钥 ICKey 作为 3DES 密钥; c). 密钥长度不足 24 字节时,右补 ASCII 字符“0”; d). 内容采用 PKCS5Padding 方式填充,即长度以 8 字节切分, 不能被 8 整除的末尾部分, 根据长度不足 8 字节的部分,填充 “0x01”—“0x08”,如不足 1 字节,则填充 1 个“0x01”,如不
142

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

足 2 字节,则填充 2 个“0x02”,以此类推,如整除,则填充 8 个“0x08”; e). 3DES 加密算法采用的鉴权算法, 遵循中国电信 IPTV 技术规范 《IPTVSIM-STB 接口规范 V1.5》7.2 节中的规定,具体为: 3DES(168 位,ECB 方式) f). Random 为十进制表示的随机数字,范围为 0~99999999 【注】返回结果使用 ASCII 形式的十六进制编码表示,采用大写 “ABCDEF” , 如 加 密 结 果 为 8 字 节 二 进 制 字 符 串 : 0x0123456789ABCDEF,则 Authenticator 为 16 字节 ASCII 字符 串:”0123456789ABCDEF”。

D.1.2 设置/获取业务参数
函数名: 参数: 返回值: 函数过程: CTCSetConfig/CTCGetConfig l l 无 将需要设置的参数配置到机顶盒中。 fieldName:字符串类型,表示需要设置的参数名称; fieldValue:字符串类型,表示需要设置的参数值。

本方法目前支持参数如下: l UserToken l EPGDomain l EPGDomainBackup l UpgradeDomain

143

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

l UpgradeDomainBackup l ManagementDomain l ManagementDomainBackup l NTPDomain l NTPDomainBackup l UserGroupNMB l EPGGroupNMB l ChannelCount l Channel l ServiceEntry

D.1.3 启动后台升级功能
函数名: 参数: 返回值: 函数过程:
CTCStartUpdate 无 无 后台启动升级功能的 js 函数,机顶盒启动升级流程,并立即返回

D.1.4 启动认证功能
函数名: 参数: 返回值: 函数过程:
Login 无 无 触发机顶盒认证流程

144

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

D.2 MediaPlayer 对象 MediaPlayer 对象是将机顶盒播放 TVChannel,TVOD,VOD, Music 这些媒体内容的能力进行了封装。从媒体播放的角度看, MediaPlayer 只需要知道 CODEC 类型 (audioType,videoType) , 流类型 (streamType) 和媒体的位置(URL)就可以播放一个媒体内容。 对于 TVChannel,TVOD,VOD,Music 这些媒体内容,播放的 基本行为是相同的,抽象为 MediaPlayer 的方法,(播放,快进,跳 转,暂停,停止等)。 机顶盒应 能够 支持同 时创建 至少 2 个,最多 不超 过 3 个的 MediaPlayer 对象实例,并在机顶盒软硬件能力允许的情况下,能 够控制已创建的对象实例进行音视频的同时播放。 D.2.1 MediaPlayer 的属性
表 D-2-1-1MediaPlayer 属性 属性 播放器的配置属性 getNativePlayerInsta nceID() setSingleOrPlaylistMo de(mode) getSingleOrPlaylistMo de() setVideoDisplayMod 0: 按 setVideoDisplayArea() 中 设 0:单媒体的播放模式(默认值) 1:播放列表的播放模式 始设定。在播放过程中,此 属性不能再被修改。 MediaPlayer 对象对应的
145

属性值

注释

一个字节长度的无符号正整数, 1-255

获得 STB 本地播放器实例的 instanceID。 MediaPlayer 的播放模式。 在初始化 MediaPlayer 对 象时必须进行该参数的初

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

e(videoDisplayMode )

定的 Height,Width,Left,Top 属性所 指定的位置和大小来显示视频 1:全屏显示,按全屏高度和宽度显示

视频窗口的显示模式. 每次调用该函数后,视频显 示窗口并不会被立即重新 刷新以反映更改后的显示

getVideoDisplayMod e()

(默认值)

2:按宽度显示,指在不改变原有图像 效 果 只 有 等 到 显 式 调 用 纵横比的情况下按全屏宽度显示 refreshVideoDisplay() 后

3:按高度显示,指在不改变原有图像 才会刷新 纵横比的情况下按全屏高度显示 255:视频显示窗口将被关闭。 它将在 保持媒体流连接的前提下, 隐藏视频 窗口。如果流媒体播放没有被暂停, 将继续播放音频。 Left:相对于所在浏览器窗口左上角 的右向偏移的象素点个数(默认值为 0) Top:相对于所在浏览器窗口左上角 的向下偏移的象素点个数(默认值为 setVideoDisplayArea( left,top,width,height) 0) Width:显示视频的窗口宽度的象素 点个数(默认值为默认页面设计空间 的宽度,对 PAL 来说为 720) Height:显示视频的窗口高度的象素 点个数(默认值为默认页面设计空间 的高度,对 PAL 来说为 576) getVideoDisplayLeft( ) 返回通过 setVideoDisplayArea() 设置的 left 值 象素值,(默认值为 0) 返回通过 setVideoDisplayArea() 设置的 top 值 象素值,(默认值为 0) 视频窗口的位置,相对于所 在浏览器窗口左上角的右 向偏移(象素点个数) 视频窗口的位置,相对于所 在浏览器窗口左上角的向 下偏移(象素点个数)
146

每次调用该函数后,视频显 示窗口并不会被立即重新 刷新以反映更改后的显示 效果只有等到显式调用 refreshVideoDisplay() 后 才会刷新

getVideoDisplayTop( )

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

getVideoDisplayWidt h()

返回通过 setVideoDisplayArea() 设置的 width 值 象素值,(默认值为 0) 返回通过 setVideoDisplayArea() 设置的 height 值 象素值,(默认值为 0) MediaPlayer 对应的本地 播放器实例是否静音 (sessionscope,Mute 键 显示视频的窗口高度 显示视频的窗口宽度

getVideoDisplayHeig ht()

setMuteFlag(muteFla g) 0:设置为有声(默认值) 1:设置为静音 getMuteFlag()

所触发的 MUTE 状态为全局 MUTE 状态,不影响该值) , 该值并不影响 STB 本地其它 音频有关应用的 Mute 状 态。 设置后立即生效。 可选的属性:保留此属性, 但可以不实现功能

setNativeUIFlag(nativ eUIFlag)

播放器是否显示缺省的 0:不使能 Player 的本地 UI 显示功能 1:使能 Player 的本地 UI 显示功能(默 认值) NativeUI,如进度条/音量 提示/静音提示/频道号/等。

getNativeUIFlag()

详 细 描 述 参 考 章 节 “MediaPlayer 的行为”。 设 置后立即生效。 (可选) :保留此属性,但 可以不实现功能

setMuteUIFlag(muteU IFlag)

0:不使能静音提示的本地 UI 显示功 播放器是否显示缺省的本 能 1:使能静音提示的本地 UI 显示功能 地静音提示 UI。该属性与 nativeUIFlag 属性是逻辑 与的关系。设置后立即生 效。
147

getMuteUIFlag()

(默认值)

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

(可选) :保留此属性,但 setAudioVolumeUIFla g(audioVolumeUIFla g) 0:不使能音量调节的本地 UI 显示功 播放器是否显示缺省的本 能 1:使能音量调节的本地 UI 显示功能 getAudioVolumeUIFl ag() (默认值) 地音量调节 UI。该属性与 nativeUIFlag 属性是逻辑 与的关系。设置后立即生 效。 (可选) :保留此属性,但 setAudioTrackUIFlag( audioTrackUIFlag) 可以不实现功能 0:不使能音轨选择的本地 UI 显示功 播放器是否显示缺省的本 能 1:使能音轨选择的本地 UI 显示功能 (默认值) 与的关系。设置后立即生 效。 (可选) :保留此属性,但 setProgressBarUIFlag( progressBarUIFlag) 0:不使能进度条的本地 UI 显示功能 可以不实现功能 播放器是否显示缺省的本 地音轨选择 UI。该属性与 nativeUIFlag 属性是逻辑 可以不实现功能

getAudioTrackUIFlag( )

1:使能进度条的本地 UI 显示功能 (默 地 进 度 条 UI 。 该 属 性 与 getProgressBarUIFlag () 认值) nativeUIFlag 属性是逻辑 与的关系。设置后立即生 效。 (可选) :保留此属性,但 setChannelNoUIFlag( channelNoUIFlag) 0:不使能频道号的本地 UI 显示功能 可以不实现功能 播放器是否显示缺省的本

1:使能频道号的本地 UI 显示功能 (默 地 频 道 号 UI 。 该 属 性 与 getChannelNoUIFlag () 认值) nativeUIFlag 属性是逻辑 与的关系。设置后立即生 效。 setSubtitileFlag(subtiti leFlag) 0:不显示字幕(默认值) 1:显示字幕 可选的属性:保留此属性, 但可以不实现功能
148

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

播放器是否需要显示字幕。 getSubtitileFlag() setVideoAlpha(video Alpha) 设置后立即生效。 0-100 之间的整数值,0 表示不透 可选的属性:保留此属性, 明,100 表示完全透明。 (默认值为 0) 但可以不实现功能 视频的透明度 表示该播放器实例在生命 周期内都是否允许任何 0:允许 TrickMode 操做 1:不允许 TrickMode 操作(默认值) getAllowTrickmodeFl ag() setCycleFlag(cycleFl ag) 0:设置为循环播放(默认值) 1:设置为单次播放 getCycleFlag() setRandomFlag(rand omFlag) 0:设置为随机播放(默认值) 1:设置为随机播放 getRandomFlag() setVendorSpecificAtt r(vendorSpecificAttr) 字符串 getVendorSpecificAt tr() 只读的播放器状态属性 获取当前播放的 媒体的标识,MediaCode getMediaCode() 字符串,媒体的标识 是媒体的唯一标识(节目, 频道等) ,使用系统定义的
149

getVideoAlpha() setAllowTrickmodeFla g(allowTrickmodeFla g)

TrickMode 操作 (包括快进 /快退/暂停) 这个属性与媒 。 体本身的 TrickMode 属性 是逻辑与的关系

可选属性:设置是否循环播 放节目

可选属性:设置播放列表是 否随机播放列表中的节目, 只在播放列表模式下起作 用

留作厂商的扩展属性设置 和获取,格式由厂商自己确 定

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

ContentID。当播放器在播 放 列 表 模 式 时 , MediaCode 是动态改变 的。 获取当前播放的媒体的总 getMediaDuration() 整数,以秒为单位 时长 获取媒体播放到的当前时 间点 对 VoD 为从该媒体起始点 开始计算的相对时间,以秒 getCurrentPlayTime () 为单位;对 TVoD 为当前播 媒体播放到的当前时间点 放点的绝对时间;对 Channel 而言无意义 参 见 RFC2326 中 的

NormalPlayTime(NPT) 和 AbsoluteTime(ClockTime )两种时间类型的格式 播放器的当前播放模式。返 回值为 JSON 字符串,其中至少包括“播放模 式”和“模式相关参数”两类信息,播放 模 式 分 : NormalPlay , Pause , 当 getPlaybackMode( ) Trickmode;当模式为 Trickmode 时 必 须 带 的时候以虚拟键及事件的 2x/-2x,4x/-4x,8x/-8x,16x/-16x,32x/32x 参数来表示快进/快退的速度参 数,如: {PlayMode:“NormalPlay”, Speed:“1x”} 返回机顶盒当前播放的频 getChannelNum() 整数 道号,不能获得有效的频道
150

STB

播 放 器 的

playbackmode 发生改变

方式通知 EPG

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

号时,返回-1。 getCurrentAudioCh annel() getAudioTrack() 字符串 获取当前的声道类型 Left、Right、Stereo、JointStereo 字符串 获取当前的的音轨类型 Chinese、English 等 字符串 getSubtitle() 获取当前选择的字幕类型 Chinese、English 等

只读的播放器状态属性,只在播放列表模式下有效 获取播放列表中的媒体数 getMediaCount() 整数 量 获取当前播的媒体,在播放 getCurrentIndex() 整数,0:表示媒体列表的顶端 列表中的索引值 字符串,媒体在播放列表中的唯一标 getEntryID() 识 字符串,用 JSON 格式的字符串,封 装播放列表数据。 获取当前播放的媒体的 EntryID 参考:媒体相关参数的描述 和封装方式

getPlaylist()

D.2.2 MediaPlayer 的方法 如无特殊注释,MediaPlayer 必须实现如下方法:
表 D-2-2-1MediaPlayer 的方法
方法 参数 注释 MediaPlayer 的 创 建 函 数 , MediaPlayer() newMediaPlayer()。以缺省值创 建对象。 bindNativePlayerInstan ce(nativePlayerInstanc eID) nativePlayerInstanceID: 一个字节长度的无符号整数,0- 255 机顶盒上某个媒体流或播放器实 例的标识, STB 本地负责生成和 由 维护,一旦针对某个新生成的

151

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

MediaPlayer 对象绑定该 ID,就 返回: 0:表示绑定成功; -1:表示绑定失败; 其他值未定义 意味着该对象和 STB 本地的某个媒 体播放实例进行了绑定或关联。 如 果 无 法 找 到

nativePlayerInstanceID 对应的 本地播放器实例,则操作失败,返 回-1。 参考:MediaPlayer 控制的本地 播放器实例的生命周期

initMediaPlayer(nativePl ayerinstanceID,playlistFl ag,videoDisplayMode,h eight,width,left,top,mut eFlag,useNativeUIFlag,s ubtitleFlag,videoAlpha, cycleFlag,randomFlag,) nativePlayerInstanceID: 一个字节长度的无符号整数,0- releaseMediaPlayer(nat ivePlayerInstanceID) 255 返回: 0:表示释放成功; -1:表示释放失败; 其他值未定义 参考: 播放器的配置属性

初始化 MediaPlayer 的属性。当 新创建的 MediaPlayer 是为了和 已有的 STB 本地某个媒体播放实例 (由先前其它页面中创建 MediaPlayer 对象时创建的)进 行绑定,无需调用该函数。

释放机顶盒 MediaPlayer 的对 象,结束对应 MediaPlayer 的生 命周期。

设置单个播放的媒体。 传入字符串 mediaStr 中的媒体对 setSingleMedia(mediaS tr) mediaStr,字符串,用 json 对象 封装媒体的属性。 接单播地址进行播放; l igmp://的组播地址,要求连 象的 mediaURL。 l rtsp://的单播地址,则要求连

接组播地址进行播放;
152

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

l

http:// 的 地 址 用 于 播 放 等 音 频 , 如

mp3 、 WAV

http://xxxxx/test.mp3、 test.wav 要求终端访问指定的频道, 并立即 返回。 对由本地设置为跳过的频道, 也返 回-1。 频道地址为通过 CTCSetConfig 设置的频道列表中的地址: l 如频道地址为 igmp://的组播

地址, 则加入组播频道, 播放器开 Userchannelid,整数,表示用户 joinChannel(userchann elid) 频道号。 返回值:0,表示成功; -1:表示频道号无效。 始播放组播频道, 并处理相应的时 移等功能; l 如频道地址为 rtsp://的单播

地址, 则连接单播频道, 播放器开 始播放; l 如频道地址为 http://的地址,

则浏览器直接发起请求, 访问该页 面。 【注】 在加入一个频道之前已经加 入另外一个频道,需先调用 leaveChannel 方法离开前一个 频道 要求终端离开指定的频道, 并立即 返回。 l 返回值:0,表示成功; leaveChannel() 播地址,则立即离开组播频道,播 -1:表示频道号无效。 放器停止播放组播频道, 并断开相 应的时移连接; l 如频道地址为 rtsp://的单播
153

如原频道地址为 igmp://的组

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

地址, 则断开单播频道, 播放器停 止播放; l 如频道地址为 http://的地址,

则浏览器不作操作。 【注】本方法只用于离开通过 joinChannel 方法加入的频道。 在播放列表末端,添加单个媒体。 传入字符串。 对于 index:如果为负数(如-1) , 表示默认添加在列表尾部 (Append) ;如指定的 index 值 大于或等于 playlist 中已有媒体数 目,则添加至 playlist 尾部;其它 addSingleMedia(index, mediaStr) mediaStr,字符串,用 JSON 对 情 况 为 插 入 列 表 某 个 位 置 象封装媒体的属性 (Insert) ;index 会随着条目的移 动/增加/删除而动态变化,由 STB 保证当前 playlist 中所有条目的 index 是从 0 按序加一递增的。对 于 entry_id:唯一标识 playlist 中 每个媒体条目, 一旦成功加入某个 媒体后,该值不会变化。 addBatchMedia(batch MediaStr) clearAllMedia() batchMediaStr , 字 符 串 , 用 在播放列表末端,添加一批媒体。

JSON 对象封装批量媒体的属性。 传入字符串 N/A entryID:播放列表中某个媒体条 目的唯一标识。 toIndex,整数,需要移动到的索 引值。0:表示播放列表的顶端。 entryID:播放列表中某个媒体条 目的唯一标识。 offset,偏移量,正整数表示从指 定媒体向列表末端移动, 负整数表
154

清空播放列表

moveMediaByIndex(en tryID,toIndex)

根据 index 将指定的媒体在播放 列表中移动

moveMediaByOffset(en tryID,offset)

根据偏移量将指定的媒体在播放 列表中移动

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

示从指定媒体向列表起始端移动 index,整数,指定的媒体在播放 列表中的索引值。0:表示播放列 表的顶端。 toIndex,整数,需要移动到的索 引值。0:表示播放列表的顶端。 index,整数,指定的媒体在播放 列表中的索引值。0:表示播放列 表的顶端。 offset,偏移量,正整数表示从指 定媒体向列表末端移动, 负整数表 示从指定媒体向列表起始端移动 moveMediaToNext(entr yID) moveMediaToPrevious( entryID) moveMediaToFirst(entry ID) moveMediaToLast(entr yID) moveMediaToNext1(ind ex) entryID:播放列表中某个媒体条 将指定的媒体下移 目的唯一标识。 entryID:播放列表中某个媒体条 将指定的媒体上移 目的唯一标识。 entryID:播放列表中某个媒体条 将指定的媒体移到列表顶端 目的唯一标识。 entryID:播放列表中某个媒体条 将指定的媒体移到列表末端 目的唯一标识。 index,整数,指定的媒体在播放 列表中的索引值。0:表示播放列 表的顶端。 index,整数,指定的媒体在播放 列表中的索引值。0:表示播放列 表的顶端。 index,整数,指定的媒体在播放 列表中的索引值。0:表示播放列 表的顶端。 index,整数,指定的媒体在播放 列表中的索引值。0:表示播放列 表的顶端。
155

moveMediaByIndex1(in dex,toIndex)

根据 index 将指定的媒体在播放 列表中移动

moveMediaByOffset1(in dex,offset)

根据偏移量将指定的媒体在播放 列表中移动

将指定的媒体下移

moveMediaToPrevious1 (index)

将指定的媒体上移

moveMediaToFirst1(ind ex)

将指定的媒体移到列表顶端

moveMediaToLast1(ind ex)

将指定的媒体移到列表末端

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

selectMediaByIndex(ind ex) selectMediaByOffset(off set)

index:媒体在播放列表中的索引, 按媒体在播放列表中的索引选中 0:表示播放列表的顶端。 offset,偏移量,正整数表示从当 按与当前媒体索引的偏移量选中 前媒体向列表末端跳转, 负整数表 媒体,作为当前候选播放节目 示从当前媒体向列表起始端跳转 选取播放列表中的下一个媒体, 作 N/A 为当前候选播放节目

selectNext()

为当前候选播放节目 选取播放列表中的上一个媒体, 作

selectPrevious()

N/A

为当前候选播放节目 选取播放列表中的第一个媒体, 作

selectFirst()

N/A

为当前候选播放节目 选取播放列表中的最后一个媒体,

selectLast()

N/A entryID:播放列表中某个媒体条

作为当前候选播放节目 按某个媒体条目的唯一标识选中

SelectMediaByEntryID(e ntryID)

目的唯一标识 (在添加媒体时设置 为当前候选播放节目 并且在该播放列表中保持不变)

从媒体起始点开始播放。 playFromStart() N/A 对 TVchannel, 以实时 TV 的方式 开始播放。 -type: 1:参见 RFC2326 中的 Normal Play Time (NPT) 2:参见 RFC2326 中的 Absolute playByTime(type,timest amp,speed) Time (Clock Time) -timestamp: 参见 RFC2326 中的 Normal Play Time (NPT) 和 Absolute Time (Clock Time)两种时间类型的格 式 参见 RFC2326 (RTSP 协议) 从当 。 前媒体的某个时间点开始播放媒 体(对 playlist 而言是指当前已经 选中的媒体) 。对实时播放的 TV channel 该调用无效, 但对处于时 移状态的 TV channel 有效。

156

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

timestamp:对 VoD 而言是从媒 体起始点开始计算的相对时间; 对 TVoD 等有时间基的媒体而言就 是绝对时间。 -speed: 播放速度,可选参数。 pause() fastForward(speed) N/A -speed: 快进 Float 类型,2 至 32 -speed: 快退 Float 类型,-2 至-32 从当前媒体的暂停/快进/快退状 resume() gotoEnd() gotoStart() N/A N/A N/A 态恢复正常播放。 跳到媒体末端播放 跳到媒体起始点播放 停止正在播放的媒体。 本方法只能 stop() N/A 用于停止通过 playFromStart 或 playByTime 方法开始的流媒体对 象。 根 据 暂停正在播放的媒体

fastRewind(speed)

videoDisplayMode,vedioDispl refreshVideoDisplay() N/A ayArea 属性,调整视频的显示。 所以设定 Area 和 Mode 参数后 并不是立即生效, 而是要在显式调 用该函数后才会生效.

可选的方法:保留此接口,但可以 switchAudioChannel() N/A 不实现功能 切换声道,循环进行。 switchAudioTrack() N/A 可选的方法:保留此接口,但可以
157

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

不实现功能 切换音轨,循环进行。 可选的方法:保留此接口,但可以 switchSubtitle() N/A 不实现功能 切换字幕,循环进行。 sendVendorSpecificCo mmand(xml) 留作厂商的命令扩展, 参数由厂商 xml:XML 格式的字符串 自定义 可选: Int getAudioPID() 返回音频 PID。如果正在播放返回 当前播放的 PID,否则返回缺省/ 第一个 PID。 可选: 返回一个包含所有音频PID信息的 对象。对象包含以下信息: lpids–当前媒体流中包含的音频 Object getAudioPIDs() PID个数 lpidarr[1..pids]–音频PID数组: AudioPID–PID值(数值) AudioLanguage–PID 的语言标 志(字符串) void setAudioPID() 指定使用的音频 pid。 返回字幕 PID。如果正在播放返回 Int getSubtitlePID() 当前播放的 PID,否则返回缺省/ 第一个 PID。 返回一个包含所有字幕 PID 信息 的对象。对象包含以下信息: Object getSubtitlePIDs() lpids–当前媒体流中包含的字幕 PID 个数 lpidarr[1..pids]–字幕 PID 数组: SubtitlePID–PID 值(数值)
158

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

SubtitleLanguage–PID 的语言标 志(字符串) Void setSubtitlePID() Void setVolume(intvolume) Int getVolume() Volume:0-100,表示音量,0 设置系统音量 为静音,100 为最大音量。 返回值:当前系统音量,0-100 ioStr:要设置的参数的名称。 (具体 set(ioStr,wrStr) 意义由机顶盒定义) wrStr:要设置的参数的值。 ioStr:要读取的参数的名称。 (具体 意义由机顶盒定义) 未来作为扩展使用。 获取当前系统音量 可选的属性:保留此属性,但可以 不实现功能 未来作为扩展使用。 可选的属性:保留此属性,但可以 get(ioStr) 不实现功能 指定使用的字幕 pid。

【注 1】entryID 参数在 Playlist 模式下为必填字段;

D.2.3 媒体相关参数的描述
表 D-2-3-1 媒体相关参数 参数 参数值 是否 必填 注释 用于初始化多媒体会话。需要支持 rtsp 、 igmp 等 等 格 式 。 例 如 : mediaURL 字符串,媒体的 url Y rtsp://server.domain.com:554/vi deos/movie.ts, igmp://239.255.250.2:11111 mediaCode 字符串,媒体的唯一标识 整数值, 1:TYPE_CHANNEL mediaType 2:TYPE_VOD 3:TYPE_TVOD 4:TYPE_MUSIC Y 媒体的类型 Y 媒体的唯一标识

159

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

整数值 1:MPEG-1/2layer2(MP2) 2:MPEG-1/2layer3(MP3) audioType 3:MPEG-2LC-AAAC 4:MPEG-4LC-AAC 5:MPEG-4HE-AAC 6:AC-3 7:WMA9 整数值 1:MPEG-2 2:MPEG-4 videoType 3:H.264 4:WMV9 5:VC-1 6:AVS 整数值 1:PS streamType 2:TS 3:MP4 4:ASF 整数值 1:DRM_TYPE_CLEAR_TEXT drmType 2:DRM_TYPE_BESTDRM 3:DRM_TYPE_NDS 4:DRM_TYPE_MICROSOFT 5:DRM_WIDEVINE 整数值 fingerPrint 0:开启 fingerPrint 1:关闭 fingerPrint(缺省值) copyProtectio 整数值 N 防拷贝类型
160

Y

音频编码类型

Y

视频编码类型

Y

流类型

Y

DRM 类型

N

是否支持水印保护

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

n

0:PROTECTION_NO(缺省值) 1:PROTECTION_MACROVISIO N 3:PROTECTION_CGMSA 表 示 该 媒 体 是 否 允 许 任 何

allowTrickmod e

0:允许 Trickmode 1:不允许 Trickmode(缺省值) 参见 RFC2326 中的 Normal Play

N

trickmode 操作(包括快进/快退/ 暂停)

startTime

Time (NPT) 和 Absolute Time (Clock Time)两种时间类型的格 式 参见 RFC2326 中的 Normal Play

Y

表示媒体的起始时间

endTime

Time (NPT) 和 Absolute Time (Clock Time)两种时间类型的格 式

Y

表示媒体的结束时间

timeShiftURL timeShift

字符串,媒体 URL 0 或不存在:不支持时移; 其他:支持时移

O O

媒体的时移地址,以 RTSP 协议开始 媒体是否支持时移(单播时移/组播 时移)

entryID

媒体加入 Playlist 时, 在媒体列表 中的唯一标识。

N

只在加入 Playlist 时用到

【注】机顶盒支持流媒体内容的逻辑播放,需注意以下几点: a) 机顶盒在发送 PLAY 消息时的 Range 字段应与 mediastr 中 的 startTime 及 endTime 保持一致; b) 当机顶盒播放到 endTime 定义的播放时间时,平台侧应发起 ANNOUNCE 2101 命令,通知机顶盒播放到达逻辑结束,此 时机顶盒应发送 TEARDOWN 消息关闭连接; c) 机顶盒再播放逻辑分段时, 进行快进/快退等 TrickMode 操作
161

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

时,在 PLAY 命令的 Range 字段中应明确表明操作的时间范 围,例如(播放范围为 5s — 30s) :
PLAY rtsp://example.com/foo/bar/baz.mpg RTSP/1.0 CSeq: 5 Session: 719885386 Scale: 4.0 Range: npt=15-30

……………………
PLAY rtsp://example.com/foo/bar/baz.mpg RTSP/1.0 CSeq: 10 Session: 719885386 Scale: -8.0 Range: npt=25-5

d) 对于 mediastr 字段的 startTime 及 endTime 字段, 分为以下 两种场景进行处理: l 当节目需要整段播放时, startTime 与 endTime 取值相同, 即为 NPT 格式时 startTime = endTime = 0,UTC 格式时 startTime = endTime = 197000T00000Z; l 当节目需要分段逻辑播放时,startTime 与 endTime 取值 不同,用于表示逻辑分段节目的开始与结束时间,且 startTime < endTime。 e) 当 播 放 到 startTime 时 , 机 顶 盒 抛 出

EVENT_MEDIA_BEGINNING 事件,表示逻辑媒体段播放到起 始点。 当播放到 endTime 时, 机顶盒抛出 EVENT_MEDIA_END 事件,表示逻辑媒体段播放结束。

162

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

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:0,entryID:"entry1"}, {mediaURL:"rtsp://servername:554/video2.ts",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.5 MediaPlayer 控制的媒体流的生命周期 页面中创建的的 MediaPlayer 对象,控制机顶盒上某个媒体流 或播放器实例。这个机顶盒上的播放器实例的生命周期是跨页面的。 就是说在一张页面上创建的 MediaPlayer, (它对应机顶盒本地的一 个播放器实例) ,可以在下一张页面中获得,然后通过 JSExt 继续操 纵 这 个 本 地 的 一 个 播 放 器 实 例 。 通 过 MediaPlayer 的 nativePlayerInstanceID 属性来标识机顶盒上的播放器实例。在设 置 MediaPlayer 的 nativePlayerInstanceID 属性时,如果机顶盒 上已存在一个相同 ID 的媒体播放实例,MediaPlayer 对象与它进行 关联,然后操纵这个机顶盒上的媒体播放实例。 示例如下( 【注】本示例只做参考用) : a). 在第一张页面中,创建和初始化媒体流

163

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

//创建一个 JS 扩展的 MediaPlayer 对象,同时生成本地 var mp = new MediaPlayer(); //播放实例的标识 //读取本地的媒体播放实例的标识。保留这个标识以便在跨页面时,标识这个本地的媒体 播放实例 var nativePlayerInstanceId = mp.getNativePlayerInstanceId(); //设置媒体播放器播放媒体内容 mp.setSingleMedia(mediaStr); mp.playFromStart();//开始播放

b). 在下一张页面中,根据 ID 获取已存在的媒体流

//创建一个 JS 扩展的 MediaPlayer 对象 var mp= new MediaPlayer(); //根据从上一张页面传递过来的 Id, 绑定本地的媒体播放实例 mp.bindNativePlayerInstance(nativePlayerInstanceId); //设置这个媒体播放实例的参数 mp.setxxx(xxx); //fastforward 播放 mp.fastforward(2); //停止播放。 mp.stop();

D.2.6 MediaPlayer 相关的事件 MediaPlayer 对应的本地的播放器实例将一些需要 EPG 页面处
164

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

理的状态, 采用虚拟按键的方式抛出, 虚拟按键定义为 0x0300, EPG 页面的 javascript 逻辑通过 onkeypress 函数进行响应。 虚拟事件通 过 Utility 对象的 getEvent 函数获取。 当发生虚拟事件 EVENT_MEDIA_ERROR 时,错误代码定义如下 (待定) : l RTSP_CONNECT_FAILED 连接 RTSP 服务器失败。可能是网线没 有插好或者其他网络问题造成的。 l RTSP_SEND_FAILEDRTSP 请求不能被发送到服务器。 l RTSP_READ_FAILED 无法读取从服务器发来的 RTSP 命令。 l RTSP_CONNECTION_DIEDRTSP 连接断开。 l RTSP_STATUS_LINE 注释:该代码不再使用。 l RTSP_STATUS_PLAYING 视频正在播放。在播放时这个消息大约 20 秒收到一次 l RTSP_STATUS_ANNOUNCERTSP 服务器发出的消息。 这类消息中 只有 END_OF_STREAM(见事件代码 8)不是错误消息。 l RTSP_STATUS_END_OF_STREAM 当前媒体资源文件播放结束。 l RTSP_STATUS_NOT_FOUND 服务器上找不到指定的资源文件。 l STATUS_NO_VIDEO 被请求的服务器不存在或者资源文件不存 在。 l IGMP_STATUS_END_OF_STREAMIGMP 流到达了结尾,或者丢 失了 IGMP 连接。 l RTSP_CONNECT_STOPPED 服务器关闭了 RTSP 连接。

165

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

l RTSP_STATUS_AUTHENTICATE 请求的媒体资源需要认证, 并且认 证信息没有传递到播放器,所以不能播放。 l RTSP_STATUS_REDIRECTED 请求被重定向。 需要进一步的动作才 能完成请求,例如需要访问另一台服务器。 l IGMP_STATUS_PLAYINGIGMP 流在播放当中。 l UDP_STATUS_END_OF_STREAMUDP 流播放结束。 l 17?UDP_STATUS_PLAYINGUDP 流正在播放。 l MP3S_STATUS_END_OF_STREAMMP3 流播放结束。 l AUD_DESCRIP_READY 这个回调表示当前资源文件的描述信息 已经成功读取。 l RTSP_STATUS_START_OF_STREAMRTSP 流开始。 l MP3S_STATUS_START_OF_STREAMMP3 流开始播放。 l RTSP_STATUS_ANNOUNCE_PARTIAL 返回一个部分资源文件播 放 完 毕 的 通 知 事 件 , 发 生 在 收 到 服 务 器 的 END?OF?STREAMANNOUCNE 消息时。在这种情况下是可能继 续播放媒体流的,并不是停止播放。 l STATUS_PMT_CHANGED 接收到的传送流 PMT 信息改变。 l PVRS_STATUS_PLAYING 正在播放的是 PVR 片段。 l PVRS_STATUS_END_OF_STREAM 当前 PVR 片段播放结束。 l RTSP_STATUS_SET_PARAMETER SET_PARAMETER 消息。 l RTSP_STATUS_INVALID_RANGE 收到服务器 457InvalidRange 收 到 服 务 器 发 出 的

166

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

的消息回应。该消息不同于 RTSP_STATUS_END_OF_STREAM 和 RTSP_STATUS_START_OF_STREAM , 这 两 个 事 件 由 RTSP 的 Announce 信令产生,服务器端会终止流的发送。而 457 的应答 虽然表示客户端指定了错误的范围, 但服务端不会终止流的发送。

D.2.7 用户通过“频道”键进入频道播放过程示例 本过程仅作为机顶盒浏览器处理频道播放、miniEPG 功能的一种 参考实现例子,用于指导机顶盒、EPG 实现相应功能,具体过程和 消息不作为强制要求。

D.2.7.1 浏览器控制交互逻辑方式

167

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

MediaPlayer 对象

浏览器 a).用户选择“频道”键

EPG 服务系统

b).请求频道页面:HTTP Request d).执行业务逻辑:joinChannel c).返回 mini EPG: HTTP Response

e).展示 mini EPG 页 f).用户选择频道+/-,或数字 g).执行业务逻辑:joinChannel h).请求 mini EPG:HTTP Request i).返回 mini EPG:HTTP Response j).展示 mini EPG 页面

k).用户选择返回 EPG l).执行业务逻辑 leaveChannel m).请求 EPG 页面:HTTP 请求 n).返回 EPG 页面:HTTP 响应
图 D-2-7-1 用户通过“频道”键进入频道播放过程示例 1

步骤: a). 用户在 EPG 界面中按“频道”键; b). 机顶盒浏览器向 EPG 服务系统请求“频道”键对应的页面; c). EPG 服务系统向浏览器返回频道页面,其中包含了 miniEPG 所对应的业务逻辑; d). miniEPG 页 面 的 业 务 逻 辑 调 用 MeidaPlayer 对 象 的

168

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

joinChannel 函数,要求加入最近一次播放的频道, 如果是机 顶盒首次使用,则可以使用频道列表的第一个频道(该步骤可 作为可选性支持,即可以暂时不调用加入频道函数,保留原页 面,或使用等待用户输入数字键进入频道的页面) ; e). 机顶盒进入频道,如第 4 步未进行,则本步骤省略; f). 用户按频道+/-或数字键请求切换频道; g). MiniEPG 页面解析业务逻辑,调用 MeidaPlayer 对象的 joinChannel 函数,进行频道切换; h). 机顶盒浏览器根据业务逻辑,重新请求节目信息的 miniEPG 页面; i). EPG 服务系统返回新的节目信息的 miniEPG 页面; j). 浏览器显示切换后的频道的 miniEPG 信息; k). 用户按“Menu”或“返回”键选择返回 EPG 页面; l). MiniEPG 页 面 解 析 业 务 逻 辑 , 调 用 MeidaPlaye 对 象 的 leaveChannel(),离开当前频道; m). 浏览器向 EPG 服务系统请求返回页面;

n). EPG 服务系统返回相应页面,流程结束。

D.2.7.2 机顶盒控制交互逻辑方式

169

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

机顶盒 a).用户选择“频道”键 b).机顶盒加入频道, 通过 Event 通知浏览器

浏览器

EPG 服务系统

c).请求频道页面:HTTP Request d).返回 mini EPG: HTTP Response e).展示 mini EPG 页

f).用户选择频道+/-,或数字 g).机顶盒加入频道,通过 Event 通知浏览器 h).请求 mini EPG:HTTP Request i).返回 mini EPG:HTTP Response j).展示 mini EPG 页面

k).用户选择返回 EPG l).要求切换页面 m).请求 EPG 页面:HTTP 请求 n).返回 EPG 页面:HTTP 响应

图 D-2-7-2 用户通过“频道”键进入频道播放过程示例 2

步骤: a). 用户按“频道”键; b). 终端直接响应“频道”按键,并加入默认频道,并通过虚拟按键 向 EPG 抛出“EVENT_GO_CHANNEL”事件; c). EPG 页面逻辑处理事件,要求机顶盒浏览器向 EPG 服务系统 请求“频道”键对应的页面;

170

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

d). EPG 服务系统向浏览器返回频道页面,其中包含了 miniEPG 所对应的业务逻辑; e). 机顶盒浏览器展示页面; f). 用户按频道+/-或数字键请求切换频道; g). 终端直接响应按键, 并加入对应频道, 并通过虚拟按键向 EPG 抛出“EVENT_GO_CHANNEL”事件; h). EPG 页面逻辑处理事件,要求机顶盒浏览器重新请求节目信 息的 miniEPG 页面; i). EPG 服务系统返回新的节目信息的 miniEPG 页面; j). 浏览器显示切换后的频道的 miniEPG 信息; k). 用户按“Menu”或“返回”键选择返回 EPG 页面; l). 终端退出频道,并要求浏览器请求对应 EPG 页面; m). 浏览器向 EPG 服务系统请求返回页面;

n). EPG 服务系统返回相应页面,流程结束。

D.3 Navigation 对象 浏览器提供了缺省的浏览方式:使用方向键移动焦点到可交互的 页面元素,使用确认键激活页面元素。Navigation 对象提供了扩展 的浏览方式: 屏蔽浏览器缺省的浏览方式, 页面逻辑使用 Navigation 对象直接操纵焦点移动和激活的过程。 Navigation 对象屏蔽浏览器缺省浏览方式的效果,只在创建 Navigation 对象的页面内有效,当离开这张页面后,浏览器恢复到
171

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

缺省的浏览方式。

D.3.1 Navigation 对象的属性 待定。 D.3.2 Navigation 对象的方法
表 D-3-2-1Navigation 对象的方法 方法 参数 返回值 注释 关闭缺省的浏览方式。浏 览器通过 onkeypress 事 disableDefaultNavigation() 件, 将方向键传递给页面, 由页面决定如何移动焦 点。 恢复缺省的浏览方式。浏 enableDefaultNavigation() 览器根据方向键,决定如 何移动焦点。 关闭浏览器缺省的高亮方 disableHighlight() 式。 恢复浏览器缺省的高亮方 enableHighlight() Elem 可 (可选) 焦点移动到指定的可交互 页面元素 式 element:DOM 对 象, 这个对象必须是 focusElement(elem) 点,返回 浏览器支持的可交 0,否则返 互页面元素。 回 1。 返回一个 getCurrentElement() DOM 对 (可选) 获取当前获得焦点的页面

以接受焦

172

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn



元素。

D.4 Utility 对象 Utility 对象用于封装需浏览器整体支持、执行的属性和方法。 D.4.1Utility 对象的方法:
表 D-4-1-1Utility 对象的方法 方法 参数 0-100 之间的整 浏览器窗口(针对所 数值,0 表示不透 setBrowserWindowAlpha(alpha) 有页面)的透明度, 明,100 表示完全 设置之后立即生效 透明。 字符串 封 getEvent() N/A event 装 获得虚拟按键事件的 对 详细信息 象的 JSON 字符串 启动本地配置界面, startLocalCfg() 用于进行网络、 帐户、 密码等内容的配置。 返回值 注释

D.5 Event 对象 机顶盒在产生内部事件时, 使用虚拟按键的方式传递该事件消息, 同 时 产 生 这 个 事 件 的 详 细 信 息 。 页 面 Javascript 逻 辑 可 通 过 Utiliy.getEvent()方法获取。

173

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

D.5.1 Event 对象的结构: Event 对象的具体结构如下:
表 D-5-1-1Event 对象的结构 属性名 type instance_id 其他字段 属性类型 String Int 是否必选 Y Y Event 事件类型 机顶盒本地的播放器实例 ID 不同 Event 事件定义不同 注释

D.5.2 Event 类型
表 D-5-2-1Event 类型 事件类型(EVENT_TYPE) 注释 当按下 CH+,CH-、数字键、页面链接等,机顶盒将打开下 一个频道时触发 当媒体播放器中的媒体播放到末端时触发 当媒体播放器中的媒体播放到起始端时触发 当媒体播放器,发生异常时触发 当媒体播放器的 playbackmode 发生改变的时候触发 当机顶盒定时提醒时触发, 当增值业务客户端产生下载、启动、退出、出错等状态发 EVENT_JVM_CLIENT 生时触发

EVENT_GO_CHANNEL EVENT_MEDIA_END EVENT_MEDIA_BEGINING EVENT_MEDIA_ERROR EVENT_PLAYMODE_CHANGE EVENT_REMINDER

D.5.3 Event 消息 a). EVENT_GO_CHANNEL 事件的定义
表 D-5-3-1EVENT_GO_CHANNEL 事件 属性名 属性类型 是否必选 注释
174

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

对 type instance_id channel_co de channel_nu m String Int String Y Y Y









Type





为:”EVENT_GO_CHANNEL” 机顶盒本地的播放器实例 ID 频道的统一标识

频道号 Int N

b). EVENT_MEDIA_END 事件的定义
表 D-5-3-2EVENT_MEDIA_END 事件 属性名 type instance_id media_code entry_id 属性类型 String Int String String 是否必选 对 Y Y N N 于 此 事 注释 件 Type 的 值

为:”EVENT_MEDIA_END” 机顶盒本地的播放器实例 ID 播放到末端的媒体的统一标识 播放到末端的媒体,在播放列表中的唯一标 识

c). EVENT_MEDIA_BEGINING 事件的定义
表 D-5-3-3EVENT_MEDIA_BEGINING 事件 属性名 type instance_id media_cod e entry_id 属性类型 String Int String String 是否必选 对 Y Y N N 于 此 事 注释 件 Type 的 值

为:”EVENT_MEDIA_BEGINING” 机顶盒本地的播放器实例 ID 播放到起始端的媒体的统一标识 播放到起始端的媒体, 在播放列表中的唯一标识

175

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

d). EVENT_MEDIA_ERROR 事件的定义
表 D-5-3-4EVENT_MEDIA_ERROR 事件 属性名 type instance_id error_code error_messag e media_code 属性类型 String Int Int String String 是否必选 对 Y Y Y N N 于 此 事 注释 件 Type 的 值

为:”EVENT_MEDIA_ERROR” 机顶盒本地的播放器实例 ID 错误代码 错误详细信息 发生错误的媒体的统一标识

e). EVENT_PLAYMODE_CHANGE 事件的定义
表 D-5-3-5EVENT_PLAYMODE_CHANGE 事件 属性名 属性类型 是否必选 对 type instance_id new_play_mod e new_play_rate old_play_mod e old_play_rate String Int Int Y Y Y 于 此 事 注释 件 Type 的 值

为:”EVENT_PLAYMODE_CHANGE” 机顶盒本地的播放器实例 ID 播放模式变化后的播放状态。参考:表 D-5-3-6 播放状态(PLAY_MODE)的定义 当播放模式为 TRICK_MODE 时, 必须提供 播放速率的信息 播放模式变化前的播放状态。参考:表

Num

N

Int

Y

D-5-3-6 播放状态(PLAY_MODE)的定义 当播放模式为 TRICK_MODE 时, 必须提供 播放速率的信息

Num

N

f). EVENT_PLAYMODE_CHANGE 事件的定义
表 D-5-3-6 PLAY_MODE 播放状态
176

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

播放状态值 1 2 3 4 5

PLAYMODE PAUSE NORMAL_PLAY TRICK_MODE MULTICAST_CHANNEL_PLAY UNICAST_CHANEL_PLAY 暂停状态

注释

正常播放状态 正常播放之外,以指定播放速率快 进,快退,慢进,慢退 组播频道直播状态 单播频道直播状态

f.1).

播放速率(PLAY_RATE)的定义

以数值来表示播放的速率。其中整数表示正向播放,负数表示反 向播放。示例如下:
表 D-5-3-7PLAY_RATE 播放速率 播放速率值 32 16 8 4 2 1 0 -2 -4 -8 -16 -32 注释 32 倍速快进 16 倍速快进 8 倍速快进 4 倍速率快进 2 倍速率快进 1 倍速正常播放 暂停状态 2 倍速快退 4 倍速快退 8 倍速快退 16 倍速快退 32 倍速快退

g). EVENT_REMINDER 事件的定义
177

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

表 D-5-3-8EVENT_REMINDER 事件 属性名 type message 属性类型 String String 是否必选 Y Y 注释 对 于 此 事 件 为:”EVENT_REMINDER” 定时提醒的消息 Type 的 值

h). EVENT_JVM_CLIENT 事件的定义
表 D-5-3-9EVENT_JVM_CLIENT 事件 属性名 type event_code event_result event_message 属性类型 String Int Int String 是否必选 对 Y Y Y N 于 此 事 注释 件 Type 的 值

为:”EVENT_JVM_CLIENT” 事件代码 事件操作结果 事件详细信息

h.1). 事件类型(event_code)的定义
表 D-5-3-10event_code 事件类型 事件状态值 0 1 2 3 4 5 其他 event_code DOWNLOAD_START DOWNLOAD_END PLAY_START PLAY_END DOWNLOAD_ERROR PLAY_ERROR 开始下载 下载结束 开始运行 退出应用 下载错误 运行错误 待定 注释

h.2). 事件操作结果(event_result)的定义
178

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

表 D-5-3-11event_result 事件操作结果 事件结果值 0 1 其他 event_result SUCCESS FAIL 注释 成功 失败 待定

D.5.4 EVENT 详细信息的封装方式 采用 JSON 格式来封装 EVENT 详细信息。示例如下:
表 D-5-4-1EVENT 详细信息 属性名 type instance_id media_code entry_id 属性类型 String Int String String 是否必选 Y Y N N 属性值 ”EVENT_MEDIA_END” 1 ”vod/2102” “12”

封装为如下 JSON 格式的字符串: {type:”EVENT_MEDIA_END”,instance_id:1,media_code:”vo d/2102”,entry_id:”12”}

D.5.5 EVENT 时序图 D.5.5.1 点播 EVENT 时序图

179

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

图 D-5-5-1-1 点播 EVENT 时序图

时序图中各状态切换情况如下: a). 开始播放: {type:”EVENT_MEDIA_BEGINING”,instance_id:1,media_code :”vod/2102”,entry_id:”12”}; b). 正常播放→→→暂停: {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:1,new_play_rate:0,old_play_mode:2,old_play_rate:1}; c). 正常播放←←←暂停: {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:2,new_play_rate:1,old_play_mode:1,old_play_rate:0}; d). 正常播放→→→快进: {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla
180

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

y_mode:3,new_play_rate:2,old_play_mode:2,old_play_rate:1} e). 正常播放←←←快进: {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:2,new_play_rate:1,old_play_mode:3,old_play_rate:2} f). 正常播放→→→快退: {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:3,new_play_rate:-2,old_play_mode:2,old_play_rate:1} g). 正常播放←←←快退: {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:2,new_play_rate:1,old_play_mode:3,old_play_rate:-2} h). 正常播放→→→停止/文件尾: {type:”EVENT_MEDIA_END”,instance_id:1,media_code:”vod/2 102”,entry_id:”12”} i). 正常播放→→→开始: {type:”EVENT_MEDIA_BEGINING”,instance_id:1,media_code :”vod/2102”,entry_id:”12”} j). 暂停→→→快进: {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:3,new_play_rate:2,old_play_mode:1,old_play_rate:0} k). 暂停←←←快进: {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:1,new_play_rate:0,old_play_mode:3,old_play_rate:2}

181

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

l). 暂停→→→快退: {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:3,new_play_rate:-2,old_play_mode:1,old_play_rate:0} m). 暂停←←←快进: {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:1,new_play_rate:0,old_play_mode:3,old_play_rate:-2} n). 暂停→→→停止: {type:”EVENT_MEDIA_END”,instance_id:1,media_code:”vod/2 102”,entry_id:”12”} o). 暂停→→→文件头: 1. {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new _play_mode:2,new_play_rate:1,old_play_mode:1,old_play_ra te:0} 2. {type:”EVENT_MEDIA_BEGINING”,instance_id:1,media_c ode:”vod/2102”,entry_id:”12”} p). 快进→→→快退: {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:3,new_play_rate:-2,old_play_mode:3,old_play_rate:2} q). 快进←←←快退: {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:3,new_play_rate:2,old_play_mode:3,old_play_rate:-2} r). 快进→→→停止/文件尾:

182

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

{type:”EVENT_MEDIA_END”,instance_id:1,media_code:”vod/2 102”,entry_id:”12”} s). 快进→→→文件头: 1. {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new _play_mode:2,new_play_rate:1,old_play_mode:3,old_play_ra te:2} 2. {type:”EVENT_MEDIA_BEGINING”,instance_id:1,media_c ode:”vod/2102”,entry_id:”12”} t). 快退→→→停止/文件尾: {type:”EVENT_MEDIA_END”,instance_id:1,media_code:”vod/2 102”,entry_id:”12”} u). 快退→→→文件头: 1. {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new _play_mode:2,new_play_rate:1,old_play_mode:3,old_play_ra te:-2} 2. {type:”EVENT_MEDIA_BEGINING”,instance_id:1,media_c ode:”vod/2102”,entry_id:”12”}

D.5.5.2 直播 EVENT 时序图

183

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

图 D-5-5-2-1 直播(以组播为例)EVENT 时序图

时序图中各状态切换情况如下(以组播为例) : a). 加入频道: {type:”EVENT_GO_CHANNEL”,instance_id:1,channel_code:”4 33”, channel_num:1}; b). 直播→→→暂停(TRICK MODE) : {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:1,new_play_rate:0,old_play_mode:4,old_play_rate:1} c). 直播→→→快退(TRICK MODE) : {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:3,new_play_rate:-2,old_play_mode:4,old_play_rate:1} d). 直播→→→录制左边界(TRICK MODE) : {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:2,new_play_rate:1,old_play_mode:4,old_play_rate:1}

( 【注】 以下描述的状态切换均为 TRICK MODE 状态下的切换, TRICK

184

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

MODE 状态下的暂停、快进/快退等不涉及到加入/退出组播的操作请

参考“D.5.5.1 点播 EVENT 时序图”中的定义。 )
e). 正常播放(TRICK MODE)→→→LeaveChannel: {type:”EVENT_MEDIA_END”,instance_id:1} f). 正常播放(TRICK MODE)→→→一键追直播(JoinChannel) : {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:4,new_play_rate:1,old_play_mode:2,old_play_rate:1}

【注】无论是否关闭 RTSP 时移连接,均不发送
EVENT_MEDIA_END 消息 g). 暂停(TRICK MODE)→→→LeaveChannel: {type:”EVENT_MEDIA_END”,instance_id:1} h). 暂停(TRICK MODE)→→→一键追直播(JoinChannel) : {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:4,new_play_rate:1,old_play_mode:1,old_play_rate:0} i). 快进(TRICK MODE)→→→LeaveChannel: {type:”EVENT_MEDIA_END”,instance_id:1} j). 快进(TRICK MODE)→→→一键追直播(JoinChannel) : {type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:4,new_play_rate:1,old_play_mode:3,old_play_rate:2} k). 快退(TRICK MODE)→→→LeaveChannel: {type:”EVENT_MEDIA_END”,instance_id:1} l). 快退(TRICK MODE)→→→一键追直播(JoinChannel) :

185

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

{type:”EVENT_PLAYMODE_CHANGE”,instance_id:1,new_pla y_mode:4,new_play_rate:1,old_play_mode:3,old_play_rate:-2} m). 直播状态→→→LeaveChannel: {type:”EVENT_MEDIA_END”,instance_id:1}

D.5.5.3 音乐播放 EVENT 时序图

图 5-5-3-1 音乐播放 EVENT 时序图

时序图中各状态切换情况如下: a). 开始播放: {type:”EVENT_MEDIA_BEGINING”,instance_id:1,media_code :”Music/MP3_001”,entry_id:”33”}; b). 正常播放→→→停止/文件尾: {type:”EVENT_MEDIA_END”,instance_id:1,media_code:”Musi c/MP3_001”,entry_id:”33”}

附录 E:规范版本修订记录
序号 操作 章节 说明 新增认证流程中的异常处理,用于支持应急方案。 机顶盒开机认证与 IPTV3A 只有一次交互,即,在 修订 人 沈昕 修订日期

1

新增

6.4 异常处理

2009-5-11

186

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

应急状态下,3A 不生成 EncryToken,直接生成 UserToken,重定向到厂商 EPG 平台。 这一点在《IPTV 业务管理平台技术规范》中有说 明 2 3 4 5 6 7 8 9 新增 新增 新增 新增 新增 新增 修改 修改 D.2 MediaPlayer 新增对于多个 MediaPlayer 支持的说明 对象 D.2.2 MediaPlayer 新增对于 PlayList 相关方法的要求 的方法 D.2.3 媒体相关参数 的描述 D.2.3 媒体相关参数 的描述 D.1.4 启动认证功能 D.5.5 EVENT 时序图 D.2.2 MediaPlayer 的方法 D.2.2 MediaPlayer 的方法 13 机顶盒与终端管 理系统接口(S6 接 口) 6.3.2 频道列表获取 全文 9.2.2.8 GET_PARAMETER 新增对于 startTime、endTime 的说明以及其后 的备注用于支持文广新要求的逻辑分段播放 新增对于 timeShiftURL、timeShift 用于支持 WebChannel 中相关要求 新增 Authentication.Login 方法用于支持机顶盒 的重新认证,用于应急流程 新增此节用于详细描述机顶盒在播放过程中 EVENT 对象的抛送情况 添加对于 joinChannel 及 leaveChannel 的进一 步说明 添加对于 stop 方法的进一步说明; 沈昕 沈昕 沈昕 沈昕 沈昕 沈昕 沈昕 沈昕 2009-5-11 2009-5-11 2009-5-11 2009-5-11 2009-5-11 2009-5-11 2009-5-11 2009-5-11

10 11 12 13

删除 修改 修改 修改

更新为待定 修改对于 ChannelType 的说明 对于全文格式进行了修正 GET_PARAMETER 命令返回值中应该添加 x_Timeshift_Current 字段,用于机顶盒获取当前 播放时间

沈昕 沈昕 沈昕 沈昕

2009-5-11 2009-5-11 2009-5-11 2009-5-11

14

修改

D.2.2 MediaPlayer MediaPlayer 的 setCycleFlag 的默认值需更改 的方法 为 1:不循环播放

沈昕

2009-5-11

15

修改

setAllowTrickmodeFlag(allowTrickmodeFlag) 方法,当 allowTrickmodeFlag 为 0 时,允许 trickmode 操作, 1 时不允许 trickmode 操作, 为 另外针对标准 D.2.3 媒体相关参数的描述中: D.2.2 MediaPlayer allowTrickmode 参数: 0 时不允许 Trickmode 为 沈昕 的方法 操作,为 1 时允许 Trickmode 操作,描述与上述 相反。 修 改 要 求 : 与 setAllowTrickmodeFlag(allowTrickmodeFlag) 描述方法一致 9.2.2.2 SETUP D 5.4 EVENT 详细信 在对于 DESCRIBE 响应 SDP 信息中的 a:range 字 段的说明以及其他命令中 Range 字段的说明中, 应该明确【UTC 时间 1】<【UTC 时间 2】 EVENT 对象最后的说明 Sample 存在 Bug, 沈昕 沈昕

2009-5-11

16 17

修改 修改

2009-5-11 2009-5-11

187

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn

息的封装方法

Attribute 字段不应该有引号

18

修改

MediaPlayer 的 getPlayBackMode 的返回值为 D.2.2 MediaPlayer 一个 JSON 对象,但 Speed 属性应该为一个 的方法 string , 即 正 确 的 为 {Mode:”TrickMode”,Speed:”2x”} 6.3.2 频道列表获取 在 ChannelLogoURL 中添加说明, 要求机顶盒在 做频道 Logo 显示时采用 OSD 的方式

沈昕

2009-5-11

19

新增

沈昕

2009-5-21

188

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn


相关文章:
IPTV标准制定工作中存在的问题
地区的电信运营商都不同程度的部署了 IPTV 业务,由于他 们各自采用的技术和...“IPTV 平台总体架构”“IPTV 机顶盒技术规范”“机顶盒与 IPTV 平台接口规范”...
中国网通IPTV业务管理系统与支撑系统接口技术规范v1.0_...
中国网通IPTV业务运营平台... 57页 免费 中国网通IPTV+STB技术规范... 25页 ...《机顶盒与 IPTV 业务平台接口规范》 CCSA《组播业务系统控制逻辑接口规范(征求...
IPTV技术架构业务模式及运营情况
机顶盒与IPTV业务运营平... 189页 1下载券 建立新...2004 年下半年,IPTV 这个概念在中国的广电和电信...为了规范和指导各厂商 IPTV 产品,保证大规模商用...
电信IPTV机顶盒连接和设置教程
电信IPTV机顶盒连接和设置教程_互联网_IT/计算机_专业资料。高清 iTV 机顶盒和...线音频线(红、白)分别连接机顶盒和电视机分量视频输入接 口对应音频接口。...
中国电信IPTV CDN技术规范
中国电信IPTV CDN技术规范_信息与通信_工程科技_专业资料。中国电信IPTV CDN技术...机顶盒设备技术规范 V2.0》 (2) 《机顶盒与 IPTV 业务运营平台接口技术规范 V...
IPTV终端及机顶盒技术
中国电信IPTV终端技术规范... 48页 5财富值 IPTV机顶盒...看好电视机+机顶盒方式,将成为 IPTV 业务终端的主流...其结果将造成业务运营商在设备选型和成本控制上的 ...
STB功能规范IPTV
IPTV机顶盒技术规范V2.2... 40页 1下载券 机顶盒与IPTV平台接口技... 40页...或通过 软件升级、附加外设等方式与网络侧设备配合,能够使用运营商提供的新业务...
中国电信IPTV安装指导手册_图文
中国电信IPTV安装指导手册_计算机软件及应用_IT/计算机_专业资料。中国电信 IPTV ...“高级设置”中,设置机顶盒的接入方式、网络信 息、更新服务器地址、IPTV 业务...
中国电信动漫产品平台接口规范
中国电信无线M2M业务技术规... 36页 免费 中国电信IPTV规范:机顶盒... 188页 免费 中国电信综合业务管理平台... 16页 免费 中国电信IPTV业务管理平台... 39页...
中国网通IPTV基本业务流程规范(Version1.0)
应用服务系统技术规范 V1.0》 《中国网通 IPTV 机顶盒与业务平台接口规范 V1....中国网通IPTV业务运营平... 57页 免费 IP STB 功能规范3.4(终稿... 20页...
更多相关标签: