一种媒体播放方法、装置和电子设备制造方法及图纸

技术编号:35087883 阅读:10 留言:0更新日期:2022-10-01 16:42
本申请实施例提供了一种媒体播放方法、装置和电子设备。该方法用于实现客户端的本地媒体服务功能,包括:接收应用的第一播放请求,第一播放请求包括第一标识;将第一地址发送给应用,第一地址为本地统一资源定位符URL地址;将服务端的第一标识对应的目标媒体资源从服务端设备缓存至客户端设备;当接收到应用程序向第一地址发送的第二播放请求时,将缓存的目标媒体资源发送给应用程序进行播放。这样,服务端设备只需向电子设备提供普通的文件传输功能,不参与和感知播放过程,因此不需要部署播放相关的服务,降低了对服务端的能力要求,从而实现了瘦设备间的媒体跨设备实时播放。而实现了瘦设备间的媒体跨设备实时播放。而实现了瘦设备间的媒体跨设备实时播放。

【技术实现步骤摘要】
一种媒体播放方法、装置和电子设备


[0001]本申请涉及媒体播放
,尤其涉及一种媒体播放方法、装置和电子设备。

技术介绍

[0002]在分布式场景中,客户端设备可以通过网络与多个服务端设备连接,播放服务端设备中的媒体资源或者控制服务端设备。目前,客户端设备播放服务端设备中的媒体资源的方式可以包括本地播放和实时流传输播放。
[0003]本地播放是指在用户请求播放媒体资源时,客户端设备首先将完整的音/视频文件从服务端设备拉取到本地,然后再开始播放,由于音/视频文件通常较大,从用户请求播放到完成音/视频文件的拉去需要消耗一段时间,因此用户会感觉到播放存在明显的卡顿,无法实现实时播放,用户体验差。
[0004]实时流传输播放是指基于实时流传输协议或投屏协议,例如实时流协议(real time streaming protocol,RTSP)、基于超文本传输协议(hypertext transfer protocol,HTTP)的实时流协议(HTTP live streaming,HLS)等,在服务端设备部署实时流传输、内容分发和/或编解码等服务,当客户端设备请求播放媒体资源时,服务端设备基于部署的服务向客户端设备发送媒体流,客户端设备一边缓存一边播放媒体流。然而,实时流传输播放方式需要在服务端设备部署服务,因此对服务端设备的能力要求较高,无法在瘦设备中实现。另外,实时流传输播放方式对网络质量也有一定的要求,如果媒体流的缓存速度过低,则播放会出现卡顿。
[0005]由此可见,对于在瘦设备间实现媒体的跨设备实时播放,目前尚无可行的解决方案。

技术实现思路

[0006]本申请实施例提供了一种媒体播放方法、装置和电子设备,以在瘦设备间实现媒体的跨设备实时播放。
[0007]第一方面,本申请实施例提供了一种媒体播放方法。该方法包括:客户端设备上的媒体代理服务接收客户端设备上的应用程序的第一播放请求,第一播放请求包括第一标识,第一标识对应服务端设备中的目标媒体资源;媒体代理服务根据第一标识确定是否已启动目标媒体资源的缓存传输流程;如果未启动缓存传输流程,媒体代理服务启动缓存传输流程以将目标媒体资源从服务端设备缓存至客户端设备,并将第一地址发送给应用程序,第一地址为客户端设备的用于访问缓存的目标媒体资源的本地统一资源定位符URL地址;媒体代理服务在接收到应用程序向第一地址发送的第二播放请求时,将缓存的目标媒体资源发送给应用程序进行播放。
[0008]本申请实施例提供的媒体播放方法在客户端构建了媒体代理服务,客户端设备在应用程序请求播放服务端设备的媒体资源时,可以通过媒体代理服务先将媒体资源缓存至本地,使应用程序可以直接向媒体代理服务请求从本地获取媒体资源并播放。这样,服务端
设备只需向客户端设备提供普通的文件传输功能,不参与和感知播放过程,因此不需要部署播放相关的服务,降低了对服务端设备的能力要求,从而实现了瘦设备间的媒体跨设备实时播放。
[0009]在一种实现方式中,媒体代理服务确定是否已启动目标媒体资源的缓存传输流程之后,还包括:如果已启动缓存传输流程,但是缓存传输流程被挂起,媒体代理服务继续缓存传输流程以根据目标媒体资源的缓存进度继续将目标媒体资源从服务端设备缓存至客户端设备,并将第二地址发送给应用程序,第二地址为客户端设备的用于访问缓存的目标媒体资源的本地URL地址;媒体代理服务在接收到应用程序向第二地址发送的第三播放请求时,将缓存的目标媒体资源发送给应用程序进行播放。这样,当缓存传输从挂起状态恢复时,媒体代理服务可以采用增量传输的方式继续缓存目标媒体资源,不需要重新缓存。
[0010]在一种实现方式中,媒体代理服务确定是否已启动目标媒体资源的缓存传输流程之后,还包括:如果目标媒体资源已经完全缓存至客户端设备,媒体代理服务将第三地址发送给应用程序,以使应用程序从第三地址获取目标媒体资源进行播放,第三地址为目标媒体资源在客户端设备中缓存的文件路径。这样,当目标媒体资源已缓存至本地之后,应用程序可以直接访问本地存储的目标媒体资源文件进行播放,不再需要媒体代理服务生成媒体流。
[0011]在一种实现方式中,媒体代理服务确定是否已启动目标媒体资源的缓存传输流程之后,还包括:如果目标媒体资源已经完全缓存至客户端设备,媒体代理服务将第四地址发送给应用程序,第四地址为客户端设备的用于访问缓存的目标媒体资源的本地URL地址;媒体代理服务在接收到应用程序向第四地址发送的第四播放请求时,将缓存的目标媒体资源发送给应用程序进行播放。这样,当目标媒体资源已缓存至本地之后,媒体代理服务也可以继续为应用程序生成媒体流,应用程序可以接收媒体代理服务发送的媒体流并播放。
[0012]在一种实现方式中,第一地址包括客户端设备的本地网际协议IP地址和第一端口;第二播放请求为超文本传输协议HTTP请求。
[0013]在一种实现方式中,媒体代理服务在接收到应用程序向第一地址发送的第二播放请求时,将缓存的目标媒体资源发送给应用程序,包括:媒体代理服务监听本地IP地址的第一端口;媒体代理服务在监听到第二播放请求时,生成第一应答消息,第一应答消息为HTTP应答消息,第一应答消息包括根据已缓存的目标媒体资源生成的媒体流。这样,媒体代理服务和应用程序之间可以基于HTTP协议进行数据传输,例如传输媒体流等。
[0014]在一种实现方式中,该方法还包括:媒体代理服务在接收到应用程序的停止播放请求时,如果正在进行缓存传输流程,将缓存传输流程挂起,以及记录目标媒体资源的缓存进度。这样,当用户后续播放时,媒体代理服务可以基于缓存进度继续执行缓存传输流程。
[0015]第二方面,本申请实施例提供了一种媒体播放方法。该方法包括:客户端设备上的应用程序向客户端设备上的媒体代理服务发送第一播放请求,第一播放请求包括第一标识,第一标识对应服务端设备中的目标媒体资源;应用程序接收媒体代理服务发送的目标地址;如果目标地址是客户端设备的本地URL地址,应用程序向本地URL地址发送第二播放请求;应用程序接收媒体代理服务响应于第二播放请求发送的目标媒体资源并进行播放,目标媒体资源由媒体代理服务从服务端设备缓存至客户端设备。本申请实施例提供的媒体播放方法在客户端设备构建了媒体代理服务,客户端设备在应用程序请求播放服务端设备
的媒体资源时,可以通过媒体代理服务先将媒体资源缓存至本地,使应用程序可以直接向媒体代理服务请求从本地获取媒体资源并播放。这样,服务端设备只需向客户端设备提供普通的文件传输功能,不参与和感知播放过程,因此不需要部署播放相关的服务,降低了对服务端设备的能力要求,从而实现了瘦设备间的媒体跨设备实时播放。
[0016]在一种实现方式中,应用程序接收媒体代理服务发送的目标地址之后,还包括:如果目标地址是客户端设备中的文件路径地址,应用程序从文件路径地址获取目标媒体资源进行播放。这样,当目标媒体资源已缓存至本地之后,应用程序可以直接访问本地存储的目标媒体资源文件进行播放,不再需要媒体代理服务生成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种媒体播放方法,其特征在于,包括:客户端设备上的媒体代理服务接收所述客户端设备上的应用程序的第一播放请求,所述第一播放请求包括第一标识,所述第一标识对应服务端设备中的目标媒体资源;所述媒体代理服务根据所述第一标识确定是否已启动所述目标媒体资源的缓存传输流程;如果未启动所述缓存传输流程,所述媒体代理服务启动所述缓存传输流程以将所述目标媒体资源从所述服务端设备缓存至所述客户端设备,并将第一地址发送给所述应用程序,所述第一地址为所述客户端设备的用于访问缓存的所述目标媒体资源的本地统一资源定位符URL地址;所述媒体代理服务在接收到所述应用程序向所述第一地址发送的第二播放请求时,将缓存的所述目标媒体资源发送给所述应用程序进行播放。2.根据权利要求1所述的方法,其特征在于,所述媒体代理服务确定是否已启动所述目标媒体资源的缓存传输流程之后,还包括:如果已启动所述缓存传输流程,但是所述缓存传输流程被挂起,所述媒体代理服务继续所述缓存传输流程以根据所述目标媒体资源的缓存进度继续将所述目标媒体资源从所述服务端设备缓存至所述客户端设备,并将第二地址发送给所述应用程序,所述第二地址为所述客户端设备的用于访问缓存的所述目标媒体资源的本地URL地址;所述媒体代理服务在接收到所述应用程序向所述第二地址发送的第三播放请求时,将缓存的所述目标媒体资源发送给所述应用程序进行播放。3.根据权利要求1或2所述的方法,其特征在于,所述媒体代理服务确定是否已启动所述目标媒体资源的缓存传输流程之后,还包括:如果所述目标媒体资源已经完全缓存至所述客户端设备,所述媒体代理服务将第三地址发送给所述应用程序,以使所述应用程序从所述第三地址获取所述目标媒体资源进行播放,所述第三地址为所述目标媒体资源在所述客户端设备中缓存的文件路径。4.根据权利要求1或2所述的方法,其特征在于,所述媒体代理服务确定是否已启动所述目标媒体资源的缓存传输流程之后,还包括:如果所述目标媒体资源已经完全缓存至所述客户端设备,所述媒体代理服务将所述第四地址发送给所述应用程序,所述第四地址为所述客户端设备的用于访问缓存的所述目标媒体资源的本地URL地址;所述媒体代理服务在接收到所述应用程序向所述第四地址发送的第四播放请求时,将缓存的所述目标媒体资源发送给所述应用程序进行播放。5.根据权利要求1所述的方法,其特征在于,所述第一地址包括所述客户端设备的本地网际协议IP地址和第一端口;所述第二播放请求为超文本传输协议HTTP请求。6.根据权利要求5所述的方法,其特征在于,所述媒体代理服务在接收到所述应用程序向所述第一地址发送的第二播放请求时,将缓存的所述目标媒体资源发送给所述应用程序,包括:所述媒体代理服务监听所述本地IP地址的所述第一端口;所述媒体代理服务在监听到所述第二播放请求时,生成第一应答消息,所述第一应答
消息为HTTP应答消息,所述第一应答消息包括根据已缓存的所述目标媒体资源生成的媒体流。7.根据权利要求1或2所述的方法,其特征在于,还包括:所述媒体代理服务在接收到所述应用程序的停止播放请求时,如果正在进行所述缓存传输流程,将缓存传输流程挂起,以及记录所述目标媒体资源的缓存进度。8.一种媒体播放方法,其特征在于,客户端设备上的应用程序向所述客户端设备上的媒体代理服务发送第一播放请求,所述第一播放请求包括第一标识,所述第一标识对应服务端设备中的目标媒体资源;所述应用程序接收所述媒体代理服务发送的目标地址;如果所述目标地址是所述客户端设备的本地URL地址,所述应用程序向所述本地URL地址发送第二播放请求;所述应用程序接收所述媒体代理服务响应于所述第二播放请求发送的所述目标媒体资源并进行播放,所述目标媒体资源由所述媒体代理服务从所述服务端设备缓存至所述客户端设备。9.根据权利要求8所述的方法,其特征在于,所述应用程序接收所述媒体代理服务发送的目标地址之后,还包括:如果所述目标地址是所述客户端设备中的文件路径地址,所述应用程序从所述文件路径地址获取所述目标媒体资源进行播放。10.根据权利要求8所述的方法,其特征在于,所述本地URL地址包括所述客户端设备的本地IP地址和第一端口;所述第二播放请求为超文本传输协议HTTP请求。11.根据权利要求10所述的方法,其特征在于,所述应用程序向所述本地URL地址发送第二播放请求,包括:所述应用程序向所述本地IP地址的所述第一端口发送所述第二播放请求。12.根据权利要求10或11所述的方法,其特征在于,所述应用程序接收所述媒体代理服务响应于所述第二播放请求发送的所述目标媒体资源,包括:所述应用程序接收所述媒体代理服务响应于所述第二播放请求发送的第一应答消息,所述第一应答消息为HTTP应答消息,所述第一应答消息包括所述媒体代理服务根据已缓存的所述目标媒体资源生成的媒体流。13.一种媒体播放装置,其特征在于,包括:虚拟服务器,用于接收所述...

【专利技术属性】
技术研发人员:陈刚
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1