一种基于移动流媒体的自适应传输方法和系统的制作方法

文档序号:7815014阅读:179来源:国知局
一种基于移动流媒体的自适应传输方法和系统的制作方法
【专利摘要】本发明提出了一种在移动环境下采用基于HTTP的自适应传输技术传输SVC编码的流媒体视频的传输方法和系统。该方法主要包括两个方面:第一,基于HTTP的自适应流媒体传输;第二,将可伸缩视频编码技术集成到自适应传输系统中。其中,自适应传输系统的实现依据最新的MPEG-DASH标准;可伸缩视频编码技术将视频分层,使视频质量适应不同网络状况。本发明从两个方面提高了视频的播放质量:在视频编码方面,采用可伸缩编码将视频分为多层,比单层视频播放效果好;在视频传输方面,将视频分片客户端可以根据网络状况自动选择播放适合清晰度的视频。
【专利说明】一种基于移动流媒体的自适应传输方法和系统

【技术领域】
[0001] 本发明涉及视频传输领域,尤其涉及一种SVC流媒体在移动设备上的自适应传输 方法和系统。

【背景技术】
[0002] 随着移动互联网的快速发展,智能手机已成为人手必备的工具,并且手机已经完 全超越了它原有的基本功能,成为人们娱乐生活的重要组成部分。网络视频是人们娱乐消 遣的重要资源,如何通过手机流畅的观看互联网上的视频,成为视频传输领域重要的研究 内容。视频编码方式、服务器上的原视频的组织形式,以及视频传输中使用的传输协议,都 是影响视频质量的重要因素。


【发明内容】

[0003] 为了达到在智能手机上流畅的观看视频的目的,本发明提出了一种从视频编码到 服务器端的视频存储形式,再到视频传输方式的解决方案。
[0004] 为了达到上述目的,本发明采取了以下技术方案:
[0005] -种移动环境下的SVC视频流媒体自适应传输方法,包括以下步骤:
[0006] 步骤1 :SVC视频编码;在视频编码的模块中,采用分层编码的思想,按照SVC编码 标准,将视频编码为不同分辨率、不同帧率、不同质量的多个层,具体为一个基本层和多个 增强层,基本层的视频包含了解码播放视频所需要的基本信息,增强层包含视频的更多细 节信息,视频播放端可以根据当前的网络状况对增强层的视频包进行适当的丢包处理,减 轻网络传输的压力,以达到更流畅的播放的目的;
[0007] 步骤2 :SVC视频分片存储;遵循MPEG-DASH标准,将编码后的视频进行分片,将视 频分为不同码率即不同质量的视频片段,又将一种码率的视频按照时间长度分割为等时长 的多个分片,每个分片都比较小,便于在后续过程中以流的形式进行传输;与此同时,为了 能够定位到每个视频分片,在形成分片的同时,会形成一个对应的视频索引文件,视频播放 端下载索引文件后,进行解析下载相应的视频片段;
[0008] 步骤3 :移动客户端请求进行传输并进行视频播放;为了穿过防火墙等,在网络中 更好的传输,在传输过程中采用HTTP协议;由客户端主动请求式发起视频传输,由客户端 的视频播放器驱动;在播放视频的过程中,客户端会实时收集当前网络的可用带宽信息,并 且利用收集到的历史带宽信息,对下一时刻的带宽值做出预测,以决定下一次请求哪种码 率的视频分片。
[0009] 进一步地,步骤1 :svc视频编码的具体过程为:
[0010] 步骤11:准备YUV视频:准备SVC编码所需要的不同分辨率、不同质量的裸视频;
[0011] 步骤12 :生成SVC配置文件:SVC编码的配置文件分为主配置文件和一个或多个 层配置文件,各层的配置文件必须在主配置文件中指明,主配置文件中包含输出SVC视频 流的位置,要编码的帧数等信息。层配置文件包含该增强层的基本基本信息,包括输入视频 的分辨率,输入输出视频的帧率、采样的量化参数信息;
[0012] 步骤13 :视频编码:在设置好SVC编码的配置文件后,即可对视频进行编码,根据 配置文件的不同,可以不同分辨率、不同帧率和不同质量的一个基本层加上多个增强层的 视频。
[0013] 进一步地,步骤2 :SVC视频分片存储的具体过程为:
[0014] 步骤21 :输入SVC视频文件
[0015] 对编码后的视频进行处理,便于存储和后续的视频传输;
[0016] 步骤22 :将SVC视频流分割
[0017] H. 264/AVC视频流最基本的组成单元是NAL单元,不同的NAL单元表示不同的视频 数据;每个NAL单元包含一个字节的NAL单元头,第一个字节的后5位表示了这个NAL单元 的类型,并且NAL单元都以0x0001或0x001作为开始标志;
[0018] 步骤3:SVC码流分片
[0019] 在得到SVC视频流之后,将视频按照开始标志分割为一个一个的NAL单元,通过对 NAL单元相应位的分析,可以得到NAL所在的层信息。得到每层的得到每层NAL单元后,根 据帧率和帧数,判断当前视频段的长度,如果长度达到阈值,将形成一个新的视频片段;
[0020] 步骤4:生成媒体描述文件
[0021] 在对SVC视频流处理完毕后,将相应的视频分片信息写入到后缀为*. mpd索引文 件中,索引文件中包含媒体分片的基本路径以及每个分片的URL,以及不同分片的码率信 息。
[0022] 进一步地,步骤3 :移动客户端请求进行传输并进行视频播放的具体过程为:
[0023] 步骤31 :下载MH)媒体描述文件
[0024] 移动客户端在开始播放任务后,首先从服务器端下载MH)媒体描述文件;
[0025] 步骤32 :解析MH)媒体描述文件
[0026] Mro媒体描述文件中描述了视频的一种或多种表示,每种表示种又描述了每个视 频分片的统一资源定位符,即URL ;对媒体文件的解析可以得到视频的每种表示对应的码 率、媒体种类、最大/最小带宽及每个视频分片的具体位置;
[0027] 步骤33 :视频分片下载
[0028] 视频播放端通过HTTP GET请求相应的视频分片,并且在开始的时候适当的缓冲;
[0029] 步骤34 :播放器解码播放
[0030] 在缓冲区缓冲数据达到一定的阈值后,播放器开始解码播放,同时继续请求后面 的视频分片;视频解码部分采用FFMPEG做解码器,首先做一些初始化的工作,注册相应的 容器和解码器;然后打开视频文件,提取流信息,并查找流类型;然后查找对应的解码器, 打开解码器;为视频帧分配空间,从视频流中提取出帧;解码完成,显示视频帧;
[0031] 步骤35:带宽预测
[0032] 移动客户端通过单独的线程向服务器发送探测包,以获取当前可用的网络带宽 值;当网络带宽发生变化时,移动客户端的控制模块会根据当前的带宽状况适时的调整下 一时刻下载的视频分片的码率,以保证视频的流畅播放;移动客户端在发送探测包时对每 个包加上时间戳,两个探测包之间的时间间隔为,接收端接收两个探测包的时间间隔为 ,在链路容量C已知的情况下,可以计算当前的可用带宽值为:
[0033] C(l -?。
[0034] 进一步地,步骤34具体为:视频片段的下载,使用lib⑶RL库,其工作流程如下: 首先,调用 curl_global_init()初始化 libcurl ;然后,调用 curl_easy_init()得到对 象指针;第三,调用cUrl_ea Sy_Set〇pt〇函数设置传输选项,设置回调函数将下载完成的 数据存储到缓冲区中;第四,调用curl_easy_perform〇完成传输任务;最后,调用curl_ easy_cleanup()释放内存。
[0035] 本发明的另一方面,还提供了一种移动环境下的SVC视频流媒体自适应传输系 统,执行本发明提供的移动环境下的SVC视频流媒体自适应传输方法,所述系统包括服务 端和移动客户端,其中,服务端包括视频编码模块、视频存储模块和视频传输播放模块,客 户端包括视频接收模块、视频解码模块、视频播放模块和控制模块;视频编码模块负责将原 始的YUV视频编码为空间、时间和质量可分层的SVC码流;视频存储模块负责将SVC码流 分组分片,将同一码率的视频分到同一个组中,同时形成索引文件MPD,MH)用于指示移动 客户端根据索引定位到具体的媒体分片;视频传输模块的主要功能是解析索引文件,并使 用HTTP传输协议传输相应的视频分片到移动客户端进行解码播放;视频接收模块负责接 收使用HTTP传输协议传输的视频分片,视频解码模块负责视频分片的SVC解码,控制模块 负责进行流程控制和带宽预测,视频播放模块负责播放视频。
[0036] 进一步地,相对于PC端的SVC解码器,对移动客户端的解码器做了下面几个方面 的修改和优化以适应移动环境下的视频传输:
[0037] (1)准备SVC解码库;
[0038] (2)修改源代码,实现自动层切换;
[0039] (3) Android NDK 编译。
[0040] 本发明的有益效果是:本发明在视频编码中,采用的SVC视频编码标准,通过对 裸视频进行可分层的编码,可以达到根据网络状况进行增强层丢包处理以减轻网络和播 放端的解码压力,更好的适应网络,达到流畅播放的效果。同时,在视频传输过程中采用 MPEG-DASH标准,将视频进行分片,分为不同码率的视频片段,播放端在分析网络可用带宽 情况后,可以做出适应当前网络状况的决策。本发明将视频编码的可伸缩性与视频传输过 程中的自适应性相结合,达到更好的网络适应效果。

【专利附图】

【附图说明】
[0041] 图1是本发明的移动环境下的SVC视频流媒体自适应传输方法的流程图;
[0042] 图2是本发明的移动环境下的SVC视频流媒体自适应传输系统的结构示意图;
[0043] 图3是本发明的视频编码模块示意图;
[0044] 图4是本发明的SVC视频分片示意图;
[0045] 图5是本发明的媒体描述文件的示意图;
[0046] 图6是本发明的移动客户端工作示意图。

【具体实施方式】
[0047] 下面结合【专利附图】

【附图说明】,对本发明的【具体实施方式】作进一步说明。
[0048] 如附图1所示,本发明提出的移动环境下的SVC视频流媒体自适应传输方法,主要 包括准备YUV视频、进行SVC编码、分片存储、解码播放等几个步骤。
[0049] 如附图2所示,本发明提出的移动环境下的SVC视频流媒体自适应传输系统,包 括服务端和移动客户端,其中,服务端包括视频编码模块、视频存储模块和视频传输播放模 块,客户端包括视频接收模块、视频解码模块、视频播放模块和控制模块。视频编码模块负 责将原始的YUV视频编码为空间、时间和质量可分层的SVC码流;视频存储模块负责将SVC 码流分组分片,将同一码率的视频分到同一个组中,同时形成索引文件MPD,Mro用于指示 移动客户端根据索引定位到具体的媒体分片;视频传输模块的主要功能是解析索引文件, 并使用HTTP传输协议传输相应的视频分片到移动客户端进行解码播放。视频接收模块负 责接收使用HTTP传输协议传输的视频分片,视频解码模块负责视频分片的SVC解码,控制 模块负责进行流程控制和带宽预测,视频播放模块负责播放视频。
[0050] 下面将结合各个模块的示意图对其实施步骤进行详细的说明。
[0051] 如附图3所示,视频编码部分采用分层编码技术,将视频编码为不同分辨率、不同 帧率、不同质量的多个层,具体为一个基本层和多个增强层,基本层的视频包含了解码播放 视频所需要的基本信息,增强层包含视频的更多细节信息。将视频编码为多个层后,使用复 用器将不同的层合成为SVC码流。在视频编码的实现部分,采用开源JSVM软件提供的SVC 视频编码工具,具体实施步骤如下:
[0052] 步骤1 :准备YUV视频
[0053] YUV视频是原始的未编码视频,可以根据需要编码为任意格式的视频,这里选取 YUV视频,便于后续处理。
[0054] 步骤2 :生成SVC配置文件
[0055] SVC编码的配置文件分为主配置文件和一个或多个层配置文件,各层的配置文件 必须在主配置文件中指明。主配置文件中包含输出SVC视频流的位置,要编码的帧数等信 息。层配置文件包含该增强层的基本基本信息,包括输入视频的分辨率,输入输出视频的帧 率,采样的量化参数等信息。
[0056] 步骤3 :视频编码
[0057] 在设置好SVC编码的配置文件后,即可对视频进行编码。根据配置文件的不同,可 以不同分辨率,不同帧率和不同质量的视频。
[0058] 如附图4所示,视频存储模块采用MPEG-DASH标准,将编码后的视频进行分片,将 视频分为不同码率即不同质量的视频片段,又将一种码率的视频按照时间长度分割为等时 长的多个分片,每个分片都比较小,便于在后续过程中以流的形式进行传输。与此同时,为 了能够定位到每个视频分片,在形成分片的同时,会形成一个对应的媒体描述文件,视频播 放端下载媒体描述文件后,进行解析下载相应的视频片段。具体实施步骤如下:
[0059] 步骤1 :输入SVC视频文件
[0060] 输入视频编码模块得到的SVC视频文件。
[0061] 步骤2 :将SVC视频流分割
[0062] H. 264/AVC视频流最基本的组成单元是NAL单元,不同的NAL单元表示不同的视频 数据。每个NAL单元包含一个字节的NAL单元头,第一个字节的后5位表示了这个NAL单 元的类型,并且NAL单元都以0x0001或0x001作为开始标志。
[0063] 步骤3 : SVC码流分片
[0064] SVC在H. 264/AVC的基础上,对NAL单元头扩充到4个字节,SVC的NAL单元类型 为14或20,第一个字节的语法信息与H264/AVC相同,后面的字节包含了 SVC的可伸缩信 息。在得到SVC视频流之后,将视频按照开始标志分割为一个一个的NAL单元,通过对NAL 单元相应位的分析,可以得到NAL所在的层信息。得到每层的得到每层NAL单元后,根据帧 率和帧数,判断当前视频段的长度,如果长度达到阈值,将形成一个新的视频片段。
[0065] 步骤4:生成媒体描述文件
[0066] 在对SVC视频流处理完毕后,将相应的视频分片信息写入到后缀为*. mpd索引文 件中。索引文件中包含媒体分片的基本路径以及每个分片的URL,以及不同分片的码率信 息。附图5是MPD文件的格式和组成。
[0067] 如附图6所示,移动客户端包括视频接收模块、视频解码模块、视频播放模块和控 制模块。为了在网络中更好的传输,在传输过程中使用了 HTTP协议。本发明采用客户端主 动请求式发起视频传输,由客户端的视频播放器驱动。在播放视频的过程中,播放端会实时 收集当前网络的可用带宽信息,并且利用收集到的历史带宽信息,对下一时刻的带宽值做 出预测,以决定下一次请求哪种码率的视频分片。具体实施步骤如下:
[0068] 步骤1 :下载MH)媒体描述文件
[0069] 手机端在开始播放任务后,首先从服务器端下载MH)媒体描述文件。
[0070] 步骤2 :解析MH)媒体描述文件
[0071] Mro媒体描述文件中描述了视频的一种或多种表示,每种表示种又描述了每个视 频分片的统一资源定位符,即URL。对媒体文件的解析可以得到视频的每种表示对应的码 率、媒体种类、最大/最小带宽及每个视频分片的具体位置。
[0072] 步骤3 :视频分片下载
[0073] 移动客户端通过HTTP GET请求相应的视频分片,并且在开始的时候适当的缓冲。 视频片段的下载,使用lib⑶RL库。其工作流程如下:首先,调用curl_global_init〇初始 化libcurl ;然后,调用curl_easy_init()得到对象指针;第三,调用curl_easy_setopt() 函数设置传输选项,设置回调函数将下载完成的数据存储到缓冲区中;第四,调用curl_ easy_perform()完成传输任务;最后,调用curl_easy_cleanup()释放内存。
[0074] 步骤4 :播放器解码播放
[0075] 在缓冲区缓冲数据达到一定的阈值后,播放器开始解码播放,同时继续请求后面 的视频分片。视频解码部分采用FFMPEG做解码器,首先做一些初始化的工作,注册相应的 容器和解码器;然后打开视频文件,提取流信息,并查找流类型;然后查找对应的解码器, 打开解码器;为视频帧分配空间,从视频流中提取出帧;解码完成,显示视频帧。
[0076] 步骤5:带宽预测
[0077] 移动客户端通过单独的线程向服务器发送探测包,以获取当前可用的网络带宽 值。当网络带宽发生变化时,移动客户端的控制模块会根据当前的带宽状况适时的调整下 一时刻下载的视频分片的码率,以保证视频的流畅播放。在探测过程中,移动客户端向服务 器发送一系列的大小为1500B的UDP包,并且在发送过程中,移动客户端会适时的调节探测 包之间的时间间隔,保证瓶颈链路处不会空闲。移动客户端在发送探测包时对每个包加上 时间戳,两个探测包之间的时间间隔为,接收端接收两个探测包的时间间隔为,在 链路容量C已知的情况下,可以计算当前的可用带宽值为: Δ -Δ.
[0078] α?-- & in
[0079] 相对于PC端的SVC解码器,本发明对移动客户端的解码器做了下面几个方面的修 改和优化:
[0080] (1)准备SVC解码库
[0081] 手机上的SVC解码解码库,只包含解码SVC视频必须的基本库,具体包括:
[0082] a)实现对h264支持的AVC解码库;
[0083] b)对SVC支持的SVC解码库;
[0084] c)通用文件库和MPEG4 ;
[0085] d)修改相应的Makefile文件。
[0086] (2)修改源代码,实现自动层切换
[0087] PC端的SVC解码器使用下面的命令进行播放:
[0088] 0penSVCDecoder-h264<filename>-layer<DqId>-tempid<DqId>
[0089] 其中,参数filename指定播放文件名,Dqld指定要播放的质量层和时间层。每次 播放需要指定文件名和相应层。
[0090] 修改后的SVC解码器,加入决策模块,可根据带宽信息做出决策。具体过程如下:
[0091] a)从带宽预测模块获取带宽;
[0092] b)将带宽信息作为输入参数,加入决策模块;
[0093] c)决策模块根据带宽信息进行判断,如果当前带宽超过一定的阈值,则自动切换 到更高的层进行播放。
[0094] (3) Android NDK 编译
[0095] a)在 Ubuntu 下,进入项目目录· · /mySVCMecoder ;
[0096] b)依次进入 SVC/build,执行 $NDK/ndk_build,编译程序;
[0097] c)将编译完成后生成的.so文件,拷贝到Android工程下的libs目录;
[0098] d)在Android工程中声明相应的native方法,在接收到SVC的码流后,native方 法,实现对SVC解码器的调用。
[0099] 本发明的有益效果是:本发明在视频编码中,采用的SVC视频编码标准,通过对 裸视频进行可分层的编码,可以达到根据网络状况进行增强层丢包处理以减轻网络和播 放端的解码压力,更好的适应网络,达到流畅播放的效果。同时,在视频传输过程中采用 MPEG-DASH标准,将视频进行分片,分为不同码率的视频片段,播放端在分析网络可用带宽 情况后,可以做出适应当前网络状况的决策。本发明将视频编码的可伸缩性与视频传输过 程中的自适应性相结合,达到更好的网络适应效果。
[0100] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定 本发明的具体实施只局限于这些说明。对于本发明所属【技术领域】的普通技术人员来说,在 不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的 保护范围。
【权利要求】
1. 一种移动环境下的SVC视频流媒体自适应传输方法,包括以下步骤: 步骤I:SVC视频编码;在视频编码的模块中,采用分层编码的思想,按照SVC编码标 准,将视频编码为不同分辨率、不同帧率、不同质量的多个层,具体为一个基本层和多个增 强层,基本层的视频包含了解码播放视频所需要的基本信息,增强层包含视频的更多细节 信息,视频播放端可以根据当前的网络状况对增强层的视频包进行适当的丢包处理,减轻 网络传输的压力,以达到更流畅的播放的目的; 步骤2 :SVC视频分片存储;遵循MPEG-DASH标准,将编码后的视频进行分片,将视频分 为不同码率即不同质量的视频片段,又将一种码率的视频按照时间长度分割为等时长的多 个分片,每个分片都比较小,便于在后续过程中以流的形式进行传输;与此同时,为了能够 定位到每个视频分片,在形成分片的同时,会形成一个对应的视频索引文件,视频播放端下 载索引文件后,进行解析下载相应的视频片段; 步骤3 :移动客户端请求进行传输并进行视频播放;为了穿过防火墙等,在网络中更好 的传输,在传输过程中采用HTTP协议;由客户端主动请求式发起视频传输,由客户端的视 频播放器驱动;在播放视频的过程中,客户端会实时收集当前网络的可用带宽信息,并且利 用收集到的历史带宽信息,对下一时刻的带宽值做出预测,以决定下一次请求哪种码率的 视频分片。
2. 根据权利要求1所述的移动环境下的SVC视频流媒体自适应传输方法,其特征在于: 所述步骤I=SVC视频编码的具体过程为: 步骤11 :准备YUV视频:准备SVC编码所需要的不同分辨率、不同质量的裸视频; 步骤12 :生成SVC配置文件:SVC编码的配置文件分为主配置文件和一个或多个层配 置文件,各层的配置文件必须在主配置文件中指明,主配置文件中包含输出SVC视频流的 位置,要编码的帧数等信息。层配置文件包含该增强层的基本基本信息,包括输入视频的分 辨率,输入输出视频的帧率、采样的量化参数信息; 步骤13 :视频编码:在设置好SVC编码的配置文件后,即可对视频进行编码,根据配置 文件的不同,可以不同分辨率、不同帧率和不同质量的一个基本层加上多个增强层的视频。
3. 根据权利要求1所述的移动环境下的SVC视频流媒体自适应传输方法,其特征在 于:所述步骤2 :SVC视频分片存储的具体过程为: 步骤21 :输入SVC视频文件,对编码后的视频进行处理,便于存储和后续的视频传输; 步骤22 :将SVC视频流分割,H. 264/AVC视频流最基本的组成单元是NAL单元,不同的NAL单元表示不同的视频数据;每个NAL单元包含一个字节的NAL单元头,第一个字节的后 5位表示了这个NAL单元的类型,并且NAL单元都以0x0001或OxOOl作为开始标志; 步骤3 :SVC码流分片,在得到SVC视频流之后,将视频按照开始标志分割为一个一个的NAL单元,通过对NAL单元相应位的分析,可以得到NAL所在的层信息。得到每层的得到每 层NAL单元后,根据帧率和帧数,判断当前视频段的长度,如果长度达到阈值,将形成一个 新的视频片段; 步骤4 :生成媒体描述文件,在对SVC视频流处理完毕后,将相应的视频分片信息写入 到后缀为*.mpd索引文件中,索引文件中包含媒体分片的基本路径以及每个分片的URL,以 及不同分片的码率信息。
4. 根据权利要求1所述的移动环境下的SVC视频流媒体自适应传输方法,其特征在于: 所述步骤3 :移动客户端请求进行传输并进行视频播放的具体过程为: 步骤31 :下载Mro媒体描述文件,移动客户端在开始播放任务后,首先从服务器端下载Mro媒体描述文件; 步骤32:解析Mro媒体描述文件,Mro媒体描述文件中描述了视频的一种或多种表示, 每种表示种又描述了每个视频分片的统一资源定位符,即URL;对媒体文件的解析可以得 到视频的每种表示对应的码率、媒体种类、最大/最小带宽及每个视频分片的具体位置; 步骤33:视频分片下载。视频播放端通过HTTPGET请求相应的视频分片,并且在开始 的时候适当的缓冲; 步骤34 :播放器解码播放,在缓冲区缓冲数据达到一定的阈值后,播放器开始解码播 放,同时继续请求后面的视频分片;视频解码部分采用FFMPEG做解码器,首先做一些初始 化的工作,注册相应的容器和解码器;然后打开视频文件,提取流信息,并查找流类型;然 后查找对应的解码器,打开解码器;为视频帧分配空间,从视频流中提取出帧;解码完成, 显示视频巾贞; 步骤35 :带宽预测,移动客户端通过单独的线程向服务器发送探测包,以获取当前可 用的网络带宽值;当网络带宽发生变化时,移动客户端的控制模块会根据当前的带宽状况 适时的调整下一时刻下载的视频分片的码率,以保证视频的流畅播放;移动客户端在发送 探测包时对每个包加上时间戳,两个探测包之间的时间间隔为,接收端接收两个探测包的 时间间隔为,在链路容量已知的情况下,可以计算当前的可用带宽值为: A-A C(1 _ -^~~^)。
5. 根据权利要求4所述的移动环境下的SVC视频流媒体自适应传输方法,其特征在 于:步骤34具体为:视频片段的下载,使用IibCURL库,其工作流程如下:首先,调用curl_ global_init()初始化Iibcurl;然后,调用curl_easy_init()得到对象指针;第三,调用 CUrl_eaSy_Set〇pt〇函数设置传输选项,设置回调函数将下载完成的数据存储到缓冲区 中;第四,调用curl_easy_perform()完成传输任务;最后,调用curl_easy_cleanup()释 放内存。
6. -种移动环境下的SVC视频流媒体自适应传输系统,执行如权利要求1-5所述的移 动环境下的SVC视频流媒体自适应传输方法,所述系统包括服务端和移动客户端,其中,月艮 务端包括视频编码模块、视频存储模块和视频传输播放模块,客户端包括视频接收模块、视 频解码模块、视频播放模块和控制模块;视频编码模块负责将原始的YUV视频编码为空间、 时间和质量可分层的SVC码流;视频存储模块负责将SVC码流分组分片,将同一码率的视频 分到同一个组中,同时形成索引文件MPD,MH)用于指示移动客户端根据索引定位到具体的 媒体分片;视频传输模块的主要功能是解析索引文件,并使用HTTP传输协议传输相应的视 频分片到移动客户端进行解码播放;视频接收模块负责接收使用HTTP传输协议传输的视 频分片,视频解码模块负责视频分片的SVC解码,控制模块负责进行流程控制和带宽预测, 视频播放模块负责播放视频。
7. 根据权利要求6所述的移动环境下的SVC视频流媒体自适应传输系统,其特征在于: 相对于PC端的SVC解码器,对移动客户端的解码器做了下面几个方面的修改和优化以适应 移动环境下的视频传输: (1)准备SVC解码库;(2)修改源代码,实现自动层切换;(3)AndroidNDK编译。
【文档编号】H04N19/33GK104270646SQ201410486990
【公开日】2015年1月7日 申请日期:2014年9月22日 优先权日:2014年9月22日
【发明者】何震宇, 刘伟, 梁应毅, 李鑫, 张高伟, 李义 申请人:何震宇
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1