CN108966008B - 直播视频回放方法及装置 - Google Patents

直播视频回放方法及装置 Download PDF

Info

Publication number
CN108966008B
CN108966008B CN201810872736.6A CN201810872736A CN108966008B CN 108966008 B CN108966008 B CN 108966008B CN 201810872736 A CN201810872736 A CN 201810872736A CN 108966008 B CN108966008 B CN 108966008B
Authority
CN
China
Prior art keywords
live video
live
code rate
server
terminal
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
CN201810872736.6A
Other languages
English (en)
Other versions
CN108966008A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810872736.6A priority Critical patent/CN108966008B/zh
Publication of CN108966008A publication Critical patent/CN108966008A/zh
Application granted granted Critical
Publication of CN108966008B publication Critical patent/CN108966008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44245Monitoring the upstream path of the transmission network, e.g. its availability, bandwidth
    • 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/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Abstract

本发明公开了一种直播视频回放方法及装置,属于网络技术领域。方法包括:在第一终端进行直播的过程中,对采集到的视频数据进行编码和封装,得到多种码率的直播视频;向服务器发送第一码率的直播视频;在向服务器发送直播视频的过程中,检测网络环境情况和设备资源使用情况中至少一项;当网络环境情况和设备资源使用情况中至少一项满足码率切换条件时,从多种码率的直播视频中,选择第二码率的直播视频;向服务器发送第二码率的直播视频,直播视频用于提供给第二终端进行直播视频的回放。本发明通过在终端上生成多种码率的直播视频,服务器只需从终端接收可提供给第二终端进行回放的不同码率的直播视频即可,减少了服务器的资源消耗。

Description

直播视频回放方法及装置
技术领域
本发明涉及网络技术领域,尤其涉及一种直播视频回放方法及装置。
背景技术
随着网络技术的发展,网络直播已经成为一种流行的娱乐方式,在直播场景中,主播用户可以在直播间内进行直播,观众用户可以通过登录服务器,进入主播用户的直播间,观看主播用户的直播视频。当观众用户错过主播用户的实时直播时,可以通过回放的方式来观看主播用户的直播视频。
目前,主播用户在直播过程中,主播用户所在终端对采集到的视频数据进行编码和封装,得到一种码率的直播视频并发送给服务器,一种码率对应一种清晰度。服务器在接收到终端发送的直播视频后,进行解封装和解码步骤,得到一种码率的直播视频后,再将其编码生成多种码率的直播视频,并进行封装后,得到可提供给观众用户进行回放的多种码率的直播视频,以适应观众用户对不同码率的需求,不同码率对应不同清晰度。
上述技术中终端只将一种码率的直播视频发送给服务器,需要在服务器上生成多种码率的直播视频,会消耗较多的服务器资源。
发明内容
本发明实施例提供了一种直播视频回放方法及装置,可以解决相关技术消耗较多的服务器资源的问题。所述技术方案如下:
一方面,提供了一种直播视频回放方法,所述方法包括:
在所述第一终端进行直播的过程中,对采集到的视频数据进行编码和封装,得到多种码率的直播视频;
向服务器发送第一码率的直播视频,所述第一码率为所述多种码率中的一种码率;
在向所述服务器发送直播视频的过程中,检测网络环境情况和设备资源使用情况中至少一项;
当所述网络环境情况和设备资源使用情况中至少一项满足码率切换条件时,从所述多种码率的直播视频中,选择第二码率的直播视频,所述第二码率与所述第一码率不同;
向所述服务器发送所述第二码率的直播视频,所述直播视频用于提供给第二终端进行直播视频的回放。
一方面,提供了一种直播视频回放装置,所述装置包括:
获取模块,用于在进行直播的过程中,对采集到的视频数据进行编码和封装,得到多种码率的直播视频;
发送模块,用于向服务器发送第一码率的直播视频,所述第一码率为所述多种码率中的一种码率;
检测模块,用于在向所述服务器发送直播视频的过程中,检测网络环境情况和设备资源使用情况中至少一项;
选择模块,用于当所述网络环境情况和设备资源使用情况中至少一项满足码率切换条件时,从所述多种码率的直播视频中,选择第二码率的直播视频,所述第二码率与所述第一码率不同;
所述发送模块还用于向所述服务器发送所述第二码率的直播视频,所述直播视频用于提供给第二终端进行直播视频的回放。
一方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现上述直播视频回放方法所执行的操作。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上述直播视频回放方法所执行的操作。
本发明实施例提供的技术方案带来的有益效果至少包括:
通过在终端上生成多种码率的直播视频,并在向所述服务器发送直播视频的过程中,根据网络环境情况和设备资源使用情况中至少一项,从多种码率中,选择与当前码率不同的码率,将不同码率的直播视频发送给服务器,服务器只需从终端接收可提供给第二终端进行回放的不同码率的直播视频即可,由于无需在服务器上生成多种码率的直播视频,减少了服务器的资源消耗。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种直播视频回放方法的实施环境示意图;
图2是本发明实施例提供的一种直播视频回放方法的流程图;
图3是本发明实施例提供的一种生成多码率的直播视频的示意图;
图4是本发明实施例提供的一种服务器存储的直播视频的示意图;
图5是本发明实施例提供的一种直播视频回放装置的结构示意图;
图6是本发明实施例提供的一种直播视频回放装置的结构示意图;
图7是本发明实施例提供的一种终端700的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种直播视频回放方法的实施环境示意图,参见图1,该实施环境中可以包括:
至少一个服务器101和至少一个终端102。其中,服务器101用于为终端102提供服务,如直播视频服务等,具体地,服务器101可以通过终端102所安装的应用向终端提供服务。该终端102用于运行服务器101所提供的应用,并基于应用实现各种功能。另外,该服务器101还可以配置至少一个数据库,如,直播视频数据库、用户数据库等等。该直播视频数据库用于存储各个主播用户的直播视频,该用户数据库用于存储该服务器101所服务的用户的用户名、密码以及用户关系链等个人数据。当然,本发明实施例所提供的应用可以在有网络连接的情况下通过与服务器之间的交互来实现本发明的直播视频回放方法,还可以在离线的场景下基于终端已存储的应用数据来实现本发明的直播视频回放方法,在此对其具体网络环境不做限定。
图2是本发明实施例提供的一种直播视频回放方法的流程图。本发明实施例以该方法应用于图1所示实施例的实施环境中为例进行说明,参见图2,该方法可以包括:
201、在第一终端进行直播的过程中,第一终端对采集到的视频数据进行编码和封装,得到多种码率的直播视频。
本发明实施例中,主播用户在直播过程中,第一终端可以实时采集一定分辨率和一定帧率的视频图像,如第一终端的视频采集条件较好时,第一终端可以采集高分辨率和高帧率的视频图像,并输出符合视频编码要求的视频数据,如yuv格式的视频数据或rgb格式的视频数据。
进一步地,第一终端可以采用预设编码方式和封装方式,对采集到的视频数据进行编码和封装处理,得到多种码率的直播视频,例如,该多种码率可以包括第一档码率(高码率)、第二档码率(中码率)和第三档码率(低码率)的直播视频。不同码率对应不同清晰度,不同码率可以对应不同的分辨率和帧率组合,例如,第一档码率的分辨率可以为1280×720、帧率为20fps(帧每秒),第二档码率的分辨率可以为640×368、帧率为15fps,第三档码率的分辨率可以为320×240、帧率为10fps。
需要说明的是,上述第一档码率(高码率)、第二档码率(中码率)和第三档码率(低码率)仅是多种码率的一个示例,可以理解的是,第一终端还可以生成其他码率的直播视频。
202、第一终端将该多种码率的直播视频保存到该第一终端的存储器。
本发明实施例中,为了保存主播用户完整的直播视频,终端可以将编码得到的多种码率的直播视频保存到第一终端的存储器中。
需要说明的是,该步骤202为可选步骤,通过将生成的多种码率的直播视频保存在本地,使得终端可以在直播结束后,保存完整的直播视频并提供给服务器。
203、第一终端向服务器发送第一码率的直播视频,该第一码率为该多种码率中的一种码率。
本发明实施例中,第一终端在生成多种码率的直播视频后,可以根据预先设置的码率选择规则,从多种码率中,选择一种码率的直播视频发送给服务器。例如,第一终端向服务器发送第一码率的直播视频至少包括以下几种可能实现方式:
第一种方式、从该多种码率中,随机选择一种码率作为该第一码率,执行向服务器发送第一码率的直播视频的步骤。
该方式是针对码率选择规则为随机选择码率的情况,通过随机选择一种码率的直播视频发送给服务器,可以提高码率选择的灵活性。
第二种方式、从该多种码率中,选择最高码率作为该第一码率,执行向服务器发送第一码率的直播视频的步骤。
该方式是针对码率选择规则为选择高码率的情况,通过选择最高码率的直播视频发送给服务器,使得服务器可以获取到高分辨率和高帧率的直播视频,从而向第二终端提供更清晰更流畅的直播视频。
第三种方式、从该多种码率中,选择最低码率作为该第一码率,执行向服务器发送第一码率的直播视频的步骤。
该方式是针对码率选择规则为选择低码率的情况,通过选择最低码率的直播视频发送给服务器,可以保证直播视频的传输速度。
第四种方式、从该多种码率中,选择与当前的网络环境情况和设备资源使用情况对应的码率作为该第一码率,执行向服务器发送第一码率的直播视频的步骤。
其中,网络环境情况可以包括丢包率和网络延时,设备资源使用情况可以包括CPU使用率和剩余内存。
该方式是针对码率选择规则为选择合适码率的情况,该方式下,不同的网络环境情况和设备资源使用情况可以对应不同的码率,通过检测当前的网络环境情况和设备资源使用情况,选择与当前情况相匹配的码率的直播视频发送给服务器,由于码率的选择综合考虑了网络情况和设备资源使用情况,使得终端可以充分利用网络环境和设备使用资源情况,选择合适码率的直播视频发送给服务器。
需要说明的是,本发明实施例仅以在直播过程中,第一终端保存多种码率的直播视频为步骤202,第一终端向服务器发送直播视频为步骤203为例进行说明,实际上,步骤202和步骤203并没有固定的先后顺序,例如,步骤202和步骤203可以是并列进行的。
204、服务器接收第一终端发送的第一码率的直播视频。
本发明实施例中,多种码率的直播视频在第一终端上生成,服务器只需从第一终端接收相应码率的直播视频即可,由于无需在服务器上生成多码率的直播视频,减少了服务器的资源消耗。
205、在向该服务器发送直播视频的过程中,第一终端检测网络环境情况和设备资源使用情况中至少一项。
本发明实施例中,在直播过程中,终端在编码得到多种码率的直播视频后,可以根据网络环境情况和设备资源使用情况中至少一项,选择合适码率的直播视频发送给服务器,为此,终端需要检测网络环境情况和设备资源使用情况中至少一项。
在一种可能实现方式中,第一终端检测网络环境情况和设备资源使用情况中至少一项包括:检测丢包率、网络延时、CPU(Central Processing Unit,中央处理器)使用率以及剩余内存中至少一项。例如,终端可以仅检测丢包率、网络延时、CPU使用率以及剩余内存中任一项,也可以检测丢包率、网络延时、CPU使用率以及剩余内存中的多项。
206、当该网络环境情况和设备资源使用情况中至少一项满足码率切换条件时,第一终端从该多种码率的直播视频中,选择第二码率的直播视频,该第二码率与该第一码率不同。
在一种可能实现方式中,终端可以实时监听或在每个监听周期内监听丢包率、网络延时、CPU使用率以及剩余内存,并根据丢包率、网络延时、CPU使用率以及剩余内存与门限值的大小关系,确定当前是否满足码率切换条件,相应地,第一终端从该多种码率的直播视频中,选择第二码率的直播视频可以包括以下两种方式:
第一种方式、当该丢包率、该网络延时和该CPU使用率中至少一项大于或等于对应的门限值,和/或,该剩余内存小于或等于对应的门限值时,第一终端从该多种码率的直播视频中,选择第二码率的直播视频,该第二码率低于该第一码率。
其中,丢包率、网络延时、CPU使用率和剩余内存可以分别对应不同的门限值。当丢包率大于或等于其对应的门限值,或,网络延时大于或等于其对应的门限值,或,CPU使用率大于或等于其对应的门限值时,则终端可以确定当前满足码率切换条件。当剩余内存小于或等于其对应的门限值时,则终端可以确定当前满足码率切换条件,因而进行码率的切换。
该方式是当丢包率、网络延时等网络环境异常,或CPU使用率、剩余内存等设备资源使用情况异常时,触发终端选择低一档码率的直播视频发送给服务器,使得切换后的码率与当前的网络环境情况和设备资源使用情况相匹配。
第二种方式、当该丢包率、该网络延时和该CPU使用率中至少一项小于对应的门限值,和/或,该剩余内存大于对应的门限值时,从该多种码率的直播视频中,选择第二码率的直播视频,该第二码率高于该第一码率。
当丢包率小于其对应的门限值,或,网络延时小于其对应的门限值,或,CPU使用率小于其对应的门限值时,则终端可以确定当前满足码率切换条件。当剩余内存大于其对应的门限值时,则终端可以确定当前满足码率切换条件,因而进行码率的切换。
该方式是当丢包率、网络延时等网络环境良好,或CPU使用率、剩余内存等设备资源使用情况良好时,触发终端选择高一档码率的直播视频发送给服务器,使得切换后的码率与当前的网络环境情况和设备资源使用情况相匹配。
通过根据丢包率和网络延时等网络环境以及CPU使用率和剩余内存等设备资源使用情况,来进行码率的切换过程,使得终端可以从生成的多种码率的直播视频中,选择合适码率的直播视频发送给服务器。
207、第一终端向该服务器发送该第二码率的直播视频,该直播视频用于提供给第二终端进行直播视频的回放。
可选地,针对步骤206中的第一种方式,第一终端向该服务器发送该第二码率的直播视频之后,当该丢包率、该网络延时和该CPU使用率中至少一项小于对应的门限值,和/或该剩余内存大于对应的门限值时,第一终端可以从该多种码率的直播视频中,选择第三码率的直播视频,该第三码率高于该第二码率;向该服务器发送该第三码率的直播视频。
该方式是当一段时间内网络情况和设备资源使用情况恢复,则终端可以立即切换回高一档码率的直播视频发送给服务器。
针对步骤206中的第二种方式,第一终端向该服务器发送该第二码率的直播视频之后,当该丢包率、该网络延时和该CPU使用率中至少一项大于或等于对应的门限值,和/或该剩余内存小于或等于对应的门限值时,第一终端可以从该多种码率的直播视频中,选择第四码率的直播视频,该第四码率低于该第二码率;向该服务器发送该第四码率的直播视频。
该方式是当一段时间内上述网络环境和设备资源使用情况异常,则终端可以立即切换回低一档码率的直播视频发送给服务器。
208、服务器接收第一终端发送的第二码率的直播视频。
本发明实施例中,针对第一终端在主播用户进行直播的过程中,切换不同码率的直播视频发送给服务器,服务器可以接收到第一终端切换发送的不同码率的直播视频,并对接收到的直播视频进行存储。
通过在直播过程中,在终端上编码得到多种码率的直播视频,并切换不同码率的直播视频发送给服务器,由于多种码率的直播视频在终端上生成,节省了服务器的资源,另外,通过在发送直播视频的过程中,根据网络环境和设备资源使用情况进行码率切换,使得终端可以始终选择合适的码率发送给服务器。
209、当该第一终端结束直播后,第一终端将该存储器中已保存的该多种码率的直播视频发送给该服务器。
本发明实施例中,针对步骤202中服务器在第一终端的存储器中保存编码得到的多种码率的直播视频,在该步骤209中,当主播用户结束直播时,第一终端的存储器中已经保存了完整的多码率直播视频,因此,第一终端可以将该完整的多码率直播视频发送给服务器。
210、服务器接收第一终端的存储器中已保存的该多种码率的直播视频。
本发明实施例中,在主播用户直播结束后,服务器仍然可以接收到第一终端上传的完整且多种码率的直播视频。
通过提供直播过程中上传直播视频和直播结束后上传直播视频这两种方式,使得服务器在无需耗费资源的前提下,既可以在直播过程中及时获取到直播视频,也可以在直播结束后获取到完整且多种码率的直播视频。且由于在终端生成多码率的直播视频,能够减少服务器的资源消耗,节省服务器的开销。
需要说明的是,上述步骤202、步骤209和步骤210为可选步骤,终端通过将生成的多种码率的直播视频保存在本地,使得终端可以在直播结束后,保存完整的直播视频并提供给服务器。相比于现有技术中在终端直播过程中上传的直播视频的基础上,服务器只能转码得到小于或等于原码率的直播视频,这种在直播结束后上传的直播视频不受直播过程中上传的直播视频的码率限制,分辨率和帧率高,使得服务器可以向观众用户提供更清晰更流畅的直播视频。
211、服务器存储多种码率的直播视频。
本发明实施例中,服务器在获取到多种码率的直播视频后,可以将直播视频、直播视频的标识以及主播用户的标识对应存储,使得观众用户可以从服务器获取需要回放的直播视频。
上述步骤201至步骤211是终端生成多码率的直播视频后,将多种码率的直播视频发送给服务器进行存储的过程。通过在直播过程中,第一终端编码生成多种码率的直播视频,选择合适码率的视频上传服务器。第一终端本地保存编码生成的多种码率的直播视频,待直播结束后,上传到服务器,使得服务器存储有多种码率的直播回放视频,供第二终端的观众用户观看。
参见图3,提供了一种生成多码率的直播视频的示意图,如图3所示,终端可以包括视频采集模块、网络监听模块、编码控制模块、本地存储模块、选择器、上传模块,其中,视频采集模块用于采集主播用户直播过程中的视频数据;编码控制模块用于根据直播场景,编码生成多种码率的直播视频;在直播过程中,以终端根据丢包率,切换不同码率的直播视频上传服务器为例,网络监听模块可以一直监听上传直播视频的丢包率,当发现丢包率大于丢包门限值时,则触发选择器选择低一档码率的直播视频进行上传,直到降档到最低码率的直播视频;当一段时间内丢包率都低于门限值时,则触发选择器选择高一档码率的直播视频进行上传,直到升档到最高码率的直播视频。例如,如果当前终端向服务器上传的是高码率的直播视频,但是丢包率大于丢包门限值,则终端可以选择中码率的直播视频进行上传;过了一段时间,在某时间段内丢包率都低于门限值,则终端选择高码率的直播视频进行上传。上传模块用于执行具体的上传操作,即将直播视频发送给服务器。当直播结束后,本地存储模块保存了多种码率的直播视频,此时,终端可以将保存的直播视频都通过上传模块上传到服务器。参见图4,提供了一种服务器存储的直播视频的示意图,如图4所示,服务器上包含了直播过程中上传的直播视频以及本地保存上传的多种码率的直播视频,其中,本地保存上传的多种码率的直播视频可以包括高码率的直播视频、中码率的直播视频以及低码率的直播视频。
212、第二终端向服务器发送直播回放请求。
本发明实施例中,观众用户可以在终端上进行操作,如对某个主播用户的直播视频进行回放操作,以触发终端向服务器发送直播回放请求。该直播回放请求中可以携带主播用户的标识以及直播视频的标识。可选地,该直播回放请求中还可以携带目标码率,以告知服务器其想要获取目标码率的直播视频。
213、当接收到第二终端的直播回放请求时,服务器将目标码率的直播视频发送给该第二终端,该目标码率为该多种码率中的任一码率,该第二终端为观众用户进行直播视频回放的终端。
本发明实施例中,当观众用户想要回看直播视频时,服务器可以选择一种合适码率的直播视频下发给观众用户观看。在一种可能实现方式中,服务器可以根据网络环境情况和设备资源使用情况中至少一项,选择合适码率的直播视频发送给终端,例如当网络环境情况和设备资源使用情况良好时,服务器可以选择高码率的直播视频发送给终端,反之,服务器可以选择低码率的直播视频发送给终端。当然,针对直播回放请求中携带目标码率的情况,服务器可以直接从多种码率的直播视频中,选择目标码率的直播视频发送给服务器。
需要说明的是,上述步骤211至步骤213是可选步骤,服务器通过存储第一终端发送的多种码率的直播视频,使得第二终端在需要获取直播视频进行回放时,可以从服务器获取到该多种码率的直播视频。
本发明实施例提供的方法,通过在终端上生成多种码率的直播视频,并在向该服务器发送直播视频的过程中,根据网络环境情况和设备资源使用情况中至少一项,从多种码率中,选择与当前码率不同的码率,将不同码率的直播视频发送给服务器,服务器只需从终端接收可提供给第二终端进行回放的不同码率的直播视频即可,由于无需在服务器上生成多种码率的直播视频,减少了服务器的资源消耗。
图5是本发明实施例提供的一种直播视频回放装置的结构示意图。参照图5,该装置包括:
获取模块501,用于在进行直播的过程中,对采集到的视频数据进行编码和封装,得到多种码率的直播视频;
发送模块502,用于向服务器发送第一码率的直播视频,该第一码率为该多种码率中的一种码率;
检测模块503,用于在向该服务器发送直播视频的过程中,检测网络环境情况和设备资源使用情况中至少一项;
选择模块504,用于当该网络环境情况和设备资源使用情况中至少一项满足码率切换条件时,从该多种码率的直播视频中,选择第二码率的直播视频,该第二码率与该第一码率不同;
该发送模块502还用于向该服务器发送该第二码率的直播视频,该直播视频用于提供给第二终端进行直播视频的回放。
在一种可能实现方式中,该发送模块502用于从该多种码率中,随机选择一种码率作为该第一码率,执行向服务器发送第一码率的直播视频的步骤;或,
该发送模块502用于从该多种码率中,选择最高码率作为该第一码率,执行向服务器发送第一码率的直播视频的步骤;或,
该发送模块502用于从该多种码率中,选择最低码率作为该第一码率,执行向服务器发送第一码率的直播视频的步骤;或,
该发送模块502用于从该多种码率中,选择与当前的网络环境情况和设备资源使用情况对应的码率作为该第一码率,执行向服务器发送第一码率的直播视频的步骤。
在一种可能实现方式中,参见图6,该装置还包括:
保存模块505,用于将该多种码率的直播视频保存到存储器;
该发送模块502还用于当结束直播后,将该存储器中已保存的该多种码率的直播视频发送给该服务器。
在一种可能实现方式中,该检测模块503用于检测丢包率、网络延时、CPU使用率以及剩余内存中至少一项。
在一种可能实现方式中,该选择模块504用于当该丢包率、该网络延时和该CPU使用率中至少一项大于或等于对应的门限值,和/或,该剩余内存小于或等于对应的门限值时,从该多种码率的直播视频中,选择第二码率的直播视频,该第二码率低于该第一码率。
在一种可能实现方式中,该选择模块504还用于当该丢包率、该网络延时和该CPU使用率中至少一项小于对应的门限值,和/或该剩余内存大于对应的门限值时,从该多种码率的直播视频中,选择第三码率的直播视频,该第三码率高于该第二码率;
该发送模块502还用于向该服务器发送该第三码率的直播视频。
在一种可能实现方式中,该选择模块504用于当该丢包率、该网络延时和该CPU使用率中至少一项小于对应的门限值,和/或,该剩余内存大于对应的门限值时,从该多种码率的直播视频中,选择第二码率的直播视频,该第二码率高于该第一码率。
在一种可能实现方式中,该选择模块504还用于当该丢包率、该网络延时和该CPU使用率中至少一项大于或等于对应的门限值,和/或该剩余内存小于或等于对应的门限值时,从该多种码率的直播视频中,选择第四码率的直播视频,该第四码率低于该第二码率;
该发送模块502还用于向该服务器发送该第四码率的直播视频。
本发明实施例中,通过在终端上生成多种码率的直播视频,并在向该服务器发送直播视频的过程中,根据网络环境情况和设备资源使用情况中至少一项,从多种码率中,选择与当前码率不同的码率,将不同码率的直播视频发送给服务器,服务器只需从终端接收可提供给第二终端进行回放的不同码率的直播视频即可,由于无需在服务器上生成多种码率的直播视频,减少了服务器的资源消耗。
需要说明的是:上述实施例提供的直播视频回放装置在直播视频回放时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的直播视频回放装置与直播视频回放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本发明实施例提供的一种终端700的结构示意图。该终端700可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端700包括有:处理器701和存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的直播视频回放方法。
在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、显示屏705、摄像头706、音频电路707、定位组件708和电源709中的至少一种。
外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
定位组件708用于定位终端700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
加速度传感器711可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器712可以检测终端700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器713可以设置在终端700的侧边框和/或触摸显示屏705的下层。当压力传感器713设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在触摸显示屏705的下层时,由处理器701根据用户对触摸显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器716,也称距离传感器,通常设置在终端700的前面板。接近传感器716用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条指令、至少一段程序、代码集或指令集的存储器,上述至少一条指令、至少一段程序、代码集或指令集可由处理器加载并执行以完成上述实施例中的直播视频回放方法。例如,计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random-AccessMemory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种直播视频回放方法,其特征在于,应用于第一终端,所述方法包括:
在所述第一终端进行直播的过程中,对采集到的视频数据进行编码和封装,得到多种码率的直播视频;
向服务器发送第一码率的直播视频,所述第一码率为所述多种码率中的一种码率;
在向所述服务器发送直播视频的过程中,实时监听网络环境情况和设备资源使用情况中至少一项;
当所述网络环境情况和所述设备资源使用情况中至少一项满足码率切换条件时,从所述多种码率的直播视频中,选择第二码率的直播视频,所述第二码率与所述第一码率不同,所述第二码率与当前的所述网络环境情况和所述设备资源使用情况中至少一项相匹配;
向所述服务器发送所述第二码率的直播视频;
将所述多种码率的直播视频保存到所述第一终端的存储器;
当所述第一终端结束直播后,将所述存储器中已保存的所述多种码率的直播视频发送给所述服务器,所述服务器用于将所述直播视频、所述直播视频的标识以及主播用户的标识对应存储,当接收到第二终端发送的直播回放请求时,根据所述网络环境情况和所述设备资源使用情况中至少一项,选择匹配码率的直播视频发送给所述第二终端,供所述第二终端的观众用户观看,所述直播回放请求中携带主播用户的标识以及直播视频的标识;
所述向服务器发送第一码率的直播视频,包括:
从所述多种码率中,选择与当前的网络环境情况和设备资源使用情况中至少一项对应的码率作为所述第一码率,执行向服务器发送第一码率的直播视频的步骤。
2.根据权利要求1所述的方法,其特征在于,所述向服务器发送第一码率的直播视频,包括:
从所述多种码率中,随机选择一种码率作为所述第一码率,执行向服务器发送第一码率的直播视频的步骤;或,
从所述多种码率中,选择最高码率作为所述第一码率,执行向服务器发送第一码率的直播视频的步骤;或,
从所述多种码率中,选择最低码率作为所述第一码率,执行向服务器发送第一码率的直播视频的步骤。
3.根据权利要求1所述的方法,其特征在于,所述实时监听网络环境情况和设备资源使用情况中至少一项,包括:
检测丢包率、网络延时、CPU使用率以及剩余内存中至少一项。
4.根据权利要求3所述的方法,其特征在于,所述当所述网络环境情况和所述设备资源使用情况中至少一项满足码率切换条件时,从所述多种码率的直播视频中,选择第二码率的直播视频,包括:
当所述丢包率、所述网络延时和所述CPU使用率中至少一项大于或等于对应的门限值,和/或,所述剩余内存小于或等于对应的门限值时,从所述多种码率的直播视频中,选择第二码率的直播视频,所述第二码率低于所述第一码率。
5.根据权利要求4所述的方法,其特征在于,所述向所述服务器发送所述第二码率的直播视频之后,所述方法还包括:
当所述丢包率、所述网络延时和所述CPU使用率中至少一项小于对应的门限值,和/或所述剩余内存大于对应的门限值时,从所述多种码率的直播视频中,选择第三码率的直播视频,所述第三码率高于所述第二码率;
向所述服务器发送所述第三码率的直播视频。
6.根据权利要求3所述的方法,其特征在于,所述当所述网络环境情况和所述设备资源使用情况中至少一项满足码率切换条件时,从所述多种码率的直播视频中,选择第二码率的直播视频,包括:
当所述丢包率、所述网络延时和所述CPU使用率中至少一项小于对应的门限值,和/或,所述剩余内存大于对应的门限值时,从所述多种码率的直播视频中,选择第二码率的直播视频,所述第二码率高于所述第一码率。
7.根据权利要求6所述的方法,其特征在于,所述向所述服务器发送所述第二码率的直播视频之后,所述方法还包括:
当所述丢包率、所述网络延时和所述CPU使用率中至少一项大于或等于对应的门限值,和/或所述剩余内存小于或等于对应的门限值时,从所述多种码率的直播视频中,选择第四码率的直播视频,所述第四码率低于所述第二码率;
向所述服务器发送所述第四码率的直播视频。
8.一种直播视频回放装置,其特征在于,应用于第一终端,所述装置包括:
获取模块,用于在进行直播的过程中,对采集到的视频数据进行编码和封装,得到多种码率的直播视频;
发送模块,用于向服务器发送第一码率的直播视频,所述第一码率为所述多种码率中的一种码率;
检测模块,用于在向所述服务器发送直播视频的过程中,实时监听网络环境情况和设备资源使用情况中至少一项;
选择模块,用于当所述网络环境情况和所述设备资源使用情况中至少一项满足码率切换条件时,从所述多种码率的直播视频中,选择第二码率的直播视频,所述第二码率与所述第一码率不同,所述第二码率与当前的所述网络环境情况和所述设备资源使用情况中至少一项相匹配;
所述发送模块还用于向所述服务器发送所述第二码率的直播视频;
保存模块,用于将所述多种码率的直播视频保存到所述第一终端的存储器;
所述发送模块还用于当结束直播后,将所述存储器中已保存的所述多种码率的直播视频发送给所述服务器,所述服务器用于将所述直播视频、所述直播视频的标识以及主播用户的标识对应存储,当接收到第二终端发送的直播回放请求时,根据所述网络环境情况和所述设备资源使用情况中至少一项,选择匹配码率的直播视频发送给所述第二终端,供所述第二终端的观众用户观看,所述直播回放请求中携带主播用户的标识以及直播视频的标识;
所述发送模块,还用于从所述多种码率中,选择与当前的网络环境情况和设备资源使用情况中至少一项对应的码率作为所述第一码率,执行向服务器发送第一码率的直播视频的步骤。
9.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一项所述的直播视频回放方法。
CN201810872736.6A 2018-08-02 2018-08-02 直播视频回放方法及装置 Active CN108966008B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810872736.6A CN108966008B (zh) 2018-08-02 2018-08-02 直播视频回放方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810872736.6A CN108966008B (zh) 2018-08-02 2018-08-02 直播视频回放方法及装置

Publications (2)

Publication Number Publication Date
CN108966008A CN108966008A (zh) 2018-12-07
CN108966008B true CN108966008B (zh) 2020-08-11

Family

ID=64467201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810872736.6A Active CN108966008B (zh) 2018-08-02 2018-08-02 直播视频回放方法及装置

Country Status (1)

Country Link
CN (1) CN108966008B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110460871B (zh) * 2019-08-29 2022-01-21 卓米私人有限公司 直播视频的生成方法、装置、系统及设备
CN110913245A (zh) * 2019-11-08 2020-03-24 网宿科技股份有限公司 一种控制视频转码码率的方法和装置
CN110881136B (zh) * 2019-11-14 2021-11-02 腾讯科技(深圳)有限公司 视频帧率控制方法、装置、计算机设备及存储介质
CN110636326A (zh) * 2019-11-14 2019-12-31 广州酷狗计算机科技有限公司 直播视频处理方法及装置、存储介质
CN111405298A (zh) * 2020-02-17 2020-07-10 重庆邮电大学 一种基于KCP协议的Android端到端直播方法
CN111405312A (zh) * 2020-04-26 2020-07-10 广州酷狗计算机科技有限公司 直播推流方法、装置、终端、服务器及存储介质
CN112437319A (zh) * 2020-11-10 2021-03-02 杭州叙简科技股份有限公司 一种基于webrtc切换多视频流的方法
CN114885181B (zh) * 2021-02-05 2023-07-07 北京金山云网络技术有限公司 一种直播资源的延时播放方法和装置
CN114143600A (zh) * 2021-11-23 2022-03-04 广州市百果园信息技术有限公司 直播画面调整方法、装置、设备和存储介质
CN115914670B (zh) * 2023-02-01 2023-06-16 广州市千钧网络科技有限公司 直播回放处理方法、装置及存储介质
CN116962799A (zh) * 2023-07-24 2023-10-27 北京国际云转播科技有限公司 直播视频数据的传输方法、装置、主播客户端及服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325274A (zh) * 2011-10-13 2012-01-18 浙江万里学院 一种自适应网络带宽的视频流传输控制方法
CN102946570A (zh) * 2012-09-21 2013-02-27 上海交通大学 一种自适应网络带宽的多流流媒体传输系统与传输方法
CN103607661A (zh) * 2013-11-29 2014-02-26 广州华多网络科技有限公司 一种传输多媒体数据的方法及装置
CN104703051A (zh) * 2014-01-06 2015-06-10 杭州海康威视数字技术股份有限公司 码流发送方法和装置
CN105578201A (zh) * 2015-12-23 2016-05-11 武汉市烽视威科技有限公司 一种实现hls直播码率个数动态调整的系统及方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917389B (zh) * 2009-12-17 2013-11-06 新奥特(北京)视频技术有限公司 一种网络电视直播系统
US8812662B2 (en) * 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
JP5979241B2 (ja) * 2012-10-18 2016-08-24 日本電気株式会社 カメラシステム
CN103533386A (zh) * 2013-10-21 2014-01-22 腾讯科技(深圳)有限公司 一种直播控制方法,及主播设备
CN104754366A (zh) * 2015-03-03 2015-07-01 腾讯科技(深圳)有限公司 音视频文件直播方法、装置和系统
CN104780393B (zh) * 2015-04-10 2017-10-24 天脉聚源(北京)教育科技有限公司 一种分配资源的方法及装置
CN105657321A (zh) * 2015-11-09 2016-06-08 乐视致新电子科技(天津)有限公司 视频清晰度自适应调节方法、装置及终端
CN106454413B (zh) * 2016-09-20 2019-10-08 北京小米移动软件有限公司 直播编码切换方法、装置及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325274A (zh) * 2011-10-13 2012-01-18 浙江万里学院 一种自适应网络带宽的视频流传输控制方法
CN102946570A (zh) * 2012-09-21 2013-02-27 上海交通大学 一种自适应网络带宽的多流流媒体传输系统与传输方法
CN103607661A (zh) * 2013-11-29 2014-02-26 广州华多网络科技有限公司 一种传输多媒体数据的方法及装置
CN104703051A (zh) * 2014-01-06 2015-06-10 杭州海康威视数字技术股份有限公司 码流发送方法和装置
CN105578201A (zh) * 2015-12-23 2016-05-11 武汉市烽视威科技有限公司 一种实现hls直播码率个数动态调整的系统及方法

Also Published As

Publication number Publication date
CN108966008A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
CN108966008B (zh) 直播视频回放方法及装置
CN111147878B (zh) 直播中的推流方法、装置及计算机存储介质
CN109348247B (zh) 确定音视频播放时间戳的方法、装置及存储介质
CN111083507B (zh) 连麦方法及系统、第一主播端、观众端及计算机存储介质
CN110022489B (zh) 视频播放方法、装置及存储介质
CN108833963B (zh) 显示界面画面的方法、计算机设备、可读存储介质和系统
CN110769271B (zh) 调节多路码流的码率的方法和装置
CN109413453B (zh) 视频播放方法、装置、终端及存储介质
CN111107389B (zh) 确定观看直播时长的方法、装置和系统
CN111586431B (zh) 进行直播处理的方法、装置、设备及存储介质
CN110121084B (zh) 切换端口的方法、装置和系统
CN107896337B (zh) 信息推广方法、装置及存储介质
CN109726064B (zh) 模拟客户端异常运行的方法、装置、系统及存储介质
CN111669640B (zh) 虚拟物品转移特效的显示方法、装置、终端及存储介质
CN110912830B (zh) 传输数据的方法和装置
CN111083554A (zh) 直播礼物显示的方法和装置
CN108401194B (zh) 时间戳确定方法、装置和计算机可读存储介质
CN107888975B (zh) 视频播放方法、装置及存储介质
CN111131272B (zh) 流服务器的调度方法、装置及系统、计算设备、存储介质
CN111010588B (zh) 直播处理方法、装置、存储介质及设备
CN111294551B (zh) 进行音视频传输的方法、装置、设备及存储介质
CN110113669B (zh) 获取视频数据的方法、装置、电子设备及存储介质
CN109714628B (zh) 播放音视频的方法、装置、设备、存储介质及系统
CN112153404B (zh) 码率调整方法、检测方法、装置、设备及存储介质
CN111698262B (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