Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR PROCESSING VIDEO STREAM, DEVICE, AND SYSTEM
Document Type and Number:
WIPO Patent Application WO/2017/084467
Kind Code:
A1
Abstract:
Disclosed in the embodiments of the present application are a method, a device and a system for processing a video stream. The embodiments of the present application comprises: after receiving a video playback request carrying a video stream identifier, acquiring, according to the video stream identifier, a video stream from a media server; when it is determined that an abnormality occurs in the acquisition of the video stream, determining whether the number of attempts for acquiring the video stream is below a preset value, and if so, returning to execute the step of acquiring the video stream from the media server, otherwise, if the number of attempts is not below the preset value, reporting an error. The described solution can provide improved stability and fluency when playing back a video.

Inventors:
YING YULONG (CN)
Application Number:
PCT/CN2016/102664
Publication Date:
May 26, 2017
Filing Date:
October 20, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TENCENT TECH SHENZHEN CO LTD (CN)
International Classes:
H04N21/442; H04N21/437
Foreign References:
CN105451071A2016-03-30
CN102333083A2012-01-25
CN103716656A2014-04-09
CN104735473A2015-06-24
US20110302279A12011-12-08
CN103259802A2013-08-21
Attorney, Agent or Firm:
DEQI INTELLECTUAL PROPERTY LAW CORPORATION (CN)
Download PDF:
Claims:
1、 一种视频流的处理方法, 其特征在于, 包括:

接收视频播放请求, 所述视频播放请求携带视频流标识; 根据所述视频流标识从媒体服务器获取视频流;

确定视频流的获取出现异常时, 判断获取视频流的尝试次数是否低 于预设值;

若是, 则返回执行从媒体服务器获取.视频流的步骤;

若否, 则进行报错处理。

1、 根据权利要求 1所述的方法, 其特征在于, 所述根据所述视频流 标识从媒体服务器获取视频流, 包括:

根据所述视频流标识确定视频流的链接地址;

根据所述.链接地址创建视频播放器, 并对所述视频播^^器进行初始 化;

根据所述链接地址, 通过初始化后的视频播放器从媒体服务器获取 视频流;

所述返回执行从媒体服务器获取视频流的步骤, 具体为: 返回执行 根据所述链接地址, 通过初始化后的视频播放器从媒体服务器获取视频 流的步骤。

3、 根据权刮要求 2所述的方法, 其特征在于, 所述对所述 频播放 器进行初始化, 包括:

分别对播放器界面、 播放引擎、 解码器和缓存模块进行初始化。

4、根据权利要求 2所述的方法, 其特征在于, 所述根据所述链接地 址, 通过初始化后的视频播放器从媒体服务器获取视频流, 包括: 根据所述链接地址确定所述.視频流的传输协议类型; 根据所述传输协议类型配置传输参数, 以便所述媒体服务器根据所 述传输参数分配视频流资源, 以及启动实时流传输协议 RTSP会话; 基于所述视频流资源和 RTSP会话从媒体服务器获取视频流。

5、根据权利要求 4所述的方法, 其特征在于, 所述判断获取视频流 的尝试次数是否低于预设值, 若是, 则返回执行从媒体服务器获取视频 流的步驟; 若否, 则进行艮错处理, 包括:

判断传输层网絡协议的尝试次数是否低于预设第一阈值;

若低于第一阈值, 则返回执行基于所述视频流资源和 RTSP会话从 媒体服务器获取视频流的步骤;

若不低于第一阔值, 则判断 RTSP会话的尝试次数是否低于预设第 二阈值,若低于第二阈值, 则释放所述视频流资源, 以及停止所述 RTSP 会话, 并返回执行根据所述传输协议类型配置传输参数的步骤; 若不低 于第二阈值, 则进行报错处理。

6、 根据权利要求 5所述的方法, 其特征在于, 所述进行报错处理, 包括:

釋放所述视频流资源, 以及停止所述 RTSP会话, 并提示播放错误 信息。

7、 一种视频流的处理装置, 其特征在于, 包括:

接收单元, 用于接收视频播放请求, 所述视频播放 _请求携带视频流 标识;

获取单元, 用于根据所述视频流标识从媒体服务器获取视频流; 处理单元, 用于确定视频流的获 $1出现异常时, 判断获取 ¾频流的 尝试次数是否低于预设值; 若是, 则触发获取单元执行从媒.体服务器获 取视频流的操作; 若否, 则进-行报错处理。

8、根据权利要求 7所述的装置, 其特征在于, 所述获取单元包括确 定子单元、 创建子单元和获取子单元;

所述确定子单元,用于根据所述视频流标识确定视频流的链接地址; 创建子单元, 用于根椐所述链接地址创建视频播放器, 并对所述.视 频播放器进行初始化;

获取子单元, 用于根据所述链接地址, 通过初始化后的视频播放器 从媒体服务器获取视频流;

所述处理单元, 具体用于确定视频流的获取出现异常时, 判断获取 视频流的尝试次数是否低于预设值; 若是, 则触发获取子单元执行根据 所述链接地址, 通过初始化后的视频播放器从媒体服务器获取视频流的 操作, 若否, 则进行报错处理。

9、 根据权利要求 8所述的装置, 其特征在于,

所述创建子单元, 具体用于根据所述链接地址创建视频播放器, 并 分别对播放器界面、 播放引擎、 解码器和缓^ "模块进行初始化。

10、 根据权利要求 8所述的装置, 其特征在于, 所述获取子单元, 具体用于:

根据所述链接地址确定所述視频流的传输协议类型;

根据所述.传输协议类型配置传输参数, 以便所述媒体服务器根据所 述传输参数分配视频流资源, 以及启动实时流传输协议 RTSP会话; 基于所述视频流资源和 RTSP会话从媒体服务器获取视频流。

11、 根据权利要求 10所述的装置, 其特征在于, 所述处理单元, 具 体用于:

判断传输层网絡协议的尝试次数是否低于预设第一阈值;

若低于第一闹值, 则返回触发获取子单元执行基于所述视频流资源 和 RTSP会话从媒体服务器获取视频流的操作;

若不低于第一阈值, 则判断 RTSP会话的尝试次数是否低于预设第 二阈值,若低于第二阈值, 则释放所述.视频流资源, 以及.停止所述 RTSP 会话, 并触发获取子单元执行根据所述传输协议类型配置传输参数的操 作; 若不低于第二阈值, 则进行报错处理。

12、 根据权利要求 11所述的方法, 其特征在于,

所述处理单元, 具体用于在确定判断 KTSP会话的尝试次数不低于 预设第二阈值时, 释放所述.視频流资源, 以及停止所述 RTSP会话, 并 提示播放错误信息。

13 , 一种视频流的处理系统, 其特征在于, 包括媒体服务器和权利 要求 7至 12任一项所述的視频流的处理装置;

所述媒体服务器, 用于向视频流的处理装置提供视频流。

Description:
本申请涉及通

统。

目前, 用户使用移动客户端观看直播视频, 都是基于流媒体

( Streaming Media )协议来实现的。 所谓流媒体是指采用流式传输的方 式实现在线播放的媒体格式。 具体实现时, 视频网站运营商可以通过视 频传送服务器把节目封装为数椐包发出, 并传送到网络上, 当用户需要 观看该视频时, 便可以通过.解压客户端对这些数据进:行解压 播放。 目 前比较常见的流媒体协议主要有基于超文本传 送协议的实时流传输

( HLS, HTTP Live Streaming )协议和实时流传输协议 ( RTSP , Real Time Streaming Protocol )等。 其中, RTSP是―种较通用的实时流媒体协议, 能够实现视频的直播功能, 需要有专门的媒体播放器(media player )和

本申请实施例提供一种视频流的处理方法、 装置和系统, 可以提供 提高播放视频时的稳定性和流畅性。

本申请实施例提供一种视频流的处理方法, 包括:

接收视频播放请求, 所述视频播放请求携带视频流标识; 根据所述视频流标识从媒体服务器获取视频流 ;

确定视频流的获取出现异常时, 判断获取视频流的尝试次数是否低 于预 i殳值;

若是, 则返回执行从媒.体服务器获取视频流的步骤;

流 标 -ΐί

获取单元, 用于根据所述视频流标识从媒体服务器获取視 频流; 处理单元, 用于确定视频流的获取出现异常时, 判断获取视频流的 尝试次数是否低于预设值; 若是, 则触发获取单元执行从媒.体服务器获 取视频流的操作; 若否, 则进-行报错处理。

此外, 本申请实施例还提.供一种视频流的处理系统 包括媒体服务 器和本申请实施例提供的任一种视频流的处理 装置;

所述媒体服务器, 用于向视频流的处理装置提供视频流。

本申请实施例采用在接收到携带視频流标识的 视频播放请求后, 根 据该视频流标识从媒体服务器获取视频流, 在确定视频流的获取出现异 常时, 判断获取视频流的尝试次数是否低于预设值, 若是, 则返回执行 从媒体服务器获取视频流的步骤, 否则, 若不低于预设值, 才进行报错 处理; 由于该方案在视频流出现异常时,可以提供相 应的异常尝试操作, 最大程度保障视频可以继续播放下去, 因此, 相对现有技术在遇到异常 时则直接报.错的方案而言, 可以提供提高播放视频时的稳定性和流畅 性。 附图简要说明

以下酎图仅为本申请技术方案的一些例子, 本申请并不局限于图中 示出的特征。 以下酎图中, 相似的标号表示相^ 图 la是本申请实施例提供的视频流的处理系统的 景示意图; 图 lb是本申请实施例提供的视频流的处理方法的 程图;

图 2是本申请实施例提供的视频流的处理方法的 一流程图; 图 3是本申请实施例提.供的视频流的处理装置的 意图;

图 4是本申请实施例提供的视频流的处理装置的 意图。 实施.本申 -清的方式

为了描述上的简洁和直观, 下文通过描述若千代表性的实施例来对 本申请的方案进行阐述。 但本文并未示出所有实施方式。 实施例中大量 的细节仅用于帮助理解本申请的方案, 本申请的技术方案实现时可以不 局限于这些细节。 为了避免不必要地模糊了本申请的方案, 一些实施方 式没有进行细致地描述, 而是仅给出了框架。 下文中, "包括 "是指 "包 括但不限于", "根据… ... "是指 "至少根据 ...…,但不限于仅根据… ... "。 说明书和权利要求书中的 "包括" 是指某种程度上至少包括, 应当解释 为除了包括之后提到的特征外, 其它特征也可以存在。 下文中没有特别 指出一个成分的数量时, 意味着该成分可以是一个也可以是多个, 或可 理解为至少一个。

本申请实施例提供一种视频流的处理方法、 装置和系统。

参见图 l a, 该视频流的处理系统可以包括本申请实施例所 提供的任 一种 ¾L频流的处理装置,该 频流的处理装置可以集成在终端中,此外, 该视频流的处理系统还可以包括媒体服务器, 用于向终端提供视频流。

当用户需要观看视频时, 可以通过点击或选择播放触发键来触发视 频播放请求。 其中, 该视频播放请求携带视频流标识, 当终端接收到该 视频播放请求后, 便可以根据该视频流标识从媒体服务器获取视 频流。 比如, 根.据该视频流标识向媒体服务器发送视频流 下载请求, 然后接 收收媒媒体体服服务务器器根根据据该该下下 载载请请求求返返回回的的视视频频流流,, 等等等等。。 然然后后,, 便便可可以以在在终终 端端本本地地播播放放该该视视频频流流。。

在在播播放放 RRTTSSPP视视频频过过程程中中,, 经经常常会会遇遇到到由由于于网网络络不不 稳稳定定或或者者媒媒体体服服 务务器器不不稳稳定定,, 而而导导致致偶偶尔尔无无法法正正常常下下 载载视视频频流流的的情情况况。。 根根据据本本申申请请各各实实

55 施施例例,, 若若终终端端确确定定视视频频流流出出现现 了了异异常常,, 则则可可以以启启动动异异常常尝尝试试流流 程程,, 比比如如 判判断断获获取取视视频频流流的的尝尝试试 次次数数是是否否低低于于预预设设值值。。 若若是是,, 则则返返回回执执行行从从媒媒体体 服服务务器器获获取取視視频频流流的的步步 骤骤。。 否否则则,, 若若尝尝试试的的次次数数已已超超过过预预 设设值值,, 比比如如 33 次次,, 则则进进行行报报错错处处理理,, 比比如如释释放放所所述述视视频频流流资资 源源,, 以以及及停停止止所所述述 RRTTSSPP 会会话话,, 并并提提示示播播放放错错误误信信息息,, 等等等等。。 相相比比现现有有方方案案中中的的遇遇到到 异异常常直直接接报报 ttoo 错错的的处处理理方方式式,, 本本申申请请的的技技术术方方案案可可以以 增增加加 RRTTSSPP视视频频的的播播放放稳稳定定性性和 流流畅畅性性。。

本本实实施施例例将将从从视视频频流流的的 处处理理装装置置的的角角度度进进--行行描 述述,, 该该视视频频流流的的处处理理 装装置置具具体体可可以以集集成成在在终终 端端等等设设备备中中。。 该该视视频频流流的的处处理理装装置置,, 可可以以作作为为一一 功功能能模模块块集集成成在在终终端端等等 设设备备中中,, 也也可可以以以以软软体体的的形形式式安安 装装在在终终端端等等设设备备

1155 中中,, 在在此此不不再再赘赘述述。。

一一种种视视频频流流的的处处理理方方法法 ,, 包包括括:: 接接收收视视频频播播放放请请求求,, 该该视视频频播播放放请请 求求携携带带视视频频流流标标识识;; 根根据据该该视视频频流流标标识识从从媒媒 体体服服务务器器获获取取视视频频流流;; 确确定定 視視频频流流的的获获取取出出现现异异常常 时时,, 判判断断获获取取视视频频流流的的尝尝试试 次次数数是是否否低低于于预预设设 值值;; 若若是是,, 则则返返回回执执行行从从媒媒体体服服务务 器器获获取取视视频频流流的的步步骤骤;; 若若否否,, 则则进进行行 2200 报报错错处处理理。。

如如图图 llbb所所示示,, 该该視視频频流流的的处处理理方方法法的的 具具体体流流程程可可以以如如下下::

110011、、 接接收收视视频频播播放放请请求求。。

例例如如,, 可可以以接接收收用用户户通通过过点点击击 视视频频播播放放键键或或视视频频链链接接 地地址址所所触触发发的的

2255 其其中中,, 该该视视频频播播放放请请求求可可以以携携 带带视视频频流流标标识识等等信信息息。。 视视频频流流标标识识用用 于识别视频流。 比如, 该视频流标识可以是.视频流的名称、 编号或链接 地址等。

该视频流具体可以为 RTSP视频流或其他格式的直播视频流。

102、 根椐该视频流标识从媒体服务器获取视频流。 例如, 具体可以 如下:

( 1 )根据该视频流标识确定视频流的链接地址。

该链接地址指示该视频流在媒体服务器中的存 储位置。

( 2 )根椐该链接地址创建视频播放器, 并对该视频播放器进行初始 化;

例如, 在根据该链接地址创建视频播放器后, 可以分别对播放器界 面、 播放引擎、 解码器和缓存模块进行初始化, 具体可以如下。

A、 初始化播放器界面

创建播放器界面, 包括活动 (Activity )组件的布局 (Layout ) 的配 置、 菜单如側滑菜单( Sliding Menu ) 的初始化、 底下信息条的初始化、 以及.操作栏(Action bar ) 的初始化, 等等。

B、 初始化播放引擎

播放引擎主要任务是将媒体资源, 即视频流播放的相关功能进行封 装, 编译为动态链接库, 以实现媒体资源的解复用、 解码和输出播放等 功能。 播放引擎还提供播放、 暂停、 快进、 以及快退等控制接口, 提供 解码时延、 音视频格式、 分辨率、 屏幕扫描模式、 码率和帧率等播放信 息, 实现媒体资源播放功能的封装性和重用性。 因此, 此时主要是对播 放引擎的上述任务相关的参数进行设置。 解码器, 即视频解码器, 是指一个能够对数字视频进行压缩或者解 压缩的程序, 这里的初始化指的是对解码器的相关参数进行 配置。 D、 初始化缓存模块

缓存模块, 指以内存 i力 储下载的缓存文件, 一般.应用于缓存

^买取.速度要求快的场景。 在本申请实 施例中, RTSP視频流以片段的 缓存模块中, 都使用内存缓 初始化緩存模块包括创建并初始化缓存模块。

( 3 )根据该链接地址,通过初始化后的视频播放 从媒体服务器获 取视频流。

例如, 可以根据该链接地址确定该视频流的 类型, 根据该 类型配置 ^数(即传输的初始化), 以便该媒体服务器根 据该传输参数分配视频流资源, 以及启动 RTSP会话。 然后, 基于该視 频流资源和 RTSP会话从媒体服务器获取视频流。

其中, 传输协议类型可以包括传输控制协议( TCP , Transmission Control Protocol )和用户数据艮协议 ( UDP, User Datagram Protocol )等。

比如, 以该视频流为 RTSP视频流为例, 若该视频流的链接地址以 "rtsp" 开头, 则可以确定该視频流的传输协议类型为 TCP, 因此, 可 以根据' TCP协议来配置传输参数。 比如,

TCP协议来传输控制信息, 以及传输层应该采用哪种网络协议等。 而若 该视频流的链接地址不是以 "rtsp" 开头, 则可以确定该视频流的传输 协议类型为 UDP, 那么, 可以采用 UDP协议来配置传输参数。 比如在 传输时, 控制层則可以采用 UDP协议来传输控制信息, 以及传输层应 该采用哪种网絡协议,

在配置了传输参数, 传输初始化之后, 媒体服务器便可以根据该传 输参数分配视频流资源, 以及启动 RTSP会话, 进而启动视频流的数据 传¾ ^[ 比如, 此时终端可以基于该视频流资源和 RTSP会话, 向媒体服 务器发送视频流的下载请求, 然后接收媒体服务器返回的视频流。

终端下载到视频流之后,可以由缓存模块将该 視频流缓存在内存中, 以供播放引擎和解码器等进行调用, 并进行播放。

103、确定视频流的获取出现异常时,判断获取 视频流的尝试次数是 否低于预设值。 若尝试次数低于预设值, 则返回执行从媒体服务器获取 视频流的步骤, 比如, 返回执行根据该链接地址, 通过初始化后的视频 播放器从媒.体服务器获取视频流的步骤。 否则, 若尝试次数不低于预设 值, 则执行步骤 104。

例如, 可以通过两个层面来判断该 "获取视频流的尝试次数" 是否 氐于-预设值, 如下:

判断传输层网络协议的尝试次数是否低于预设 第一阈值;

若尝试次数低于第一阈值, 则返回执行基于该视频流资源和 RTSP 会话从媒体服务器获取視频流的步驟(参见步 骤 102中的描述);

若尝试次数不低于第一闹值, 则判断 RTSP会话的尝试次数是否低 于预设第二阈值。 若尝试次数低于第二阈值, 则锋放该视频流资源, 以 及停止该 RTSP会话, 并返回执行根据该传输协议类型配置传输参数 的 步骤(参见步骤 102 中的描述)。 若尝试次数不低于第二阈值, 则执行 步驟 104。

其中, 预设值、 第- 阈值和第二阈值可以根据实际应用的需求进行 设置。 比如, 可以设置第一阈值和第二阈值均为 3次, 或其它值。

其中, 视频流的获取出现异常指的是由于网络不稳定 或者媒体服务 器不稳定, 或者其他的原因而导致无法正常下载视频流的 情况。

104、在确定获取视频流的尝试次数不低于预设 值时,进行报错处理。 比如, 可以锋放该视频流资源, 以及停止该 RTSP会话, 并提示播 放错误信息。 可选的, 在进行报错处理之后, 为了节省资源, 可以释放相应的空 间, 比如, 释放缓存模块。

此外, 若视频流没有出现异常, 则可以继续下载该视频流, 直至用 户退出该视频播放器。在退出视频播放器之后 , 同样可以释放缓存模块、 以及解码器等, 以释放资源。

由上可知 , 本实施例采用在接收到携带视频流标识的视频 播放请求 后, 根据该视频流标识从媒体服务器获取视频流, 在确定视频流的获取 出现异常时, 判断获取视频流的尝试次数是否低于预设值。 若是, 则返 回执行从媒体服务器获取视频流的步骤, 否则, 若不低于预设值, 才进 行报错处理。 该方案在视频流出现异常时, 可以提供相应的异常尝试操 作, 最大程度保障视频可以继续播放下去。 因此, 相对现有技术在遇到 异常时则直接报错的方案而言, 可以提供提高播放视频, 如 KTSP视频 时的稳定性和流畅性, 大大提高用户体验。

在一些实施例中, 将以该视频流的处理装置具体集成在终端中, 且 该视频流具体为 RTSP视频流为例进行说明。

如图 2所示, 一种视频流的处理方法, 可以包括以下步骤。

201、 终端接收用户触发的视频播放请求。

例如, 终端可以接收用户通过点击视频播放键或视频 链接地址所触 发的视频播放请求 , 等等。

其中, 该视频播放请求可以携带 RTSP视频流标识等信息, 该视频 流标识用于识别视频流。 比如, 该视频流标识可以是視频流的名称、 编 号或链接地址等。

202、 终端根据该 RTSP視频流标识确定 RTSP视频流的链接地址。 其中 ,该链接地址指示该 RTSP视频流在媒体服务器中的存储位置, t匕^口 -5 Γ以是统一资源定 ^立.符 ( URL, Uniform Resource Locator ) 等。 203、 终端根据该链接地址创建视频播放器, 并分别对播放器界面、 播放引擎、 解码器和緩存 ^fi块进行初始化, 如下:

( 1 )初始化播放器界面;

创建播放器界面, 包括 Activity 组件的 Layout 的配置、 菜单如 SlidingMenu的初始 4匕、底下信息条的初始 4匕、以.及 Aetionbar的初始 4匕,

( 2 )初始化播放引擎;

播放引擎主要任务是将媒体资源, 即 RTSP视频流播放的相关功能 进行封装, 编译为动态链接库, 以实现媒.体资源的解复用、 解码和输出 播放等功能。 播放引擎还提供播放、 暂停、 快进、 以及快退等控制接口, 提供解码时延、 音视频格式、 分辨率、 屏幕扫描模式、 码率和帧率等播 放信息, 实现媒体资源播放功能的封装性和重用性。 因此, 此时主要是 对播放引擎的上述任务相关的参数进行设置。 比如, 可以从缓存模块的 視频内存缓存中, 读取部分视频流信息, 来初始化视频播放引擎。

( 3 )初始化解码器;

解码器, 即视频解码器, 是指一个能够对数字视频进行压缩或者解 压缩的程序,这里的初始化指的是对解码器的 相关参数进行配置。比如, 可以从緩存模块的视频内存缓存中, 读取部分视频流信息, 来进初始化 解码器。

( 4 )初始化缓存模块;

缓存模块, 指以内存的方式存储下载的缓存文件, 一般.应用于缓存 长度较少、 使用完就会释放、 以及.读取.速度要求快的场景。 在本申请实 施例中, RTSP視频流都是以视频片段的形式从网络下载 并使用内存 緩存的方式进行管理。

204、 终端确定 RTSP视频流的链接地 i , 比如 URL是否以 "rtsp" 开头, 若是, 则根据 TCP协议来配置传输参数, 若否, 则采用 UDP协 议来配置传输参数, 具体可以如下:

终端确定该 RTSP视频流的链.接地址是否以 "rtsp" 开头, 若是, 则 可以确定该 RTSP视频流的传输协议类型为 TCP, 因此, 可以根椐 TCP 协议来配置传输参数。 比如, 在传输时, 控制层可以采用 TCP协议来传 输控制信息, 并采用指定的端口号, 以及与媒体服务器通过控制层传输 控制信息, 以协商传输层(用于播放器与服务器传递控制 流媒体数据) 使用哪一种网絡协议 (如 UDP、 RDP或 TCP等)。 若该 RTSP视频流的 链接地址不是以 "rtsp" 开头, 则可以确定该视频流的传输协议类型为 UDP, 那么, 可以采用 UDP协议来配置传输参数。 比如在传输时, 控 制层则可以采用 UDP协议来传输控制信息, 并采用指定的端口号, 以 及与媒体服务器通过控制层传输控制信息, 以协商传输层(用于播放器 与服务器传递控制流媒体数据 )使用哪一种网络协议。

需说明的是, 若端口号为空或者未指定, 则可以使用 554端口。 其中, 与媒体服务器协商传输层使用哪一种网络协议 的过^ _也可以 称为传输初始 。

205、 媒体服务器根椐该传输参数分配视频流资源, 以及启动 RTSP 会话, 进而启动 RTSP视频流的数椐传输。

206、 终端基于该视频流资源和 RTSP会话从媒体服务器获取 RTSP 视频流, 比如下载 RTSP视频流。

例如, 终端可以基于该视频流资源和 RTSP会话, 向媒体服务器发 送 RTSP视频流的下载请求, 然后接收媒体服务器返回的 RTSP视频流。

比如可以采用步骤 204中所确定的传输层网络协 i义 (如 UDP、 RDP 或 TCP等 )来从媒体服务器中下载 TSP视频流, 并把下载的 TSP视 频流存储在内存中, 以供视频播放引擎和解码器等进行调用, 并进行播 放。

其中, 最多缓存多少 RTSP视频流由终端中的视频播放器与媒体服 务器协商决定。

207、 终端通过视频播放器播放 RTSP视频流。

视频播放器的播放引擎驱动播放 RTSP视频流片段, 比如, 可以从 缓存模块的内存缓存中读取 RTSP视频流数据,并利用解码器进行解码、 渲染、 输出画面和声音。 播放完的内存缓存会被立刻释放掉, 再驱动缓 存继续缓存后面的 RTSP视频流数据。

其中, 播放引擎需要与缓存模块进行通讯, 以协调工作, 才能保证 视频播放器一直正常播放 RTSP视频流。

208、 终端确定 RTSP视频流的获取是否出现异常, 若出现异常, 则 执行步骤 209, 若未出现异常, 则执行步骤 212。

其中, RTSP视频流的获取出现异常指的是由于网络不 定或者媒体 服务器不稳定, 或者其他的原因而导致无法正常下载 RTSP视频流的情 况。

209、 终端确定 RTSP视频流的获取出现异常时, 判断传输层网络协 议的尝试次数是否低于预设第一阈值。 若尝试次数低于第一阈值, 则利 用原传输层网络协议, 尝试重新下载该 RTSP视频流, 即返回执行步驟 206。 若尝试次数不低于第一阈值, 则表示连续尝试了多次 (第一阈值) 还未下载成功, 因此, 执行步驟 210。

其中, 第一阈值可以根据实际应用的需求进行设置, 比如, 可以设 置为 3次, 或其它值。

210、 终端判断 RTSP会话的尝试次数是否低于预设第二阈值。 若尝 试次数低于第二阈值, 则锋放该 KTSP视频流资源, 以及停止该 RTSP 会话, 并尝试重新配置传输参数, 以对视频流进行重新下载, 即返回执 行步骤 204中的配置传输参数的步骤。 若尝试次数不低于第二阈值, 则 表示连续尝试了多次(第二阈值)还未下载成 功, 于是执行步骤 211。

其中, 第二阈值可以根据实际应用的需求进行设置, 比如, 可以设 置为 3次, 或其它值。

211、 终端进 _行报错处理, 比如, 可以释放该视频流资源, 以及停止 该 RTSP会话, 并提示播放错误信息。

可选的, 在进行报错处理之后, 为了节省资源, 可以释放相应的空 间, 比如, 释放缓存.模块, 流程结束。

212、 若 RTSP視频流的获^ I未出现异常, 則终端判断用户是否退出 该视频播放器。 若用户退出该视频播放器, 则释放缓存模块、 以及解码 器等, 以#放资源等, 流程结束。 若用户没有退出该視频播放器, 则继 续下载下一段视频流, 即返回执行步骤 206。

由上可知, 本实施例采用在接收到携带 RTSP视频流标识的视频播 放请求后, 根据该 RTSP視频流标识从媒.体服务器获取 RTSP视频流, 在确定 RTSP 频流的获取.出现异常时, 判断传输层网络协议的尝试次 数是否低于第一阈值。 在尝试次数不低于第一阈值时, 又进一步判断 RTSP会话的尝试次数是否低于预设第二阈值, 从而来确定是否进行相 应的异常尝试操作,在进行了相应的异常尝试 操作后,才进行报错处理。 该方案在视频流出现异常时, 可以提供相应的异常尝试操作, 最大程度 保障视频可以继续播放下去。 因此, 相对现有技术在遇到异常时则直接 报错的方案而言, 可以提供提高播放 RTSP视频时的稳定性和流畅性, 大大提高用户体验。

为了更好地实施以上方法, 本申请实施例还提供一种视频流的处理 装置, 如图 3所示, 该视频流的处理装置可以包括接收单元 301、 获取 单元 302和处理单元 303。 接收单元 301可以接收视频播放请求。

例如, 接收单元 301 , 可以用于接收用户通过点击視频播放键或视 频链接地址所触发的视频播放请求 , 等等。

其中, 该視频播放请求可以携带視频流标识等信息, 该视频流标识 用于识别视频流, 比如, 该视频流标识可以是视频流的名称、 编号或链 接地址等

该视频流具体可以为 RTSP视频流或其他格式的直播视频流。

获取单元 302可以根据该视频流标识从媒体服务器获取视 频流。 处理单元 303可以确定视频流的获取出现异常时, 判断获取视频流 的尝试次数是否低于预设值; 若是, 则触发获取单元 302执行从媒体服 务器获取视频流的操作; 若否, 则进行报错处理。

例如, 处理单元 303可以判断传输层网络" ^议的尝试次数是否低于 预设第一阈值;

若低于第一阈值, 则返回触发获取子单元执行基于该视频流资源 和 TSP会话从媒体服务器获取视频流的操作;

若不低于第一阈值, 则判断 RTSP会话的尝试次数是否低于预设第 二阈值, 若低于第二阈值, 则释放该视频流资源, 以及停止该 RTSP会 话, 并触发获取子单元执行根据该传输协议类型配 置传输参数的操作; 若不低于第二阔值, 则进行报错处理。

其中, 报错处理的方式可以有多种, 比如, 可以释放该视频流资源, 以及停止该 RTSP会话 ., 并提示播放错误信息。

例如, 该处理单元 303可以在确定判断 RTSP会话的尝试次数不低 于预设第二阈值时, 释放该视频流资源, 以及停止该 RTSP会话, 并提 示播放错误信息。

其中, 视频流出现异常指的是由于网络不稳定或者媒 体服务器不稳 定, 或者其他的原因而导致无法正常下载视频流的 情况。

一些例子中, 在进行报错处理之后, 为了节省资源, 可以释放相应 的空间, 比如, 释放缓,存模块。

此外, 若视频流的获取没有出现异常, 则获取单元 302可以继续下

5 载该视频流, 直至用户退出该视频播放器。 在退出视频播放器之后, 同 样可以释放緩存模块、 以及解码器等, 以释放资源。

其中, 该获取单元 302可以包括确定子单元、 创建子单元和获取子 单元, 如下:

该确定子单元, 用于根据该视频流标识确定视频流的链接地址 。 t o 创建子单元, 用于根据该链接地址创建视频播放器, 并对该视频播 放器进行初始化。

比如, 根据该链接地址创建视频播放器后, 该创建子单元可以分别 对播放器界面、 播放引擎、 解码器和缓存模块等进行初始化, 详见前面 的实施例, 在此不再赞述。

15 获取.子单元, 用于根据该链接地址, 通过初始化后的视频播放器从 媒体服务器获取视频流。

例如, 该获取.子单元, 具体可以用于根据该链接地址确定该视频流 的传输协议类型, 根据该传输协议类型配置传输参数, 以便该媒体服务 器根据该传输参数分配视频流资源, 以及启动 RTSP会话, 然后, 基于 0 该视频流资源和 RTSP会话从媒体服务器获取视频流。

则此时, 该处理单元 303可以确定视频流的荻.取出现异常时, 判断 获取 4¾频流的尝试次数是否低于预设值; 若是, 则触发获取子单元执行 根据该链接地址, 通过初始化后的视频播放器从媒.体服务器获 视频流 的操作, 若否, 則进 _行报错处理。

5 其中, 传输协议类型可以包括传输控制协议( TCP , Transmission Control Protocol )和用户数据才艮协议. ( UDP, User Datagram Protocol )等。 比如, 以该视频流为 RTSP视频流为例, 若该视频流的链接地址以 "rtsp" 开头, 则获取子单元可以确定该视频流的传输协议类 型为 TCP, 因此, 可以根据 TCP协议来配置传输参数。 比如, 在传输时, 控制层可 以采用 TCP协议来传输控制信息, 以及传输层应该采用哪种网络协议 等。 若该视频流的链接地址不是以 "rtsp" 开头, 则获取子单元可以确 定该视频流的传输协议类型为 UDP, 那么, 可以采用 UDP协议来配置 传输参数。 比如在传输时, 控制层则可以采用 UDP协议来传输控制信 息, 以及传输层应该采用哪种网络协议, 等等。

在配置了传输参数, 传输初始化之后, 媒体服务器便可以根据该传 输参数分配視频流资源, 以及启动 RTSP会话, 进而启动视频流的数据 传输, 比如, 此时获取子单元可以基于该视频流资源和 RTSP会话, 向 媒体服务器发送视频流的下载请求, 然后接收媒体服务器返回的视频 获取子单元下载到视频流之后, 可以由缓.存模块将该视频流缓存在 内存中, 以供播放引擎和解码器等进行调用, 并进行播放。

具体实施时, 以上各个单元可以作为独立的实体来实现, 也可以进 行任意组合, 作为同一或若干个实体来实现, 以上各个单元的具体实施 可参见前面的方法实施例, 在此不再赘述。

该视频流的处理装置具体可以集成在终端等设 备中。 终端具体可以 为手机、 平板电脑或笔记本电脑等设备。

由上可知, 本实施例的视频流的处理装置在接收到携带视 频流标识 的视频播放请求后, 可以由获取单元 301根据该视频流标识从媒体服务 器获取视频流, 并由处理单元 303在确定视频流的获取出现异常时, 判 断获取视频流的尝试次数是否低于预设值, 若是, 则触发获取单元 302 执行从媒体服务器获取视频流的操作, 否则, 若不低于预设值, 才进行 报错处理; 由于该方案在视频流出现异常时, 可以提供相应的异常尝试 操作, 最大程度保障视频可以继续播放下去, 因此, 相对现有技术在遇 到异常时则直接报错的方案而言, 可以提供提高播放视频, 如 RTSP视 频时的稳定性和流畅性, 大大提高用户体验。

相应的, 本申请实施例还提供一种视频流的处理系统, 可以包括本 申请各实施例视频流的处理装置。 其中, 该视频流的处理装置可以集成 在终端等设备中。

视频流的处理装置可以接收视频播放请求, 该视频播放请求携带视 频流标识; 根据该视频流标识从媒体服务器获取视频流; 确定视频流的 获取出现异常时, 判断获取視频流的尝试次数是否低于预设值; 若是, 则返回执行从媒体服务器获取视频流的步骤; 若否, 則进 _行报错处理。

例如, 该频流的处理装置可以用于;^据该视频流标 确定视频流的 链接地址, 根据该链接地址创建視频播放器, 并对该视频播放器进行初 始化, 根据该链接地址, 通过初始化后的视频播放器从媒体服务器获取 视频流; 判断传输层网絡协议的尝试次数是否低于预设 第一阈值; 若低 于第一阈值, 则返回执行基于该视频流资源和 RTSP会话从媒体服务器 获取视频流的操作; 若不低于第一阈值, 则判断 RTSP会话的尝试次数 是否低于预设第二阈值, 若低于第二阈值, 则释放该视频流资源, 以及 停止该 RTSP会话, 并返回执行根据该传输协议类型配置传输参数 的操 作; 若不低于第二阈值, 则进行报错处理。

其中, 第一阈值和第二阈值可以根据实际应用的需求 进―行设置, 比 如, 可以设置第一阈值和第二阈值均为 3次, 在此不再赘述。

此外, 该视频流的处理系统还可以包括其他的设备, 比如, 还可以 包括媒体服务器。 该媒体服务器可以向视频流的处理装置提供视 频流。

以上各个设^ ·的具体实施可参见前面的实施例, 在此不再赘述。 由于该视频流的处理系统可以包括本申请实施 例所提供.的任一种视 频流的处理装置, 因此, 可以实现本申请实施例所提 的任一种视频流 的处理装置所能实现的有益效果, 详见前面的实施例, 在此不再赘述。

本申请实施例还提^一种视频流的处理装置。 图 4为本申请实施例 的一种视频流的处理装置的示意图。 如图 4所示, 该装置可以包括处理 器 41、 通信接口 44、 存储装置 46和总线 49。 存储装置 46中包括搡作 系统 47、 通信模块 48和流处理模块 43。

处理器 41可以有一个或者多个, 可以在同一个物理设备中, 或者分 布在多个物理设备中。

该装置可以利用通信接口 44 通过某种网络接收媒体服务器发送的 視频流。

流处理模块 43 可以包括接收单元 431、 获耳又单元 432和处理单元 433。

接收单元 431可以接收视频播放请求。

获取单元 432可以根据该视频流标识从媒体服务器获取视 频流。 处理单元 433可以在确定视频流的获取出现异常时, 判断获取视频 流的尝试次数是否低于预设值; 若是, 则触发获取单元 432执行从媒体 服务器获取视频流的操作; 若否, 则进行报错处理。

接收单元 431、 获取单元 432和处理单元 433的功能与上述接收单 元 301、 获取单元 302和处理单元 303类似, 这里不再赘述。

需要说明的是, 上述各流程和各结构图中不是所有的步骤和模 块都 是必须的, 可以根据实际的需要忽略某些步骤或模块。 各步骤的执行顺 序不是固定的, 可以根据需要进行调整。 各模块的划分仅仅是为了便于 描述釆用的功能上的划分, 实际实现时, 一个模块可以分由多个模块实 现, 多个模块的功能也可以由同一个模块实现, 这些模块可以位于同一 个设备中, 也可以位于不同的设备中。 另外, 上面描述中采用 "第一,,、 "第二" 仅仅为了方便区分具有同一含义的两个对象, 并不表示其有实 质的区别。

各实施例中的硬件模块可以以硬件方式或硬件 平台加软件的方式实 现。 上述软件包括机器可读指令, 存储在 易失性存储介质中。 因此, 各实施例也可以体现为软.件产品。

各例中, 硬件可以由专门的硬件或执行机器可读指令的 硬件实现。 例如, 硬件可以为专门设计的永久性电路或逻辑器件 (如专用处理器, 如 FPGA或 ASIC )用于完成特定的操作。 硬件也可以包括由软件临时 配置的可编程逻辑器件或电路(如包括通用处 理器或其它可编程处理 器)用于执行特定操作。

图中的模块对应的机器可读指令可以使计算机 上操作的搡作系统等 来完成这里描述的部分或者全部操作。 非易失性计算机可读存储介质可 以是插入计算机内的扩展板中所设置的存储器 中或者写到与计算机相 连接的扩展单元中设置的存储器。安装在扩展 板或者扩展单元上的 CPU 等可以根椐指令执行部分和全部实际操作。

非易失性计算机可读存储介质包括软盘、 硬盘、 磁光盘、 光盘(如 CD-ROM , CD- , CD-RW , DVD-ROM > DVD- RAM、 DVD- RW、 DVD+RW )、 磁带、 非易失性存储卡和 ROM。 可选择地, 可以由通信网 络从服务器计算机上下载程序代码。

综上所述, 权利要求的范围不应局限于以上描述的例子中 的实施方 式, 而应当将说明书作为 - 个整体并给予最宽泛的解释。