CN107959659A - 一种流媒体播放控制方法、装置及电子设备 - Google Patents
一种流媒体播放控制方法、装置及电子设备 Download PDFInfo
- Publication number
- CN107959659A CN107959659A CN201610902024.5A CN201610902024A CN107959659A CN 107959659 A CN107959659 A CN 107959659A CN 201610902024 A CN201610902024 A CN 201610902024A CN 107959659 A CN107959659 A CN 107959659A
- Authority
- CN
- China
- Prior art keywords
- stream
- take
- bit stream
- buffering area
- stream data
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26233—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明的实施例公开一种流媒体播放控制方法、装置及电子设备,涉及多媒体技术领域,能够既不浪费内存又能满足播放的缓冲需求。所述方法包括:在流媒体播放过程中,根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率;将得到的所述当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小;判断所述缓冲区内剩余的码流数据量是否小于预设的触发取流阈值;若小于预设的触发取流阈值,则向服务器发送取流请求。所述装置及电子设备上设有用于实现所述方法的相应模块。本发明适用于播放流媒体的操作。
Description
技术领域
本发明涉及多媒体技术领域,尤其涉及一种流媒体播放控制方法、装置及电子设备。
背景技术
现有技术中,播放控制系统的客户端按可传输的最大带宽请求流媒体文件而没有流控机制,客户端需开辟大量的缓冲区用于缓存请求得到的流媒体文件,播放端从缓冲区中取数据进行播放。
在流媒体文件播放过程中,客户端开辟的缓冲区大小由客户端请求的流媒体文件大小和当前播放速度决定,如果请求的流媒体文件非常大则需要开辟大量的缓冲区,会导致内存的浪费。
发明内容
有鉴于此,本发明实施例提供一种流媒体播放控制方法、装置及电子设备,以解决现有的开辟大量的缓冲区会造成内存浪费的问题。
第一方面,本发明实施例提供一种流媒体播放控制方法,包括:
在流媒体播放过程中,根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率;
将得到的所述当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小;
判断所述缓冲区内剩余的码流数据量是否小于预设的触发取流阈值;
若小于预设的触发取流阈值,则向服务器发送取流请求。
结合第一方面,在第一方面的第一种实施方式中,所述若小于预设的触发取流阈值,则向服务器发送取流请求包括:
若所述缓冲区内剩余的码流数据量小于预设的触发取流阈值,则根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,对所述服务器中的流媒体文件分段进行请求。
结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,对所述服务器中的流媒体文件分段进行请求包括:
根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,以使所述服务器根据接收到的所述取流请求返回相应的码流数据;
其中,所述取流请求包括:取流开始偏移位置及取流结束偏移位置,所述取流开始偏移位置为当前缓冲区内剩余的码流数据最后指向的位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区内已消耗的码流数据量的和指向的位置。
结合第一方面的第二种实施方式,在第一方面的第三种实施方式中,播放控制命令包括:开始播放、暂停播放、恢复播放、加速播放、减速播放和/或定位操作;
所述方法还包括:
若接收到的所述播放控制命令为定位操作,则清空所述缓冲区内的码流数据,并根据所述缓冲区的大小向所述服务器发送取流请求,以使所述服务器根据接收到的所述取流请求返回相应的码流数据;
其中,所述取流开始偏移位置为所述定位操作的定位点位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区的大小的和指向的位置。
结合第一方面的第二种实施方式或第三种实施方式,在第一方面的第四种实施方式中,所述方法还包括:
若所述取流请求的码流数据达到请求的流媒体文件的末尾,则所述取流结束偏移位置为请求的所述流媒体文件的末尾位置。
第二方面,本发明实施例提供一种流媒体播放控制装置,包括:
确定模块,用于在流媒体播放过程中,根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率;
缓冲模块,用于将得到的所述当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小;
判断模块,用于判断所述缓冲区内剩余的码流数据量是否小于预设的触发取流阈值;
取流模块,用于若小于预设的触发取流阈值,则向服务器发送取流请求。
结合第二方面,在第二方面的第一种实施方式中,所述取流模块,具体用于若所述缓冲区内剩余的码流数据量小于预设的触发取流阈值,则根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,对所述服务器中的流媒体文件分段进行请求。
结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述取流模块,具体用于根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,以使所述服务器根据接收到的所述取流请求返回相应的码流数据;
其中,所述取流请求包括:取流开始偏移位置及取流结束偏移位置,所述取流开始偏移位置为当前缓冲区内剩余的码流数据最后指向的位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区内已消耗的码流数据量的和指向的位置。
结合第二方面的第二种实施方式,在第二方面的第三种实施方式中,播放控制命令包括:开始播放、暂停播放、恢复播放、加速播放、减速播放和/或定位操作;
所述装置还包括:清空模块;
所述清空模块,用于若接收到的所述播放控制命令为定位操作,则清空所述缓冲区内的码流数据;
所述取流模块,具体用于根据所述缓冲区的大小向所述服务器发送取流请求,以使所述服务器根据接收到的所述取流请求返回相应的码流数据;
其中,所述取流开始偏移位置为所述定位操作的定位点位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区的大小的和指向的位置。
结合第二方面的第二种实施方式或第三种实施方式,在第二方面的第四种实施方式中,所述取流模块,还用于若所述取流请求的码流数据达到请求的流媒体文件的末尾,则所述取流结束偏移位置为请求的所述流媒体文件的末尾位置。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的流媒体播放控制方法。
本发明实施例提供的一种流媒体播放控制方法、装置及电子设备,在流媒体播放过程中,根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率,将得到的所述当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小,根据得到的所述缓冲区的大小动态地调整缓冲区的大小,使缓冲区达到一个最佳的缓冲与播放的平衡状态,既不浪费内存又能满足播放的缓冲需求,若所述缓冲区内剩余的码流数据量小于预设的触发取流阈值,则向服务器发送取流请求,从而解决现有的开辟大量的缓冲区会造成内存浪费的题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例流媒体播放控制方法的流程示意图;
图2为本发明的实施例流媒体播放控制方法的具体流程示意图;
图3为本发明的实施例流媒体播放控制装置的结构示意图;
图4为本发明的实施例流媒体播放控制装置的具体结构示意图;
图5为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明的实施例流媒体播放控制方法的流程示意图,如图1所示,本实施例的方法可以包括:
步骤101、在流媒体播放过程中,根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率。
本实施例中,接收用户输入的播放控制命令(例如,开始播放)后,播放模块(或播放端)根据用户输入的播放控制指令播放流媒体,在流媒体播放过程中,可以根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率。作为一可选实施例,所述播放控制命令可以包括但不限于:开始播放、暂停播放、恢复播放、加速播放、减速播放和/或定位操作;也就是说,在本实施例中,可以实现用户输入的不同播放操作。
本实施例中,假设开始播放时,缓冲区大小和剩余码流数据大小均为S,此时,缓冲区内剩余的码流数据支持的播放时间为t2;随着播放的进行,当缓冲区内剩余的码流数据量到达1/3S时,缓冲区内剩余的码流数据(1/3S)支持的播放时间为t1,那么可得当前码流数据的码率为
其中,V1表示当前码流数据的码率。
步骤102、将得到的所述当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小。
本实施例中,考虑到如果缓冲区太大虽然可以存放足够多的码流数据供播放模块取流播放,但是存在内存的浪费的问题;如果缓冲区太小无法及时提供足够多的码流数据给播放模块导致播放卡顿。综合以上2个因素,合理的缓冲区大小应该是以支持固定播放时间为单位的数据大小,因此,所述预设的播放时间为所述缓冲区的码流数据能够支持的固定播放时间,例如,可以设定缓冲区大小为支持6s播放时间的码流数据大小,这样,所述缓冲区可以缓冲6s播放时间的码流数据,所述支持6s播放时间包括:支持6s正常速播放、支持6s加速播放和支持6s减速播放,也就是说,当进行正常速播放时,所述缓冲区内的码流数据可以支持6s的播放时间;当进行加速播放时,所述缓冲区内的码流数据可以支持6s的播放时间;当进行减速播放时,所述缓冲区内的码流数据也可以支持6s的播放时间。
本实施例中,根据步骤101得到当前码流数据的码率V1,可得到支持6s的播放时间的码流数据大小为6V1,则调整所述缓冲区的大小为6V1。这样,将当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小,并根据得到的所述缓冲区的大小开辟大小合适的缓冲区,从而能够有效地利用内存。
本实施例中,在流媒体播放过程中,多次执行步骤101、步骤102进行统计,可以得到缓冲区大小的表达式,假设第n次统计的码率为Vn,那么得出第n+1次的码率为:
则第n+1次的缓冲区大小Sn+1=6Vn+1,n=1,2,3...;如果码率固定不变,每次统计得到的S非常接近。如果码率突然变化,或者用户进行加速或减速播放,则统计得到的S会有较大的变化。如果统计得到的S为0,表示当前处于暂停播放状态,每统计一次之后根据得到的S大小调整缓冲区的大小,若当前处于暂停播放状态,则不对缓冲区大小进行调整。
本实施例中,除了定位操作之外,不同的播放控制命令产生的结果是播放模块对缓冲区内的码流数据以不同的速度进行消耗,例如,暂停播放时,单位时间(例如,1s)内缓冲区内码流数据的消耗量为0;加速播放时,单位时间内缓冲区内码流数据的消耗量增加;减速播放时,单位时间内缓冲区内码流数据消耗量减少;正常播放时,单位时间内缓冲区内的码流数据以单倍速进行消耗。
步骤103、判断所述缓冲区内剩余的码流数据量是否小于预设的触发取流阈值。
本实施例中,所述触发取流阈值可以根据实际情况进行确定,例如,所述触发取流阈值可以为支持2s播放时间的码流数据大小,即,所述触发取流阈值为2V1。
步骤104、若小于预设的触发取流阈值,则向服务器发送取流请求。
本实施例中,判断所述缓冲区内剩余的码流数据量是否小于预设的触发取流阈值2V1,若所述缓冲区内剩余的码流数据量小于2V1,则向服务器发送取流请求,以使服务器根据接收到的取流请求返回相应的码流数据,从而完成取流操作。
本实施例所述的流媒体播放控制方法,在流媒体播放过程中,根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率,将得到的所述当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小,根据得到的所述缓冲区的大小动态地调整缓冲区的大小,使缓冲区达到一个最佳的缓冲与播放的平衡状态,既不浪费内存又能满足播放的缓冲需求,若所述缓冲区内剩余的码流数据量小于预设的触发取流阈值,则向服务器发送取流请求,从而解决现有的开辟大量的缓冲区会造成内存浪费的题。
图2为本发明流媒体播放控制方法实施例二的具体流程示意图,如图2所示,本实施例的方法可以包括:
步骤201、在流媒体播放过程中,根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率。
本实施例中,步骤201的过程和上述方法实施例的步骤101类似,此处不再赘述。
步骤202、将得到的所述当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小。
本实施例中,步骤202的过程和上述方法实施例的步骤102类似,此处不再赘述。
步骤203、判断所述缓冲区内剩余的码流数据量是否小于预设的触发取流阈值。
本实施例中,步骤203的过程和上述方法实施例的步骤103类似,此处不再赘述。
步骤204、若所述缓冲区内剩余的码流数据量小于预设的触发取流阈值,则根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,对所述服务器中的流媒体文件分段进行请求。
本实施例中,当所述缓冲区内剩余的码流数据量小于预设的触发取流阈值时,则向服务器发送取流请求,对所述服务器中的流媒体文件分段进行请求,从而将存放于服务器中的流媒体文件分多次进行获取,每次获取的分段大小为所述缓冲区内已消耗的码流数据量,分段请求能够有效地降低单位时间(例如,1s)内对带宽的占用,从而能够有效地利用带宽。
本实施例中,例如,当前码流数据的码率为V1,所述缓冲区内的码流数据支持6s的播放时间,所述触发取流阈值为支持2s播放时间的码流数据大小(2V1),若所述缓冲区内剩余的码流数据量小于2V1,则所述缓冲区内已消耗的码流数据量为4V1,即,对服务器中的流媒体文件分段进行请求的码流数据大小为4V1。
本实施例所述的流媒体播放控制方法,在流媒体播放过程中,根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率,将得到的所述当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小,根据得到的所述缓冲区的大小动态地调整缓冲区的大小,使缓冲区达到一个最佳的缓冲与播放的平衡状态,既不浪费内存又能满足播放的缓冲需求,若所述缓冲区内剩余的码流数据量小于预设的触发取流阈值,则向服务器发送取流请求,对所述服务器中的流媒体文件分段进行请求,从而将存放于服务器中的流媒体文件分多次进行获取,每次获取的分段大小为所述缓冲区内已消耗的码流数据量,分段请求能够有效地降低单位时间内对带宽的占用,从而能够有效地利用带宽。
本实施例中,所述取流请求至少包括但不限于:取流开始偏移位置及取流结束偏移位置,所述取流开始偏移位置为当前缓冲区内剩余的码流数据最后指向的位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区内已消耗的码流数据量的和指向的位置。
本实施例中,作为一可选实施例,所述根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,对所述服务器中的流媒体文件分段进行请求包括:
根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,以使所述服务器根据接收到的所述取流请求返回相应的码流数据;
其中,所述取流请求包括:取流开始偏移位置及取流结束偏移位置,所述取流开始偏移位置为当前缓冲区内剩余的码流数据最后指向的位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区内已消耗的码流数据量的和指向的位置。
本实施例中,优选地,向所述服务器发送的所述取流请求符合超文本传输协议(HyperText Transfer Protocol,HTTP)标准,完成同所述服务器的HTTP协议交互后能够获取所述取流请求对应的码流数据,其中,向所述服务器发送的取流请求报文如下:
GET/WebPlayer/ps.mp4 HTTP/1.1
HOST:10.17.134.188
User-Agent:HTTP_USER_AGENT
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*.*;q=0.8
Accept-Language:ZH-cn;zh;q=0.5
Accept-Charset;gb2312,utf8;q=0.7,*;q=0.7
Range:bytes=11314142-56570713
Connection:close
服务器返回的应答报文如下:
HTTP/1.1 206 Partial Content
Server:Apache-Coyote/1.1
Accept-Ranges:bytes
ETag:W/″56570714-1432167872440″
Last-Modified:Thu,21 May 2015 00:24:32GMT
Content-Range:bytes 11314142-56570713/56570714
Content-Type:Video/mp4
Content-Length:45256572
Date:Tue,19Jul 2016 09:19:05 GMT
Connection:close
本实施例中,根据向所述服务器发送的取流请求报文可知,所述取流请求还包括:服务器的地址:10.17.134.188,请求的流媒体文件对应的统一资源定位符(UniformResoure Locator,URL):/WebPlayer/ps.mp4,请求的数据大小bytes=11314142-56570713,其中,11314142为取流结束偏移位置,56570713为取流开始偏移位置。
本实施例中,在服务器返回的应答报文中,206是服务器返回的应答状态码,206表示只返回服务器中流媒体文件的部分数据,通过部分数据获取方法可灵活地将存放在服务器的大文件按需要分段进行下载,从而降低了单位时间内对带宽的消耗。
本实施例中,当用户进行定位操作时,需要重新缓冲数据,首先清空缓冲区内的码流数据,然后将定位操作的定位点位置发送给所述服务器进行取流直到当前缓冲区满为止,此时,所述取流开始偏移位置为所述定位操作的定位点位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区的大小的和指向的位置。
本实施例中,作为又一可选实施例,所述方法还包括:若接收到的所述播放控制命令为定位操作,则清空所述缓冲区内的码流数据,并根据所述缓冲区的大小向所述服务器发送取流请求,以使所述服务器根据接收到的所述取流请求返回相应的码流数据;
其中,所述取流开始偏移位置为所述定位操作的定位点位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区的大小的和指向的位置。
本实施例中,作为再一可选实施例,所述方法还包括:若所述取流请求的码流数据达到请求的流媒体文件的末尾,则所述取流结束偏移位置为请求的所述流媒体文件的末尾位置。
图3为本发明实施例流媒体播放控制装置的结构示意图,如图3所示,本实施例的装置可以包括:确定模块11、缓冲模块12、判断模块13和取流模块14,其中,
所述确定模块11,用于在流媒体播放过程中,根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率。
如图4所示,本实施例的装置还可以包括:控制模块15,所述控制模块15用于接收用户输入的播放控制命令,控制模块15根据接收到的播放控制指令控制播放模块3从所述缓冲模块12中取码流数据进行播放,在流媒体播放过程中,所述确定模块11可以根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率,所述控制模块15不需要分析码流数据的封装格式、编码格式,提高了对码流的兼容性。作为一可选实施例,所述播放控制命令可以包括但不限于:开始播放、暂停播放、恢复播放、加速播放、减速播放和/或定位操作;也就是说,在本实施例中,可以实现用户输入的不同播放操作。
本实施例中,假设开始播放时,缓冲区大小和剩余码流数据大小均为S,此时,缓冲区内剩余的码流数据支持的播放时间为t2;随着播放的进行,当缓冲区内剩余的码流数据量到达1/3S时,缓冲区内剩余的码流数据(1/3S)支持的播放时间为t1,那么可得当前码流数据的码率为
其中,V1表示当前码流数据的码率。
所述缓冲模块12,用于将得到的所述当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小。
本实施例中,考虑到如果缓冲区太大虽然可以存放足够多的码流数据供播放模块取流播放,但是存在内存的浪费的问题;如果缓冲区太小无法及时提供足够多的码流数据给播放模块导致播放卡顿。综合以上2个因素,合理的缓冲区大小应该是以支持固定播放时间为单位的数据大小,因此,所述预设的播放时间为所述缓冲区的码流数据能够支持的固定播放时间,例如,可以设定缓冲区大小为支持6s播放时间的码流数据大小,这样,所述缓冲区可以缓冲6s播放时间的码流数据,所述支持6s播放时间包括:支持6s正常速播放、支持6s加速播放和支持6s减速播放,也就是说,当进行正常速播放时,所述缓冲区内的码流数据可以支持6s的播放时间;当进行加速播放时,所述缓冲区内的码流数据可以支持6s的播放时间,当进行减速播放时,所述缓冲区内的码流数据也可以支持6s的播放时间。
本实施例中,根据所述确定模块11得到当前码流数据的码率V1,所述缓冲模块12可得到支持6s的播放时间的码流数据大小为6V1,则调整所述缓冲区的大小为6V1。这样,将当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小,并根据得到的所述缓冲区的大小开辟大小合适的缓冲区,从而能够有效地利用内存。
本实施例中,在流媒体播放过程中,多次调用确定模块11和缓冲模块12进行统计,可以得到缓冲区大小的表达式,假设第n次统计的码率为Vn,那么得出第n+1次的码率为:
则第n+1次的缓冲区大小Sn+1=6Vn+1,n=1,2,3...;如果码率固定不变,每次统计得到的S非常接近。如果码率突然变化,或者用户进行加速或减速播放,则统计得到的S会有较大的变化。如果统计得到的S为0,表示当前处于暂停播放状态,每统计一次之后根据得到的S大小调整缓冲区的大小,若当前处于暂停播放状态,则不对缓冲区大小进行调整。
本实施例中,除了定位操作之外,不同的播放控制命令产生的结果是播放模块对缓冲区内的码流数据以不同的速度进行消耗,例如,暂停播放时,单位时间(例如,1s)内缓冲区内码流数据的消耗量为0;加速播放时,单位时间内缓冲区内码流数据的消耗量增加;减速播放时,单位时间内缓冲区内码流数据消耗量减少;正常播放时,单位时间内缓冲区内的码流数据以单倍速进行消耗。
所述判断模块13,用于判断所述缓冲区内剩余的码流数据量是否小于预设的触发取流阈值。
本实施例中,所述触发取流阈值可以根据实际情况进行确定,例如,所述触发取流阈值可以为支持2s播放时间的码流数据大小,即,所述触发取流阈值为2V1。
所述取流模块14,用于若小于预设的触发取流阈值,则向服务器发送取流请求。
本实施例中,通过所述判断模块13判断所述缓冲区内剩余的码流数据量是否小于预设的触发取流阈值2V1,若所述缓冲区内剩余的码流数据量小于2V1,则所述缓冲模块12触发取流模块14向服务器2发送取流请求,以使所述服务器2根据接收到的取流请求返回相应的码流数据至所述取流模块14,所述取流模块14完成取流操作;所述取流模块14完成取流操作后,将接收到的码流数据提供给所述缓冲模块12,所述播放模块3从所述缓冲模块12中取码流数据进行播放,如图3和图4所示。这样,本实施例所述的流媒体播放控制装置作为客户端、播放模块3作为播放端。
本实施例所述的流媒体播放控制装置,在流媒体播放过程中,通过确定模块根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率,通过缓冲模块将得到的所述当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小,根据得到的所述缓冲区的大小动态地调整缓冲区的大小,使缓冲区达到一个最佳的缓冲与播放的平衡状态,既不浪费内存又能满足播放的缓冲需求,若所述缓冲区内剩余的码流数据量小于预设的触发取流阈值,则通过取流模块向服务器发送取流请求,以使所述服务器根据接收到的取流请求返回相应的码流数据,解决现有的开辟大量的缓冲区会造成内存浪费的题。
本实施例中,当所述缓冲区内剩余的码流数据量小于预设的触发取流阈值时,则通过所述取流模块14向服务器发送取流请求,对所述服务器中的流媒体文件分段进行请求,从而将存放于服务器中的流媒体文件分多次进行获取,每次获取的分段大小为所述缓冲区内已消耗的码流数据量,分段请求能够有效地降低了单位时间(例如,1s)内对带宽的占用,从而能够有效地利用带宽。
本实施例中,例如,当前码流数据的码率为V1,所述缓冲区内的码流数据支持6s的播放时间,所述触发取流阈值为支持2s播放时间的码流数据大小(2V1),若所述缓冲区内剩余的码流数据量小于2V1,则所述缓冲区内已消耗的码流数据量为4V1,即,对服务器中的流媒体文件分段进行请求的码流数据大小为4V1。
本实施例中,作为一可选实施例,所述取流模块14,具体用于若所述缓冲区内剩余的码流数据量小于预设的触发取流阈值,则根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,对所述服务器中的流媒体文件分段进行请求。
本实施例所述的流媒体播放控制装置,在流媒体播放过程中,通过确定模块根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率,通过缓冲模块将得到的所述当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小,根据得到的所述缓冲区的大小动态地调整缓冲区的大小,使缓冲区达到一个最佳的缓冲与播放的平衡状态,既不浪费内存又能满足播放的缓冲需求,若所述缓冲区内剩余的码流数据量小于预设的触发取流阈值,则通过取流模块向服务器发送取流请求,对所述服务器中的流媒体文件分段进行请求,从而将存放于服务器中的流媒体文件分多次进行获取,每次获取的分段大小为所述缓冲区内已消耗的码流数据量,分段请求能够有效地降低了单位时间内对带宽的占用,从而能够有效地利用带宽。
本实施例中,所述取流请求至少包括但不限于:取流开始偏移位置及取流结束偏移位置,所述取流开始偏移位置为当前缓冲区内剩余的码流数据最后指向的位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区内已消耗的码流数据量的和指向的位置。
本实施例中,作为又一可选实施例,所述取流模块14,具体用于根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,以使所述服务器根据接收到的所述取流请求返回相应的码流数据;
其中,所述取流请求包括:取流开始偏移位置及取流结束偏移位置,所述取流开始偏移位置为当前缓冲区内剩余的码流数据最后指向的位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区内已消耗的码流数据量的和指向的位置。
本实施例中,优选地,所述取流模块14向所述服务器发送的所述取流请求符合超文本传输协议(HyperText Transfer Protocol,HTTP)标准,完成同所述服务器的HTTP协议交互后能够获取所述取流请求对应的码流数据,其中,客户端向所述服务器发送的取流请求报文如下:
GET/WebPlayer/ps.mp4 HTTP/1.1
HOST:10.17.134.188
User-Agent:HTTP_USER_AGENT
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*.*;q=0.8
Accept-Language:ZH-cn;zh;q=0.5
Accept-Charset:gb2312,utf8;q=0.7,*;q=0.7
Range:bytes=11314142-56570713
Connection:close
服务器向客户端返回的应答报文如下:
HTTP/1.1 206 Partial Content
Server:Apache-Coyote/1.1
Accept-Ranges:bytes
ETag:W/"56570714-1432167872440″
Last-Modified:Thu,21 May 2015 00:24:32 GMT
Content-Range:bytes 11314142-56570713/56570714
Content-Type:video/mp4
Content-Length:45256572
Date:Tue,19Jul 2016 09:19:05 GMT
Connection:close
本实施例中,根据客户端向所述服务器发送的取流请求报文可知,所述取流请求还包括:服务器的地址:10.17.134.188,请求的流媒体文件对应的统一资源定位符(Uniform Resoure Locator,URL):/WebPlayer/ps.mp4,请求的数据大小bytes=11314142-56570713,其中,11314142为取流结束偏移位置,56570713为取流开始偏移位置。
本实施例中,在服务器向客户端返回的应答报文中,206是服务器返回的应答状态码,206表示只返回服务器中流媒体文件的部分数据,通过部分数据获取方法可灵活地将存放在服务器的大文件按需要分段进行下载,从而降低了单位时间内对带宽的消耗。
本实施例中,若所述控制模块15接收到的播放控制命令为定位操作时,则需要重新缓冲数据,首先需清空缓冲区内的码流数据,然后将定位操作的定位点位置发送给所述服务器进行取流直到当前缓冲区满为止,此时,所述取流开始偏移位置为所述定位操作的定位点位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区的大小的和指向的位置。
本实施例中,作为再一可选实施例,所述装置还包括:清空模块;
所述清空模块,用于若接收到的所述播放控制命令为定位操作,则清空所述缓冲区内的码流数据;
所述取流模块14,具体用于根据所述缓冲区的大小向所述服务器发送取流请求,以使所述服务器根据接收到的所述取流请求返回相应的码流数据;
其中,所述取流开始偏移位置为所述定位操作的定位点位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区的大小的和指向的位置。
本实施例中,若所述取流请求的码流数据达到请求的流媒体文件的末尾,则所述取流结束偏移位置为请求的所述流媒体文件的末尾位置。
本实施例中,作为再一可选实施例,所述取流模块14,还用于若所述取流请求的码流数据达到请求的流媒体文件的末尾,则所述取流结束偏移位置为请求的所述流媒体文件的末尾位置。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。
在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本发明实施例还提供一种电子设备。图5为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-2所示实施例的流程,如图5所示,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的流媒体播放控制方法。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-2所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种流媒体播放控制方法,其特征在于,包括:
在流媒体播放过程中,根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率;
将得到的所述当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小;
判断所述缓冲区内剩余的码流数据量是否小于预设的触发取流阈值;
若小于预设的触发取流阈值,则向服务器发送取流请求。
2.根据权利要求1所述的流媒体播放控制方法,其特征在于,所述若小于预设的触发取流阈值,则向服务器发送取流请求包括:
若所述缓冲区内剩余的码流数据量小于预设的触发取流阈值,则根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,对所述服务器中的流媒体文件分段进行请求。
3.根据权利要求2所述的流媒体播放控制方法,其特征在于,所述根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,对所述服务器中的流媒体文件分段进行请求包括:
根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,以使所述服务器根据接收到的所述取流请求返回相应的码流数据;
其中,所述取流请求包括:取流开始偏移位置及取流结束偏移位置,所述取流开始偏移位置为当前缓冲区内剩余的码流数据最后指向的位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区内已消耗的码流数据量的和指向的位置。
4.根据权利要求3所述的流媒体播放控制方法,其特征在于,播放控制命令包括:开始播放、暂停播放、恢复播放、加速播放、减速播放和/或定位操作;
所述方法还包括:
若接收到的所述播放控制命令为定位操作,则清空所述缓冲区内的码流数据,并根据所述缓冲区的大小向所述服务器发送取流请求,以使所述服务器根据接收到的所述取流请求返回相应的码流数据;
其中,所述取流开始偏移位置为所述定位操作的定位点位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区的大小的和指向的位置。
5.根据权利要求3或4所述的流媒体播放控制方法,其特征在于,所述方法还包括:
若所述取流请求的码流数据达到请求的流媒体文件的末尾,则所述取流结束偏移位置为请求的所述流媒体文件的末尾位置。
6.一种流媒体播放控制装置,其特征在于,包括:
确定模块,用于在流媒体播放过程中,根据当前播放对缓冲区内码流数据的消耗速度得到当前码流数据的码率;
缓冲模块,用于将得到的所述当前码流数据的码率与预设的播放时间相乘,得到所述缓冲区的大小;
判断模块,用于判断所述缓冲区内剩余的码流数据量是否小于预设的触发取流阈值;
取流模块,用于若小于预设的触发取流阈值,则向服务器发送取流请求。
7.根据权利要求6所述的流媒体播放控制装置,其特征在于,所述取流模块,具体用于若所述缓冲区内剩余的码流数据量小于预设的触发取流阈值,则根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,对所述服务器中的流媒体文件分段进行请求。
8.根据权利要求7所述的流媒体播放控制装置,其特征在于,所述取流模块,具体用于根据所述缓冲区内已消耗的码流数据量,向服务器发送取流请求,以使所述服务器根据接收到的所述取流请求返回相应的码流数据;
其中,所述取流请求包括:取流开始偏移位置及取流结束偏移位置,所述取流开始偏移位置为当前缓冲区内剩余的码流数据最后指向的位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区内已消耗的码流数据量的和指向的位置。
9.根据权利要求8所述的流媒体播放控制装置,其特征在于,播放控制命令包括:开始播放、暂停播放、恢复播放、加速播放、减速播放和/或定位操作;
所述装置还包括:清空模块;
所述清空模块,用于若接收到的所述播放控制命令为定位操作,则清空所述缓冲区内的码流数据;
所述取流模块,具体用于根据所述缓冲区的大小向所述服务器发送取流请求,以使所述服务器根据接收到的所述取流请求返回相应的码流数据;
其中,所述取流开始偏移位置为所述定位操作的定位点位置,所述取流结束偏移位置为所述取流开始偏移位置与所述缓冲区的大小的和指向的位置。
10.根据权利要求8或9所述的流媒体播放控制装置,其特征在于,所述取流模块,还用于若所述取流请求的码流数据达到请求的流媒体文件的末尾,则所述取流结束偏移位置为请求的所述流媒体文件的末尾位置。
11.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一权利要求1-5所述的流媒体播放控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610902024.5A CN107959659B (zh) | 2016-10-17 | 2016-10-17 | 一种流媒体播放控制方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610902024.5A CN107959659B (zh) | 2016-10-17 | 2016-10-17 | 一种流媒体播放控制方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107959659A true CN107959659A (zh) | 2018-04-24 |
CN107959659B CN107959659B (zh) | 2021-01-29 |
Family
ID=61954071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610902024.5A Active CN107959659B (zh) | 2016-10-17 | 2016-10-17 | 一种流媒体播放控制方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107959659B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218795A (zh) * | 2018-11-29 | 2019-01-15 | 青岛海信电器股份有限公司 | 一种多设备播放进度同步方法、装置及终端设备 |
CN110545481A (zh) * | 2018-05-29 | 2019-12-06 | 北京字节跳动网络技术有限公司 | 一种媒体播放过程中连接分配方法、装置及存储介质 |
CN113380220A (zh) * | 2021-06-10 | 2021-09-10 | 深圳市同行者科技有限公司 | 语音合成编码方法及装置 |
CN114416797A (zh) * | 2022-01-19 | 2022-04-29 | 北京万旺科技有限公司 | 回放历史数据的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001362A (zh) * | 2006-01-11 | 2007-07-18 | 腾讯科技(深圳)有限公司 | 在线播放流媒体的方法及终端 |
CN101742238A (zh) * | 2008-11-26 | 2010-06-16 | 深圳市彪骐数码科技有限公司 | 一种rtsp和p2p相结合的流媒体点播方法及装置 |
WO2011031853A1 (en) * | 2009-09-09 | 2011-03-17 | Netflix, Inc. | Accelerated playback of streaming media |
CN102868908A (zh) * | 2011-07-04 | 2013-01-09 | 哈尔滨融智达网络科技有限公司 | 高效流媒体播放方法和装置 |
CN105430475A (zh) * | 2015-11-04 | 2016-03-23 | 北京奇虎科技有限公司 | 视频数据的缓冲方法及装置 |
-
2016
- 2016-10-17 CN CN201610902024.5A patent/CN107959659B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001362A (zh) * | 2006-01-11 | 2007-07-18 | 腾讯科技(深圳)有限公司 | 在线播放流媒体的方法及终端 |
CN101742238A (zh) * | 2008-11-26 | 2010-06-16 | 深圳市彪骐数码科技有限公司 | 一种rtsp和p2p相结合的流媒体点播方法及装置 |
WO2011031853A1 (en) * | 2009-09-09 | 2011-03-17 | Netflix, Inc. | Accelerated playback of streaming media |
CN102868908A (zh) * | 2011-07-04 | 2013-01-09 | 哈尔滨融智达网络科技有限公司 | 高效流媒体播放方法和装置 |
CN105430475A (zh) * | 2015-11-04 | 2016-03-23 | 北京奇虎科技有限公司 | 视频数据的缓冲方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110545481A (zh) * | 2018-05-29 | 2019-12-06 | 北京字节跳动网络技术有限公司 | 一种媒体播放过程中连接分配方法、装置及存储介质 |
US11570501B2 (en) | 2018-05-29 | 2023-01-31 | Beijing Bytedance Network Technology Co., Ltd. | Connection allocation method in media playing process, media playing device and storage medium |
CN109218795A (zh) * | 2018-11-29 | 2019-01-15 | 青岛海信电器股份有限公司 | 一种多设备播放进度同步方法、装置及终端设备 |
CN109218795B (zh) * | 2018-11-29 | 2021-09-24 | 海信视像科技股份有限公司 | 一种多设备播放进度同步方法、装置及终端设备 |
CN113380220A (zh) * | 2021-06-10 | 2021-09-10 | 深圳市同行者科技有限公司 | 语音合成编码方法及装置 |
CN113380220B (zh) * | 2021-06-10 | 2024-05-14 | 深圳市同行者科技有限公司 | 语音合成编码方法及装置 |
CN114416797A (zh) * | 2022-01-19 | 2022-04-29 | 北京万旺科技有限公司 | 回放历史数据的方法及装置 |
CN114416797B (zh) * | 2022-01-19 | 2023-04-07 | 北京万旺科技有限公司 | 回放历史数据的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107959659B (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11457088B2 (en) | Adaptive transfer rate for retrieving content from a server | |
CN108079578B (zh) | 一种基于云游戏的码率调整方法、装置及存储介质 | |
CN107959659A (zh) | 一种流媒体播放控制方法、装置及电子设备 | |
US9736266B2 (en) | Rapid data acquisition over the internet | |
US8615630B2 (en) | Systems and methods for managing data storage | |
US8438301B2 (en) | Automatic bit rate detection and throttling | |
CN102439578A (zh) | 动态可变速率媒体传送系统 | |
CN107396171A (zh) | 网络直播方法、装置和存储介质 | |
US20100268821A1 (en) | Sequenced transmission of digital content items | |
KR20070086545A (ko) | 컴퓨팅 시스템에서 전력을 절약하기 위해 듀티 사이클을조정하는 방법 및 장치 | |
US20150081924A1 (en) | Streaming Media | |
CN101001362A (zh) | 在线播放流媒体的方法及终端 | |
CN102316536A (zh) | 一种调整网页内容的方法及网关 | |
CN108990110A (zh) | 网络流量管理方法、装置、存储介质及终端 | |
WO2017185605A1 (zh) | 文件管理方法及电子设备 | |
US9699103B2 (en) | Method and system for flow controlling | |
CN104464743B (zh) | 一种在语音聊天室中播放背景音乐的方法及移动终端 | |
CN104836783A (zh) | 数据传输的方法、装置及系统 | |
US9143469B2 (en) | Microblog client, method for aggregating microblog messages, and instant messaging client | |
CN103826139A (zh) | Cdn系统、观看服务器以及流媒体数据传输方法 | |
EP2997715B1 (en) | Transmitting information based on reading speed | |
CN110225399A (zh) | 流媒体处理方法、装置、计算机设备及存储介质 | |
CN107959667A (zh) | 一种媒体分片的推送方法、服务器及客户端 | |
CN106101184A (zh) | 一种文件下载方法和播放设备 | |
CN108833200A (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 |