CN112057832B - 一种基于移动流媒体技术的实景骑行训练系统 - Google Patents

一种基于移动流媒体技术的实景骑行训练系统 Download PDF

Info

Publication number
CN112057832B
CN112057832B CN202010735914.8A CN202010735914A CN112057832B CN 112057832 B CN112057832 B CN 112057832B CN 202010735914 A CN202010735914 A CN 202010735914A CN 112057832 B CN112057832 B CN 112057832B
Authority
CN
China
Prior art keywords
streaming media
riding
server
video
live
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010735914.8A
Other languages
English (en)
Other versions
CN112057832A (zh
Inventor
冯远静
田英傲
郑天驰
潘显波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN202010735914.8A priority Critical patent/CN112057832B/zh
Publication of CN112057832A publication Critical patent/CN112057832A/zh
Application granted granted Critical
Publication of CN112057832B publication Critical patent/CN112057832B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B22/00Exercising apparatus specially adapted for conditioning the cardio-vascular system, for training agility or co-ordination of movements
    • A63B22/06Exercising apparatus specially adapted for conditioning the cardio-vascular system, for training agility or co-ordination of movements with support elements performing a rotating cycling movement, i.e. a closed path movement
    • A63B22/0605Exercising apparatus specially adapted for conditioning the cardio-vascular system, for training agility or co-ordination of movements with support elements performing a rotating cycling movement, i.e. a closed path movement performing a circular movement, e.g. ergometers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0075Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0084Exercising apparatus with means for competitions, e.g. virtual races
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0087Electric or electronic controls for exercising apparatus of groups A63B21/00 - A63B23/00, e.g. controlling load
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/16Training appliances or apparatus for special sports for cycling, i.e. arrangements on or for real bicycles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • H04N21/43637Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0087Electric or electronic controls for exercising apparatus of groups A63B21/00 - A63B23/00, e.g. controlling load
    • A63B2024/0096Electric or electronic controls for exercising apparatus of groups A63B21/00 - A63B23/00, e.g. controlling load using performance related parameters for controlling electronic or video games or avatars
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • A63B2071/0638Displaying moving images of recorded environment, e.g. virtual environment

Abstract

一种基于移动流媒体技术的实景骑行训练系统,包括基于移动流媒体技术的服务器平台和Android骑行训练客户端,所述服务器平台对用户信息、比赛信息、视频赛道信息数据进行组织和管理,用于提供用户连接管理、用户信息存储、流媒体赛道点播服务;所述Android实景骑行训练客户端包含UI界面及相应Activity、BTService模块、NetService模块及流媒体播放器模块,能够通过蓝牙连接骑行台,通过TCP/IP协议连接服务器平台,通过流媒体播放器点播流媒体服务器上的高清赛道视频,让用户能够使用Android设备进行基于移动流媒体技术的实景骑行训练。本发明解决了高清实景赛道视频过大而移动设备内存普遍较小的矛盾,稳定性较好,功能拓展性较好。

Description

一种基于移动流媒体技术的实景骑行训练系统
技术领域
本发明涉及自动化技术领域、流媒体技术领域以及视频控制领域,具体涉及一种基于移动流媒体技术的实景骑行训练系统。
背景技术
近十年移动互联网技术快速发展,第三代、第四代移动通信技术(3th/4thgeneration mobile networks)以及光纤通信技术已经在市场上广泛应用,极大地便利了我们的生活。去年11月1日,第五代移动通信技术也已经正式商用,相较于3G、4G,其信道容量更大、空中接口延时更低、连接密度和流量密度更高。通信技术的改变和提升为超高清视频更迅速的传输带来了可能性。另一方面,市场上的智能手机、平板等移动端设备的处理器日新月异,性能不断提高;2K、4K屏也逐步搭配在手机、平板上,如索尼Xperia 1旗舰手机等。因此,超高清视频的实时处理和播放也具备了可行性和必要性。
近几年,智能骑行系统以其不受时间和天气限制、能智能控制骑行阻力、可视化显示各种骑行数据的特点,逐渐在骑行圈风靡起来。目前大众化的操作系统市场Windows、Android和iOS三分天下,而骑行台软件主流还是基于Windows平台的,Android和iOS设备上的移动骑行应用功能单一,并不完善。近两年高性能的Android和iOS的平板电脑或大屏手机等移动设备逐渐流行,骑行用户越来越多地想要在Android和iOS设备上使用智能骑行系统,因此开发一款基于Android或iOS的骑行应用势在必行。
在此背景下,开发一款基于移动流媒体技术的实景骑行训练系统具有重要意义。应用流媒体技术,让视频能够边下边播,很好地解决高清实景赛道视频过大而移动设备存储空间有限的矛盾。用户可以使用Android骑行训练客户端将Android移动设备通过蓝牙连接到智能骑行台,通过数据网络或WIFI与服务器平台建立网络连接并从服务器平台上获取高清实景赛道列表,不需要将赛道完整下载到本地就可以在线选择自己喜爱的实景赛道进行实景骑行训练。同时,用户可以根据实时显示的训练数据直观地了解自身的训练情况,也可以将训练数据存储到服务器平台以便随时查看。
发明内容
为克服现有移动端骑行训练系统开发程度不充分、无法体验实景骑行的缺陷,本发明提供了基于移动流媒体技术的实景骑行训练系统,包括基于移动流媒体技术的服务器平台和Android骑行训练客户端,应用流媒体技术,让视频能够边下边播,很好地解决高清实景赛道视频过大而移动设备存储空间有限的矛盾,用户可以使用Android骑行训练客户端将Android移动设备通过蓝牙连接到智能骑行台,建立网络连接并从服务器平台上获取高清实景赛道列表,不需要将赛道完整下载到本地就可以在线选择自己喜爱的实景赛道进行实景骑行训练;同时,用户可以根据实时显示的训练数据直观地了解自身的训练情况,也可以将训练数据存储到服务器平台以便随时查看。
本发明解决其技术问题所采用的技术方案是:
一种基于移动流媒体技术的实景骑行训练系统,包括基于移动流媒体技术的服务器平台和Android骑行训练客户端,所述服务器平台对用户信息、比赛信息、视频赛道信息数据进行组织和管理,提供用户连接管理、用户信息存储、流媒体赛道点播服务;Android实景骑行训练客户端包含UI界面及相应Activity、BTService模块、NetService模块及流媒体播放器模块,能够通过蓝牙连接骑行台,通过TCP/IP协议连接服务器平台,通过流媒体播放器点播流媒体服务器上的高清赛道视频,让用户能够使用Android设备进行基于移动流媒体技术的实景骑行训练。
进一步,所述基于移动流媒体技术的服务器平台包括应用程序服务器、流媒体服务器和数据库服务器;
所述应用程序服务器,与数据库服务器、流媒体服务器直接交互,提供管理用户连接、收集和响应用户请求服务;
所述流媒体服务器,依照应用程序服务器解析的用户请求,为用户提供内容发现及高清实景赛道视频的流媒体点播服务;
所述数据库服务器,用于存储用户数据、比赛信息、视频赛道信息数据,配合应用程序服务器提供用户信息验证、赛事赛道信息查询、训练数据存储服务。
更进一步,所述流媒体服务器基于Darwin Streaming Server设计,采用实时流协议RTSP以完成流媒体点播服务,包含以下三种类型的模块:内容管理模块,负责管理与媒体源相关的RTSP请求和响应,每个模块负责解释客户的请求,读取和解析它们的支持文件或者网络源,并且以RTSP和RTP的方式进行响应;服务器支持模块,执行服务器数据的收集和记录功能;访问控制模块,提供鉴权和授权功能,以及操作URL路径提供支持。
再进一步,所述应用程序服务器采用“生产者-消费者”模式,即通过连接池和线程池来管理网络消息,并采用了输入输出完成端口(IOCP)模型:利用哈希表建立并维护连接池以管理基于TCP/IP协议的Socket长连接,依据CPU核心数量开辟固定数量的线程池和内存池;创建一个IOCP对象,将其与连接池与线程池关联起来;连接池中各Socket长连接收到的网络协议先通过IOCP,再根据信号量同步互斥地往消息队列中添加;当线程池中存在空闲线程时取消息队列头部的消息进行处理。
所述Android实景骑行训练客户端包含UI界面及相应Activity、BTService模块、NetService模块及流媒体播放器模块;
所述UI界面及相应Activity,为用户提供可视化的UI界面,处理部分简单的用户请求,或调用其他功能模块进行处理用户请求;
所述BTService模块,采用标准蓝牙3.0协议,能够与支持标准蓝牙3.0协议的骑行台设备进行连接;
所述NetService模块,负责建立与服务器平台的TCP长连接,并提供消息的收发的接口与服务器进行交互;
所述流媒体播放器模块,用于播放高清流视频赛道,并能够依据骑行速度调整播放倍率。
进一步,所述Android实景骑行训练客户端的流媒体播放器模块基于Vitamio开源多媒体播放框架实现,配合BTService模块及NetService模块完成基于移动流媒体技术的实景训练功能,其步骤如下设计:
步骤1:初始化NetService建立与应用程序服务器的TCP连接后,通过NetService的实例,调用其Send()方法,向应用程序服务器发送请求获取视频赛道文件信息列表;
步骤2:解析回执协议,在UI界面上显示赛道列表,获取RTSP链接;
步骤3:待用户选择赛道后,启动新的实景训练Activity,并启动NetService、及BTService相应的BroadcastReceiver;初始化一个Vitamio的VideoView,在其上初始化各训练数据显示标签;
步骤4:调用playVideo()传入流媒体视频的RTSP链接并向流媒体服务器发起RTSP会话请求,同时设置相关参数,读取赛道坡度等数据;
步骤5:待与流媒体服务器建立RTSP会话,开始播放实景赛道视频;骑行过程中,依据坡度计算骑行档位,并通过BTService的Send()方法发送给下位机以骑行阻力;同时,依据BTService的接收到的骑行速度调整视频播放倍率;
步骤6:待实景视频播放完毕或用户主动退出,向流媒体服务器请求结束RTSP会话,并释放相关资源;同时,向应用程序服务器发送协议将训练数据保存到数据库服务器中。
再进一步,所述Android实景骑行训练客户端的流媒体播放器模块,采用骑行速度控制播放倍率算法,其步骤如下:
步骤1:对视频做拉伸预处理并存入数据库中:规定拉伸后视频一倍速播放时对应的骑行速度vs,已知v0为视频录制时的标准骑行速度,则拉伸倍数为
步骤2:播放时,根据骑行速度调整视频播放倍率。规定根据播放器的最小播放倍数Nmin,最大播放倍数Nmax,规定最小有效骑行速度为vminkm/h,最大有效骑行速度为vmax,则当骑行台传递上来骑行速度为v时,流媒体视频播放倍率
其中,vs为7.1中得到的拉伸后视频一倍速播放时对应的骑行速度。
本发明的有益效果在于:
1.针对目前移动端的骑行训练软件功能单一、无法体验实景骑行的乐趣的不足,本发明基于移动流媒体技术设计了一种适合于移动设备的实景骑行训练系统,让用户不用将视频下载到本地即可进行高清实景骑行训练,解决了高清实景赛道视频过大而移动设备内存普遍较小的矛盾。
2.针对目前骑行平台的服务器稳定性差的不足,本发明设计了应用程序服务器、流媒体服务器、数据库服务器协同工作的架构,基于Darwin Streaming Server设计RTSP流媒体服务器,基于MySQL设计数据库服务器,并在应用程序服务器上采用“生产者-消费者”模式,即通过连接池和线程池来管理网络消息,并采用IOCP完成端口模型,能够减少线程上下文切换的开销,加快请求的相应速度的同时增大服务器的吞吐量,从而提高了服务器的稳定性和工作效率。
3.针对Android多媒体框架功能拓展性差的不足,本发明引入了Vitamio开源多媒体播放框架,开发了Android实景骑行训练客户端,并采用骑行速度控制播放倍率算法,使骑行训练更具沉浸感和趣味性。
附图说明
图1为本发明基于移动流媒体技术的实景骑行训练系统之服务器平台的架构图。
图2为本发明基于移动流媒体技术的实景骑行训练系统之应用程序服务器“生产者-消费者”模式的示意图。
图3为本发明基于移动流媒体技术的实景骑行训练系统之Android实景骑行客户端的逻辑框架。
图4为本发明基于移动流媒体技术的实景骑行训练系统之基于移动流媒体技术的实景训练流程图。
具体实施方式
下面结合附图来说明本发明的具体实施过程。
参照图1~图4,服务器平台对用户信息、比赛信息、视频赛道信息数据进行组织和管理,提供用户连接管理、用户信息存储、流媒体赛道点播服务;Android实景骑行训练客户端包含UI界面及相应Activity、BTService模块、NetService模块及流媒体播放器模块,能够通过蓝牙连接骑行台,通过TCP/IP协议连接服务器平台,通过流媒体播放器点播流媒体服务器上的高清赛道视频,让用户能够使用Android设备进行基于移动流媒体技术的实景骑行训练。
图1为本发明一种基于移动流媒体技术的实景骑行训练系统之服务器平台的架构图。如图1所示,所述服务器平台包括应用程序服务器、流媒体服务器和数据库服务器三个部分。其中,应用程序服务器面向用户,建立并管理与所有客户端的基于TCP/IP协议的长连接,能够收集客户端发来的网络协议并进行解析和处理,并且与流媒体服务器和数据库服务器直接交互,因此能够提供包括用户验证、信息查询及修改、训练数据保存等等功能;流媒体服务器是提供移动流媒体服务的主体,基于实时流协议RTSP设计,包含内容管理模块、服务器支持模块、访问控制模块,能够为用户提供流媒体内容发现及高清视频赛道点播服务;数据库服务器基于MySQL设计,其中存储了用户数据、赛事信息、视频赛道信息等等,配合应用程序服务器提供用户信息验证、赛事赛道信息查询、训练数据存储等等服务。
上述服务器平台中的流媒体服务器基于Darwin Streaming Server设计,DarwinStreaming Server简称DSS,是Apple公司提供的开源实时流媒体播放服务器程序。上述流媒体服务器使用模块来响应各种请求及完成任务,包含以下三种类型的模块:内容管理模块,包括QTSSFileModule、QTSSReflectorModule、QTSSRelayModule、QTSSMP3StreamingModule等,负责管理与媒体源相关的RTSP请求和响应,比如一个文件或者一个广播。每个模块负责解释客户的请求,读取和解析它们的支持文件或者网络源,并且以RTSP和RTP的方式进行响应;服务器支持模块,包括QTSSErrorLogModule、QTSSAccessLogModule、QTSSWebStatsModule、QTSSWebDebugModule、QTSSAdminModule、QTSSPOSIXFileSystemModule等,执行服务器数据的收集和记录功能;访问控制模块,包括QTSSAccessModule、QTSSHomeDirectoryModule、QTSSHttpFileModule、QTSSSpamDefenseModule等,提供鉴权和授权功能,以及操作URL路径提供支持。
上述流媒体服务器采用实时流协议RTSP完成流媒体服务。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。一次基本的RTSP操作过程包括:
步骤1:客户端向流媒体服务器发出的OPTION请求查询流媒体服务器可用方法;
步骤2:客服端向服务器发送DESCRIBE请求,流媒体服务器通过一个SDP包向客户端返回指定媒体流的媒体名称、流数量、封装格式等描述信息;
步骤3:客户端向服务器发送SETUP请求要求建立RTSP会话,这个请求里包含了传输方式为TCP或UDP、客户端用于接收流媒体数据的端口等等;流媒体服务器通过对TCP端口的监听,读入请求;流媒体服务器解析请求内容,回应客户端请求等待,同时调入相应的流媒体文件;
步骤4:客户端发送PLAY请求,服务器端将流媒体文件形成RTP包,分发流媒体数据,并获得反馈传输质量的RTCP包;
步骤5:服务器还将处理快进、快退和暂停等来自客户端的播放控制命令;
步骤6:收到客户端的TEARDOWN请求,数据包发送完毕,关闭连接,释放占用的资源。
图2为本发明基于移动流媒体技术的实景骑行训练系统之应用程序服务器“生产者-消费者”模式的示意图。如图2所示,上述应用程序服务器维护固定数量的线程池和连接池,采用了输入输出完成端口(IOCP)模型。IOCP是支持多个同时发生的异步I/O操作的应用程序编程接口。IOCP对象内部有一个先进先出(FIFO)队列,用于存放IOCP所关联的输入输出端的服务请求完成消息。请求输入输出服务的进程不接收IO服务完成通知,而是检查IOCP的消息队列以确定IO请求的状态。
具体地,利用哈希表建立并维护连接池以管理基于TCP/IP协议的Socket长连接,并通过心跳机制监视所有长连接的状态。依据CPU核心数量开辟固定数量的线程池和内存池,通过管理线程池和内存池来有序地处理消息队列中的任务。创建一个IOCP对象,将其与连接池与线程池关联起来。连接池中各Socket长连接收到的网络消息先进入IOCP,再根据信号量同步互斥地往消息队列中添加。如果当前线程池中有线程处于空闲状态,那么空闲线程就会从消息队列中取出头部的任务进行处理,否则就等待某个线程处理完当前任务再取出消息队列中头部的任务进行处理。
图3为本发明基于移动流媒体技术的实景骑行训练系统之Android实景骑行客户端的逻辑框架。如图3所示,所述Android实景骑行客户端包含UI界面及相应Activity、BTService模块、NetService模块及流媒体播放器模块等主要功能模块。UI界面及相应Activity,为用户提供可视化的UI界面,能够处理部分简单的用户请求,或调用BTService模块、NetService模块、流媒体播放器模块等其他功能模块进行处理用户请求;BTService模块,采用标准蓝牙3.0协议,能够与支持标准蓝牙3.0协议的骑行台设备进行连接,提供Send()方法向骑行台发送档位数据以控制骑行阻力,同时能够接收骑行台发送的速度等信息,并在Android程序内部通过Broadcast机制广播给需要处理该信息的Activity;NetService模块,负责建立与服务器平台的TCP长连接,随Android实景骑行客户端启动而启动,提供Send()方法将需要服务器处理的消息发送给服务器,同时能够接收和预处理服务器发送来的信息,并在Android程序内部通过Broadcast机制广播给需要处理该信息的Activity;流媒体播放器模块,基于Vitamio开源多媒体播放框架实现,用于播放高清流视频赛道,采用依据骑行速度调整播放倍率算法,配合BTService模块及NetService模块完成基于移动流媒体技术的实景训练功能。
图4为本发明基于移动流媒体技术的实景骑行训练系统之基于移动流媒体技术的实景训练流程图。上述Android实景骑行训练客户端的流媒体播放器模块主要功能是进行流媒体赛道视频的播放,并根据骑行速度调整播放倍率,同时实时地显示骑行数据。由于Android本身的多媒体框架功能有限,Android实景骑行训练客户端导入了Vitamio开源多媒体播放框架模块,利用其进行流视频赛道的播放显示和播放倍率调整;通过BTService模块,在骑行过程中控制调整骑行台档位以模拟骑行阻力,同时接收骑行台发送的速度等信息用于显示和调整播放倍率;通过NetService模块,向服务器平台发送相关请求包括用户验证、赛道信息获取、训练数据存储等,同时接收服务器发送的消息以完成相应操作。具体步骤如下:
步骤1:初始化NetService建立与应用程序服务器的TCP连接后,通过NetService的实例,调用其Send()方法,向应用程序服务器发送请求获取视频赛道文件信息列表;
步骤2:解析回执协议,在UI界面上显示赛道列表,获取RTSP链接;
步骤3:待用户选择赛道后,启动新的实景训练Activity,并启动NetService、及BTService相应的BroadcastReceiver;初始化一个Vitamio的VideoView,在其上初始化各训练数据显示标签;
步骤4:调用playVideo()传入流媒体视频的RTSP链接并向流媒体服务器发起RTSP会话请求,同时设置相关参数,读取赛道坡度等数据;
步骤5:待与流媒体服务器建立RTSP会话,开始播放实景赛道视频;骑行过程中,依据坡度计算骑行档位,并通过BTService的Send()方法发送给下位机以骑行阻力;同时,依据BTService的接收到的骑行速度控制视频播放倍率;
步骤6:待实景视频播放完毕或用户主动退出,向流媒体服务器请求结束RTSP会话,并释放相关资源;同时,向应用程序服务器发送协议将训练数据保存到数据库服务器中。
考虑Android设备播放器在播放倍率上有所限制,原先在PC端使用的线性的依据骑行速度调整播放倍率算法在Android使用效果不佳,因此本发明专门设计了适应于Android设备的依据骑行速度调整播放倍率算法。通常,Android多媒体播放框架的播放倍率可调整范围通常有局限,本发明中使用到的Vitamio亦是如此。假设播放倍率下限为0.5,上限为2.0,视频拍摄时的标准速度为30km/h,那么可以计算出原先线性的依据骑行速度调整播放倍率算法有效骑行速度范围为15km/h到60km/h。然而实际情况下,骑行速度一般集中在8km/h到30km/h,因此原先算法应用在Android客户端上时的有效速度的取值范围与实际骑行速度范围相差过大,且区分度差。
本发明中依据骑行速度调整播放倍率算法能够适应播放倍率的限制,在限制的倍率范围内保持一定的区分度,具体步骤如下:
步骤1:在视频存入服务器之前,先对视频做拉伸预处理,降低视频一倍速播放时对应的骑行速度。规定拉伸后视频一倍速播放时对应的骑行速度vs,此速度依据该赛道骑行时实际骑行速度分布取中位数而得。已知v0为视频录制时的标准骑行速度,则拉伸倍数为预处理操作通过视频拉伸把视频一倍率播放时对应的骑行速度降低到一个合理值,拉长了正常骑行速度对应的播放倍率区间,压缩了骑行时极少或不可能出现的速度值对应的播放倍率区间,同时提高了非高速骑行时的区分度。
步骤2:播放时,根据骑行速度调整视频播放倍率。规定根据播放器的最小播放倍数Nmin,最大播放倍数Nmax,规定最小有效骑行速度为vminkm/h,最大有效骑行速度为vmax,则当骑行台传递上来骑行速度为v时,流媒体视频播放倍率
其中,vs为7.1中得到的拉伸后视频一倍速播放时对应的骑行速度。此算法规定了最低和最高有效骑行速度,低于此速度时播放倍率将取到最小值或最大值;当速度处于有效区间内时,若骑行速度低于vs则速度在Nmin到1倍率之间变动,若骑行速度低于vs则速度在1倍率到Nmax之间变动。

Claims (6)

1.一种基于移动流媒体技术的实景骑行训练系统,其特征在于,所述系统包括基于移动流媒体技术的服务器平台和Android实景骑行训练客户端,服务器平台对用户信息、比赛信息、视频赛道信息数据进行组织和管理,提供用户连接管理、用户信息存储、流媒体赛道点播服务;Android实景骑行训练客户端包含UI界面及相应Activity、BTService模块、NetService模块及流媒体播放器模块,能够通过蓝牙连接骑行台,通过TCP/IP协议连接服务器平台,通过流媒体播放器点播流媒体服务器上的高清赛道视频,让用户能够使用Android设备进行基于移动流媒体技术的实景骑行训练;所述Android实景骑行训练客户端的流媒体播放器模块,采用骑行速度控制播放倍率算法,其步骤如下:
步骤7.1:对视频做拉伸预处理并存入数据库中:规定拉伸后视频一倍速播放时对应的骑行速度vs,已知v0为视频录制时的标准骑行速度,则拉伸倍数为
步骤7.2:播放时,根据骑行速度调整视频播放倍率,规定根据播放器的最小播放倍数Nmin,最大播放倍数Nmax,规定最小有效骑行速度为vminkm/h,最大有效骑行速度为vmax,则当骑行台传递上来骑行速度为v时,流媒体视频播放倍率
其中,vs为7.1中得到的拉伸后视频一倍速播放时对应的骑行速度。
2.如权利要求1所述基于移动流媒体技术的实景骑行训练系统,其特征在于:所述基于移动流媒体技术的服务器平台包括应用程序服务器、流媒体服务器和数据库服务器;
所述应用程序服务器,与数据库服务器、流媒体服务器直接交互,提供管理用户连接、收集和响应用户请求服务;
所述流媒体服务器,依照应用程序服务器解析的用户请求,为用户提供内容发现及高清实景赛道视频的流媒体点播服务;
所述数据库服务器,用于存储用户数据、赛事信息、视频赛道信息数据,配合应用程序服务器提供用户信息验证、赛事赛道信息查询、训练数据存储服务。
3.如权利要求1或2所述基于移动流媒体技术的实景骑行训练系统,其特征在于,所述流媒体服务器基于Darwin Streaming Server设计,采用实时流协议RTSP以完成流媒体点播服务,包含以下三种类型的模块:内容管理模块,负责管理与媒体源相关的RTSP请求和响应,每个模块负责解释客户的请求,读取和解析它们的支持文件或者网络源,并且以RTSP和RTP的方式进行响应;服务器支持模块,执行服务器数据的收集和记录功能;访问控制模块,提供鉴权和授权功能,以及操作URL路径提供支持。
4.如权利要求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会话,并释放相关资源;同时,向应用程序服务器发送协议将训练数据保存到数据库服务器中。
CN202010735914.8A 2020-07-28 2020-07-28 一种基于移动流媒体技术的实景骑行训练系统 Active CN112057832B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010735914.8A CN112057832B (zh) 2020-07-28 2020-07-28 一种基于移动流媒体技术的实景骑行训练系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010735914.8A CN112057832B (zh) 2020-07-28 2020-07-28 一种基于移动流媒体技术的实景骑行训练系统

Publications (2)

Publication Number Publication Date
CN112057832A CN112057832A (zh) 2020-12-11
CN112057832B true CN112057832B (zh) 2023-07-25

Family

ID=73657029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010735914.8A Active CN112057832B (zh) 2020-07-28 2020-07-28 一种基于移动流媒体技术的实景骑行训练系统

Country Status (1)

Country Link
CN (1) CN112057832B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671810B (zh) * 2021-03-18 2021-06-01 紫光恒越技术有限公司 一种数据处理方法、装置、电子设备、服务器及存储设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103260050B (zh) * 2013-04-09 2016-02-17 同济大学 基于Google App Engine云平台的视频点播系统
CN104639992A (zh) * 2013-11-15 2015-05-20 上海信游网络科技有限公司 基于流媒体技术的手机视频播放系统
CN106791070A (zh) * 2016-12-15 2017-05-31 义乌畅为智能科技有限公司 用于无线控制自行车健身骑行台的Android/IOS移动端APP系统
CN109908549A (zh) * 2019-03-26 2019-06-21 昆山亚新鸿运动器材有限公司 一种智能实景动感单车的骑行速度控制系统及方法
CN110633669B (zh) * 2019-09-12 2024-03-26 华北电力大学(保定) 家居环境中基于深度学习的移动端人脸属性识别方法

Also Published As

Publication number Publication date
CN112057832A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
CN108848060B (zh) 一种多媒体文件处理方法、处理系统及计算机可读存储介质
CN103813213B (zh) 基于移动云计算的实时视频分享平台和方法
CN104683884B (zh) 一种流媒体直播方法及系统
CN110535871B (zh) 一种基于WebRTC的课堂实时视频投影方法及系统
CN102158553B (zh) 用于远程桌面的播放多媒体文件的方法和装置
CN103166941B (zh) 一种数据分享的方法及装置
CN102571979B (zh) 多屏互动设备及其绑定方法
CN107612912B (zh) 一种设置播放参数的方法和装置
WO2023116233A1 (zh) 视频卡顿预测方法、装置、设备和介质
CN103248956A (zh) 一种多屏协作模式的智能家庭视频业务的实现方法及系统
CN103945240A (zh) 一种基于视频聚合的视频播放方法及装置
US20130225290A1 (en) Wearable personal mini cloud game and multimedia device
CN102970579B (zh) 一种视频缓冲区监控的方法及装置
CN107872721A (zh) 一种多媒体数据传输方法、终端及计算机可读介质
CN110493554A (zh) 一种发言终端的切换方法及系统
CN107040825B (zh) 终端、电视机、多屏互动系统和抓屏参数的设置方法
CN106375859B (zh) 一种媒体处理方法、装置及终端
CN103841361A (zh) 一种低带宽下整合多种会议系统的通讯方法
CN113741762A (zh) 一种多媒体播放方法、装置、电子设备和存储介质
CN112057832B (zh) 一种基于移动流媒体技术的实景骑行训练系统
CN110267093A (zh) 直播视频推送方法、装置、存储介质、终端及直播镜
CN113824925A (zh) 一种web无插件视频监控系统和方法
CN106454388A (zh) 一种用于确定直播设置信息的方法与设备
CN110113298A (zh) 数据传输方法、装置、信令服务器和计算机可读介质
CN105847709A (zh) 云导播台以及多路视频拼接方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant