1.一种基于移动流媒体技术的实景骑行训练系统,其特征在于,所述系统包括基于移动流媒体技术的服务器平台和Android实景骑行训练客户端,服务器平台对用户信息、比赛信息、视频赛道信息数据进行组织和管理,提供用户连接管理、用户信息存储、流媒体赛道点播服务;Android实景骑行训练客户端包含UI界面及相应Activity、BTService模块、NetService模块及流媒体播放器模块,能够通过蓝牙连接骑行台,通过TCP/IP协议连接服务器平台,通过流媒体播放器点播流媒体服务器上的高清赛道视频,让用户能够使用Android设备进行基于移动流媒体技术的实景骑行训练。
2.如权利要求1所述基于移动流媒体技术的实景骑行训练系统,其特征在于:所述基于移动流媒体技术的服务器平台包括应用程序服务器、流媒体服务器和数据库服务器;
所述应用程序服务器,与数据库服务器、流媒体服务器直接交互,提供管理用户连接、收集和响应用户请求服务;
所述流媒体服务器,依照应用程序服务器解析的用户请求,为用户提供内容发现及高清实景赛道视频的流媒体点播服务;
所述数据库服务器,用于存储用户数据、赛事信息、视频赛道信息数据,配合应用程序服务器提供用户信息验证、赛事赛道信息查询、训练数据存储服务。
3.如权利要求1或2所述基于移动流媒体技术的实景骑行训练系统,其特征在于,所述流媒体服务器基于Darwin Streaming Server设计,采用实时流协议RTSP以完成流媒体点播服务,包含以下三种类型的模块:内容管理模块,负责管理与媒体源相关的RTSP请求和响应,每个模块负责解释客户的请求,读取和解析它们的支持文件或者网络源,并且以RTSP和RTP的方式进行响应;服务器支持模块,执行服务器数据的收集和记录功能;访问控制模块,提供鉴权和授权功能,以及操作URL路径提供支持。
4.如权利要求1或2所述基于移动流媒体技术的实景骑行训练系统,其特征在于,所述应用程序服务器采用“生产者-消费者”模式,即通过连接池和线程池来管理网络消息,并采用了输入输出完成端口(IOCP)模型:利用哈希表建立并维护连接池以管理基于TCP/IP协议的Socket长连接,依据CPU核心数量开辟固定数量的线程池和内存池;创建一个IOCP对象,将其与连接池与线程池关联起来;连接池中各Socket长连接收到的网络协议先通过IOCP,再根据信号量同步互斥地往消息队列中添加;当线程池中存在空闲线程时取消息队列头部的消息进行处理。
5.如权利要求1所述基于移动流媒体技术的实景骑行训练系统,其特征在于所述Android实景骑行训练客户端包含UI界面及相应Activity、BTService模块、NetService模块及流媒体播放器模块:所述UI界面及相应Activity,为用户提供可视化的UI界面,处理部分简单的用户请求,或调用其他功能模块进行处理用户请求。
所述BTService模块,采用标准蓝牙3.0协议,能够与支持标准蓝牙3.0协议的骑行台设备进行连接;
所述NetService模块,负责建立与服务器平台的TCP长连接,并提供消息的收发的接口与服务器进行交互;
所述流媒体播放器模块,用于播放高清流视频赛道,并能够依据骑行速度调整播放倍率。
6.如权利要求1或5所述基于移动流媒体技术的实景骑行训练系统,其特征在于,所述Android实景骑行训练客户端的流媒体播放器模块基于Vitamio开源多媒体播放框架实现,配合BTService模块及NetService模块完成基于移动流媒体技术的实景训练功能,其步骤如下设计:步骤6.1:初始化NetService建立与应用程序服务器的TCP连接后,通过NetService的实例,调用其Send()方法,向应用程序服务器发送请求获取视频赛道文件信息列表;
步骤6.2:解析回执协议,在UI界面上显示赛道列表,获取RTSP链接;
步骤6.3:待用户选择赛道后,启动新的实景训练Activity,并启动NetService、及BTService相应的BroadcastReceiver;初始化一个Vitamio的VideoView,在其上初始化各训练数据显示标签;
步骤6.4:调用playVideo()传入流媒体视频的RTSP链接并向流媒体服务器发起RTSP会话请求,同时设置相关参数,读取赛道坡度数据;
步骤6.5:待与流媒体服务器建立RTSP会话,开始播放实景赛道视频;骑行过程中,依据坡度计算骑行档位,并通过BTService的Send()方法发送给下位机以骑行阻力;同时,依据BTService的接收到的骑行速度调整视频播放倍率;
步骤6.6:待实景视频播放完毕或用户主动退出,向流媒体服务器请求结束RTSP会话,并释放相关资源;同时,向应用程序服务器发送协议将训练数据保存到数据库服务器中。
7.如权利要求1或5所述基于移动流媒体技术的实景骑行训练系统,其特征在于所述Android实景骑行训练客户端的流媒体播放器模块,采用骑行速度控制播放倍率算法,其步骤如下:步骤7.1:对视频做拉伸预处理并存入数据库中:规定拉伸后视频一倍速播放时对应的骑行速度vs,已知v0为视频录制时的标准骑行速度,则拉伸倍数为步骤7.2:播放时,根据骑行速度调整视频播放倍率。规定根据播放器的最小播放倍数Nmin,最大播放倍数Nmax,规定最小有效骑行速度为vminkm/h,最大有效骑行速度为vmax,则当骑行台传递上来骑行速度为v时,流媒体视频播放倍率其中,vs为7.1中得到的拉伸后视频一倍速播放时对应的骑行速度。