CN111107387B - 视频转码方法、装置及计算机存储介质 - Google Patents
视频转码方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN111107387B CN111107387B CN201911404033.1A CN201911404033A CN111107387B CN 111107387 B CN111107387 B CN 111107387B CN 201911404033 A CN201911404033 A CN 201911404033A CN 111107387 B CN111107387 B CN 111107387B
- Authority
- CN
- China
- Prior art keywords
- transcoding
- video
- audience
- video stream
- live broadcast
- 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
Links
Images
Classifications
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
Abstract
本申请公开了一种视频转码方法、装置及计算机存储介质,属于互联网技术领域。所述方法包括:在直播过程中,观众端的网络状况不佳,需要播放低码率的直播视频时,可以向服务器发送一条转码请求,服务器通过接收主播端对应的直播间内的一个或者多个观众端发送的转码请求,并将转码请求的接收时刻之后的视频流进行转码,再将接收时刻之后转码后的视频流推送至一个或多个观众端,将接收时刻之后转码前的视频流推送至直播间内除一个或多个观众端之外的观众端。这样在保证观众端可以流畅播放直播视频的同时,很大程度上降低了转码成本。
Description
技术领域
本申请涉及直播技术领域,特别涉及一种视频转码方法、装置及计算机存储介质。
背景技术
在直播中,主播端可以将采集的直播视频通过服务器推送至观众端,以使直播间内的观众可以观看主播的直播视频。由于主播端发送的直播视频的码率通常较高,因此,为了保证观众端能够流畅播放直播视频,服务器需要对该主播端推送的直播视频进行码率转换,并将转码后的直播视频再推送至观众端。
相关技术中,任一主播端将直播视频发送至服务器时,会同时向服务器发送一条转码请求。当服务器接收到直播视频和转码请求后,将接收到的直播视频转换成更低码率的直播视频,再将转码之后的直播视频发送至该主播端的直播间内的观众端。在前述转码方式中服务器将所有的直播视频均进行转码,从而导致转码成本较高。
发明内容
本申请实施例提供了一种视频转码方法、装置及计算机存储介质,可以降低转码成本。所述技术方案如下:
一方面,提供了一种视频转码方法,应用于服务器,所述方法包括:
接收主播端对应的直播间内的一个或者多个观众端发送的转码请求,所述转码请求为所述主播端向所述直播间内的观众端推送视频流的过程中触发的;
将所述转码请求的接收时刻之后的视频流进行转码,其中,转码后的视频流的码率低于转码前的视频流的码率;
将所述接收时刻之后转码后的视频流推送至所述一个或多个观众端,将所述接收时刻之后转码前的视频流推送至所述直播间内除所述一个或多个观众端之外的观众端。
可选的,所述将所述转码请求的接收时刻之后的视频流进行转码之前,还包括:
如果根据所述一个或者多个观众端发送的转码请求确定当前满足转码条件,则执行将所述转码请求的接收时刻之后的视频流进行转码的步骤。
可选的,所述方法还包括:
如果根据所述一个或者多个观众端发送的转码请求确定当前不满足转码条件,则将所述接收时刻之后转码前的视频流推送至所述直播间的各个观众端。
可选的,所述根据所述一个或者多个观众端发送的转码请求确定当前满足转码条件,包括:
确定发送所述转码请求的观众端的数量,得到第一数量;
确定所述直播间内播放直播视频的观众端的数量,得到第二数量;
如果所述第一数量和所述第二数量之间的比值大于第一参考数值,则确定当前满足所述转码条件。
可选的,所述如果所述第一数量和所述第二数量大于第一参考数值,则确定当前满足所述转码条件,包括:
如果所述第一数量与所述第二数量之间的比值大于所述第一参考数值、且所述第二数量大于所述第二参考数值,则确定当前满足所述转码条件。
另一方面,提供了一种视频转码装置,应用于服务器,所述装置包括:
接收模块,用于接收主播端对应的直播间内的一个或者多个观众端发送的转码请求,所述转码请求为所述主播端向所述直播间内的观众端推送视频流的过程中触发的;
转码模块,用于将所述转码请求的接收时刻之后的视频流进行转码,其中,转码后的视频流的码率低于转码前的视频流的码率;
推送模块,用于将所述接收时刻之后转码后的视频流推送至所述一个或多个观众端,将所述接收时刻之后转码前的视频流推送至所述直播间内除所述一个或多个观众端之外的观众端。
可选的,所述装置还包括:
确定模块,用于如果根据所述一个或者多个观众端发送的转码请求确定当前满足转码条件,则执行将所述转码请求的接收时刻之后的视频流进行转码的步骤。
可选的,所述确定模块还用于:
如果根据所述一个或者多个观众端发送的转码请求确定当前不满足转码条件,则将所述接收时刻之后转码前的视频流推送至所述直播间的各个观众端。
可选的,所述确定模块包括:
第一确定子模块,用于确定发送所述转码请求的观众端的数量,得到第一数量;
第二确定子模块,用于确定所述直播间内播放直播视频的观众端的数量,得到第二数量;
第三确定子模块,用于如果所述第一数量和所述第二数量之间的比值大于第一参考数值,则确定当前满足所述转码条件。
可选的,所述第三确定子模块,用于:
如果所述第一数量与所述第二数量之间的比值大于所述第一参考数值、且所述第二数量大于所述第二参考数值,则确定当前满足所述转码条件。
另一方面,提供了一种视频转码装置,所述视频转码装置包括处理器、通信接口、存储器和通信总线;
其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器用于存放计算机程序;
所述处理器用于执行所述存储器上所存放的程序,以实现前述提供视频转码方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前述提供的视频转码方法的步骤。
本申请实施例提供的技术方案带来的有益效果至少包括:
在直播过程中,观众端的网络状况不佳,需要播放低码率的直播视频时,可以向服务器发送一条转码请求,服务器通过接收主播端对应的直播间内的一个或者多个观众端发送的转码请求,并将转码请求的接收时刻之后的视频流进行转码,再将接收时刻之后转码后的视频流推送至一个或多个观众端,将接收时刻之后转码前的视频流推送至直播间内除一个或多个观众端之外的观众端。这样在保证观众端可以流畅播放直播视频的同时,很大程度上降低了转码成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种视频转码系统架构图;
图2是本申请实施例提供的一种视频转码方法流程图;
图3时本申请实施例提供的一种直播界面示意图;
图4是本申请实施例提供的一种视频转码装置的结构示意图;
图5是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行详细的解释说明之前,先对本申请实施例涉及的应用场景予以介绍。
随着互联网技术的发展,在直播平台观看直播视频已经成为现代年轻人生活中不可缺少的娱乐方式。主播直播的过程中,主播端通过部署的摄像头实时采集直播的视频流,并将直播的视频流实时发送至服务器,服务器接收到这些直播的视频流后,可以对这些直播的视频流进行存储,并将这些直播的视频流推送至直播间内的各个观众端,从而实现直播间的观众通过直播平台观看主播的直播视频。
通常情况下主播端的直播视频的码率比较高,也即是每秒时间内主播端向服务器传送的视频流的数据量比较大。以此保证观众端所播放的直播视频的画面清晰,画质损失少,进而使得观众看到的直播视频更接近于原始画面。然而直播的视频流的码率较大时,相应的观众端也需要的更大的网络带宽对这些视频流进行接收,从而流畅播放这些直播视频。而如果观众端这边出现网络状况不稳定,导致网络带宽较低的情况时,观众端播放直播视频时,会出现视频画面不完整或者视频卡顿的现象,影响直播视频的观看效果。本申请实施例提供的视频转码方法便应用于此场景,实现网络状况不佳的观众段也可以实现流畅的播放直播视频的目的。
接下来对本申请实施例提供的视频转码方法所涉及的系统架构进行介绍。
图1是本申请实施例提供的一种视频转码系统架构图。如图1所示,该系统100包括一个主播端101、服务器102、多个观众端103。其中,主播端101和服务器102之间通过有线或者无线方式连接以进行通信。服务器102和观众端103中的每个观众端之间通过有线或者无线方式连接以进行通信。
主播端101部署有摄像头,主播端101基于部署的摄像头实时采集主播的直播的视频流,并将该直播的视频流实时推送至服务器102,服务器102接收到该直播的视频流后,可以对这些直播的视频流进行保存,并通过本申请实施例提供的转码方法对该直播的视频流进行转码以转换成低码率的直播的视频流。当观众端103网络状况不佳时,可以基于观众的选择操作从服务器中获取低码率的直播的视频流。
关于上述服务器对直播的视频流进行转码以转换成低码率的直播的视频流的具体实现方式将在下述实施例中详细说明,在此就先不详细展开说明。
此外,在本申请实施例中,主播端101和观众端103可以为平板电脑、台式电脑、手机等设备,服务器102可以是用于本申请实施例中用于对直播的视频流进行转码的一台服务器或者一个服务器集群,本申请实施例对此不做限定。
在本申请可选实施例中,图1中仅是以主播端101的数量为1个、观众端103的数量为3个进行举例说明,但是,这并不构成对直播中的推流系统中的主播端和观众端数量的限制。
接下来对本申请实施例提供的视频转码方法进行详细的解释说明。
图2是本申请实施例提供的一种视频转码方法的流程图,该方法应用于服务器。请参考图2,该方法包括如下步骤。
步骤201:服务器接收主播端对应的直播间内的一个或者多个观众端发送的转码请求。
其中,主播直播的过程中实时采集直播的视频流,并将视频流实时发送至服务器,服务器接收到这些视频流后,再将这些视频流推送至直播间内的各个观众端。当任一观众在观看直播视频的过程中,需要对直播视频进行转码,则基于预设操作向观众端触发一个转码指令。观众端检测到该转码指令后,生成一条转码请求,并将该转码请求发送至服务器。服务器接收到该转码请求时,则将接收到的转码请求时刻之后的所接收到的视频流进行转码,并将转码后的视频流推送至发送转码请求的观众端。这样满足了观众的需求的同时,流很大程度上降低了转码成本。
在一种可能的实现方式中,为了实现服务器基于转码请求进行转码的目的步骤201可能的实现过程为:如图3所示,直播界面包括直播视频播放窗口以及选项显示窗口,并在该选项显示窗口设置“视频转码”选项,观众通过预设操作触发直播界面中选项显示窗口的“视频转码”选项以实现向观众端触发一个转码请求,观众端接收到该转码请求后,将该转码请求发送至服务器,服务器基于该转码请求执行后续步骤202以实现对直播的视频流进行转码的目的。该预设操作可以是点击操作,滑动操作等。
步骤202:服务器将转码请求的接收时刻之后的视频流进行转码。
其中,转码后的视频流的码率低于转码前的视频流的码率,也即是通过对视频流进行转码以实现得到更低码率的视频流的目的。
在一种可能的实现方式中,步骤202可能的实现过程为:服务器接收到该转码请求时,则将接收到的转码请求时刻之后的所接收到的视频流进行转码。
需要说明的是,服务器在通过202执行对直播的视频流进行转码的操作之前,还可以设置转码条件,以根据该转码条件判断是否需要对直播的视频流进行转码。这样通过设置转码条件,可以排除掉一些不必要进行转码的情况,以达到最大程度的节省转码成本的目的。比如:当服务器接收到转码请求,但是当前观看的直播的观众人数特别少,这种情况不需要服务器执行专门的转码操作。
在一种可能的实现方式中,服务器需要根据一个或者多个观众端发送的转码请求确定是否满足当前的转码条件,进而判断是否需要执行对直播的视频流进行转码的操作。具体的判断过程如下:
如果根据该一个或者多个观众端发送的转码请求确定当前满足转码条件,则执行将上述转码请求的接收时刻之后的视频流进行转码的步骤。也即是执行步骤202中对视频流进行转码的操作。
如果根据该一个或者多个观众端发送的转码请求确定当前不满足转码条件,则将该接收时刻之后转码前的视频流推送至该直播间的各个观众端。也即是不执行步骤202中对视频流进行转码的操作,直接将接收到的原始的视频流推送至该直播间的各个观众端。
其中,在不同的应用场景中需要采用不同的转码条件以确定是否需要对直播的视频流进行转码。也即是,服务器可以在不同的场景下灵活的调整转码条件。这样在降低转码成本的同时,可以最大程度的满足观众的需求。
在一种可能的场景中,服务器根据主播端所在的直播间内的在线观众数量以及请求对直播视频进行转码的观众数量确定出请求对直播视频进行转码的观众数量与直播间内的在线观众数量之间的比值。当该比值较高时服务器进行转码,可以排除掉请求对直播视频进行转码的观众数量过少这种不必要进行转码的情况,最大程度降低转码成本。具体的,服务器确定是否满足转码条件的过程包括:服务器确定发送转码请求的观众端的数量,得到第一数量;服务器确定直播间内播放直播视频的观众端的数量,得到第二数量;如果第一数量和第二数量之间的比值大于第一参考数值,则确定当前满足转码条件。
其中,上述第一参考数值可以是服务器设置的任意一个数值。
比如,该第一参考数值为0.7。服务器通过直播间内的在线观众的数量确定出直播间内播放该直播视频的观众端的数量为10235,也即是上述第二数量为10235。服务器接收到的观众端的转码请求的数量为8322,也即是上述第一数量为10235。第一数量和第二数量之间的比值为0.8,该比值大于第一参考数值0.7,则确定当前满足转码条件。
在另一种可能的场景中,服务器确定出当前观看直播视频的观众数量较多时才执行转码操作,以排除掉观众数量过少这种不必要进行转码的情况,最大程度降低转码成本。相应的,需要对转码条件进行调整。具体的,服务器确定是否满足转码条件的过程包括:服务器确定发送转码请求的观众端的数量,得到第一数量;服务器确定直播间内播放直播视频的观众端的数量,得到第二数量;如果第一数量和第二数量之间的比值大于第一参考数值,且第二数量大于第二参考数值,则确定当前满足转码条件。
其中,上述第二参考数值可以是服务器设置的任意一个数值。
比如,该第一参考数值为0.7。第二参考数值为5000。服务器通过直播间内的在线观众的数量确定出直播间内播放该直播视频的观众端的数量为10235,也即是上述第二数量为10235。服务器接收到观众端的转码请求的数量为8322,也即是上述第一数量为8322。第一数量8322和第二数量10235之间的比值为0.8,该比值大于第一参考数值0.7,且第二数量10235大于第二参考数值5000,则确定当前满足转码条件。
又比如,该第一参考数值为0.7。第二参考数值为5000。服务器通过直播间内的在线观众的数量确定出直播间内播放直播视频的观众端的数量为4355,也即是上述第二数量为4355。服务器接收到的转码请求的数量为3211,也即是上述第一数量为3211。第一数量3211和第二数量4355之间的比值为0.73,该比值大于第一参考数值0.7,但第二数量4355小于第二参考数值5000,则确定当前不满足转码条件。
在另一种可能的场景中,服务器还可以根据根据发送转码请求的观众端对应的观众的级别确定转码条件,以鼓励更多的观众提升自身的级别,比如通过增加直播视频点击量提升级别,进而增加直播平台的热度。具体的,服务器确定是否满足转码条件的过程包括:服务器确定发送转码请求的观众端的数量;服务器确定发送转码请求的观众端的级别,以及相应的高级别的观众的数量;如果高级别的观众的数量和观众端的数量之间的比值大于第三参考数值,则确定当前满足转码条件。
其中,上述第三参考数值可以是服务器设置的任意一个数值。
比如,该第三参考数值为0.5。服务器确定发送转码请求的观众端的数量为4300。同时服务器确定发送该转码请求的观众端的级别,确定出发送该转码请求的观众端中高级别的观众的数量为3200,低级别的观众的数量为1100。高级别的观众的数量和观众端的数量之间的比值为0.74,该比值大于第三参考数值0.5。则确定当前满足转码条件。
在本申请实施例中,不限于上述三种设置转码条件的方式,也可以服务器根据需要设置其他的转码条件,在此并不做限定。
步骤203:服务器将该接收时刻之后转码后的视频流推送至该一个或多个观众端,将该接收时刻之后转码前的视频流推送至该直播间内除该一个或多个观众端之外的观众端。
其中,服务器在通过上述步骤203对视频流进行转码之后,服务器相应的保存有转码后的低码率的视频流以及转码前的视频流。并将转码后的低码率的视频流相应的推送至之前发送有转码请求的观众端,将并将转码后的低码率的视频流相应的推送至没有发送转码请求的观众端。
在一种可能的实现方式中,步骤203可能的实现过程为:服务器根据步骤201中接收到的一个或者多个观众端发送的转码请求和当前直播间的在线的观众对应的观众端,确定出发送有转码请求的观众端,以及没有发送转码请求的观众端,将该接收时刻之后转码后的视频流推送至该一个或多个发送有转码请求的观众端,将该接收时刻之后转码后的视频流推送至该一个或多个没有发送转码请求的观众端。
在本申请实施例中,在直播过程中,观众端的网络状况不佳,需要播放低码率的直播视频时,可以向服务器发送一条转码请求,服务器通过接收主播端对应的直播间内的一个或者多个观众端发送的转码请求,并将转码请求的接收时刻之后的视频流进行转码,再将接收时刻之后转码后的视频流推送至一个或多个观众端,将接收时刻之后转码前的视频流推送至直播间内除一个或多个观众端之外的观众端。这样在保证观众端可以流畅播放直播视频的同时,很大程度上降低了转码成本。
上述所有可选技术方案,均可按照任意结合形成本申请的可选实施例,本申请实施例对此不再一一赘述。
图4是本申请实施例提供的一种视频转码装置400的结构示意图,该视频转码装置可以由软件、硬件或者两者的结合实现。该视频转码装置可以包括:
接收模块401,用于接收主播端对应的直播间内的一个或者多个观众端发送的转码请求,转码请求为主播端向直播间内的观众端推送视频流的过程中触发的;
转码模块402,用于将转码请求的接收时刻之后的视频流进行转码,其中,转码后的视频流的码率低于转码前的视频流的码率;
推送模块403,用于将接收时刻之后转码后的视频流推送至一个或多个观众端,将接收时刻之后转码前的视频流推送至直播间内除一个或多个观众端之外的观众端。
可选的,该装置还包括:
确定模块,用于如果根据一个或者多个观众端发送的转码请求确定当前满足转码条件,则执行将转码请求的接收时刻之后的视频流进行转码的步骤。
可选的,确定模块还用于:
如果根据一个或者多个观众端发送的转码请求确定当前不满足转码条件,则将接收时刻之后转码前的视频流推送至直播间的各个观众端。
可选的,确定模块包括:
第一确定子模块,用于确定发送转码请求的观众端的数量,得到第一数量;
第二确定子模块,用于确定直播间内播放直播视频的观众端的数量,得到第二数量;
第三确定子模块,用于如果第一数量和第二数量之间的比值大于第一参考数值,则确定当前满足转码条件。
可选的,第三确定子模块,用于:
如果第一数量与第二数量之间的比值大于第一参考数值、且第二数量大于第二参考数值,则确定当前满足转码条件。
在本申请实施例中,在直播过程中,观众端的网络状况不佳,需要播放低码率的直播视频时,可以向服务器发送一条转码请求,服务器通过接收主播端对应的直播间内的一个或者多个观众端发送的转码请求,并将转码请求的接收时刻之后的视频流进行转码,再将接收时刻之后转码后的视频流推送至一个或多个观众端,将接收时刻之后转码前的视频流推送至直播间内除一个或多个观众端之外的观众端。这样在保证观众端可以流畅播放直播视频的同时,很大程度上降低了转码成本。
需要说明的是:上述实施例提供的视频转码装置在视频转码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频转码装置与视频转码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本申请实施例提供的一种的服务器结构示意图。该服务器可以是后台服务器集群中的服务器。该服务器可以是图1所示的视频转码系统中的服务器,具体来讲:
服务器500包括中央处理单元(CPU)501、包括随机存取存储器(RAM)502和只读存储器(ROM)503的系统存储器504,以及连接系统存储器504和中央处理单元501的系统总线505。服务器500还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)506,和用于存储操作系统513、应用程序514和其他程序模块515的大容量存储设备507。
基本输入/输出系统506包括有用于显示信息的显示器508和用于用户输入信息的诸如鼠标、键盘之类的输入设备509。其中显示器508和输入设备509都通过连接到系统总线505的输入输出控制器510连接到中央处理单元501。基本输入/输出系统506还可以包括输入输出控制器510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器510还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备507通过连接到系统总线505的大容量存储控制器(未示出)连接到中央处理单元501。大容量存储设备507及其相关联的计算机可读介质为服务器500提供非易失性存储。也就是说,大容量存储设备507可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器504和大容量存储设备507可以统称为存储器。
根据本申请的各种实施例,服务器500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器500可以通过连接在系统总线505上的网络接口单元511连接到网络512,或者说,也可以使用网络接口单元511来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。所述一个或者一个以上程序包含用于进行本申请实施例提供的如下所述的视频转码方法的指令。
本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述实施例提供的视频转码方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在服务器上运行时,使得服务器执行上述实施例提供的视频转码方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种视频转码方法,其特征在于,应用于服务器,所述方法包括:
接收主播端对应的直播间内的一个或者多个观众端发送的转码请求,所述转码请求为所述主播端向所述直播间内的观众端推送视频流的过程中触发的,所述转码请求为所述一个或者多个观众端在检测到转码指令时生成并发送至所述服务器的,所述转码指令为当任一观众在观看直播视频的过程中需要对直播视频进行转码时,基于预设操作在观众端触发的;
将所述转码请求的接收时刻之后的视频流进行转码,其中,转码后的视频流的码率低于转码前的视频流的码率;
将所述接收时刻之后转码后的视频流推送至所述一个或多个观众端,将所述接收时刻之后转码前的视频流推送至所述直播间内除所述一个或多个观众端之外的观众端。
2.如权利要求1所述的方法,其特征在于,所述将所述转码请求的接收时刻之后的视频流进行转码之前,还包括:
如果根据所述一个或者多个观众端发送的转码请求确定当前满足转码条件,则执行将所述转码请求的接收时刻之后的视频流进行转码的步骤。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
如果根据所述一个或者多个观众端发送的转码请求确定当前不满足转码条件,则将所述接收时刻之后转码前的视频流推送至所述直播间的各个观众端。
4.如权利要求2所述的方法,其特征在于,所述根据所述一个或者多个观众端发送的转码请求确定当前满足转码条件,包括:
确定发送所述转码请求的观众端的数量,得到第一数量;
确定所述直播间内播放直播视频的观众端的数量,得到第二数量;
如果所述第一数量和所述第二数量之间的比值大于第一参考数值,则确定当前满足所述转码条件。
5.如权利要求4所述的方法,其特征在于,所述如果所述第一数量和所述第二数量大于第一参考数值,则确定当前满足所述转码条件,包括:
如果所述第一数量与所述第二数量之间的比值大于所述第一参考数值、且所述第二数量大于第二参考数值,则确定当前满足所述转码条件。
6.一种视频转码装置,其特征在于,应用于服务器,所述装置包括:
接收模块,用于接收主播端对应的直播间内的一个或者多个观众端发送的转码请求,所述转码请求为所述主播端向所述直播间内的观众端推送视频流的过程中触发的,所述转码请求为所述一个或者多个观众端在检测到转码指令时生成并发送至所述服务器的,所述转码指令为当任一观众在观看直播视频的过程中需要对直播视频进行转码时,基于预设操作在观众端触发的;
转码模块,用于将所述转码请求的接收时刻之后的视频流进行转码,其中,转码后的视频流的码率低于转码前的视频流的码率;
推送模块,用于将所述接收时刻之后转码后的视频流推送至所述一个或多个观众端,将所述接收时刻之后转码前的视频流推送至所述直播间内除所述一个或多个观众端之外的观众端。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
确定模块,用于如果根据所述一个或者多个观众端发送的转码请求确定当前满足转码条件,则执行将所述转码请求的接收时刻之后的视频流进行转码的步骤。
8.如权利要求7所述的装置,其特征在于,所述确定模块还用于:
如果根据所述一个或者多个观众端发送的转码请求确定当前不满足转码条件,则将所述接收时刻之后转码前的视频流推送至所述直播间的各个观众端。
9.如权利要求7所述的装置,其特征在于,所述确定模块包括:
第一确定子模块,用于确定发送所述转码请求的观众端的数量,得到第一数量;
第二确定子模块,用于确定所述直播间内播放直播视频的观众端的数量,得到第二数量;
第三确定子模块,用于如果所述第一数量和所述第二数量之间的比值大于第一参考数值,则确定当前满足所述转码条件。
10.如权利要求9所述的装置,其特征在于,所述第三确定子模块,用于:
如果所述第一数量与所述第二数量之间的比值大于所述第一参考数值、且所述第二数量大于第二参考数值,则确定当前满足所述转码条件。
11.一种视频转码装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述权利要求1至权利要求5中的任一项权利要求所述的方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述权利要求1至权利要求5中的任一项权利要求所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911404033.1A CN111107387B (zh) | 2019-12-30 | 2019-12-30 | 视频转码方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911404033.1A CN111107387B (zh) | 2019-12-30 | 2019-12-30 | 视频转码方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111107387A CN111107387A (zh) | 2020-05-05 |
CN111107387B true CN111107387B (zh) | 2021-12-28 |
Family
ID=70424758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911404033.1A Active CN111107387B (zh) | 2019-12-30 | 2019-12-30 | 视频转码方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111107387B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112492325B (zh) * | 2020-10-12 | 2022-01-14 | 北京邮电大学 | 一种观看者协助的视频转码任务分配方法及装置 |
CN114007109B (zh) * | 2021-10-28 | 2023-05-12 | 广州华多网络科技有限公司 | 混流转码处理方法及其装置、设备、介质、产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702969A (zh) * | 2013-12-09 | 2015-06-10 | 杭州海康威视数字技术股份有限公司 | 进行视音频数据被动转码的方法、系统及转码服务器 |
CN105635755A (zh) * | 2015-12-30 | 2016-06-01 | 合一网络技术(北京)有限公司 | 直播流传输方法和装置 |
CN105871808A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 直播视频的转码方法及装置 |
CN106899858A (zh) * | 2017-02-14 | 2017-06-27 | 北京时间股份有限公司 | 视频转码方法、服务器及系统 |
EP2870776B1 (en) * | 2012-07-05 | 2017-11-01 | Motorola Mobility LLC | Methods and devices for bandwidth allocation in adaptive bitrate streaming |
US9936229B1 (en) * | 2017-05-18 | 2018-04-03 | CodeShop BV | Delivery of edited or inserted media streaming content |
CN110475125A (zh) * | 2018-05-10 | 2019-11-19 | 视联动力信息技术股份有限公司 | 视频转码方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959716A (zh) * | 2016-05-13 | 2016-09-21 | 武汉斗鱼网络科技有限公司 | 基于用户设备自动推荐清晰度的方法及系统 |
CN108900919A (zh) * | 2018-06-29 | 2018-11-27 | 乐蜜有限公司 | 一种直播中的连麦方法、装置、服务器及终端 |
CN110213603B (zh) * | 2019-05-22 | 2021-12-28 | 腾讯科技(深圳)有限公司 | 一种直播流传输方法、装置、服务器、系统及存储介质 |
CN110460871B (zh) * | 2019-08-29 | 2022-01-21 | 卓米私人有限公司 | 直播视频的生成方法、装置、系统及设备 |
-
2019
- 2019-12-30 CN CN201911404033.1A patent/CN111107387B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2870776B1 (en) * | 2012-07-05 | 2017-11-01 | Motorola Mobility LLC | Methods and devices for bandwidth allocation in adaptive bitrate streaming |
CN104702969A (zh) * | 2013-12-09 | 2015-06-10 | 杭州海康威视数字技术股份有限公司 | 进行视音频数据被动转码的方法、系统及转码服务器 |
CN105871808A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 直播视频的转码方法及装置 |
CN105635755A (zh) * | 2015-12-30 | 2016-06-01 | 合一网络技术(北京)有限公司 | 直播流传输方法和装置 |
CN106899858A (zh) * | 2017-02-14 | 2017-06-27 | 北京时间股份有限公司 | 视频转码方法、服务器及系统 |
US9936229B1 (en) * | 2017-05-18 | 2018-04-03 | CodeShop BV | Delivery of edited or inserted media streaming content |
CN110475125A (zh) * | 2018-05-10 | 2019-11-19 | 视联动力信息技术股份有限公司 | 视频转码方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111107387A (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11470405B2 (en) | Network video streaming with trick play based on separate trick play files | |
CN111135569B (zh) | 云游戏处理方法、装置、存储介质与电子设备 | |
US10250664B2 (en) | Placeshifting live encoded video faster than real time | |
CN110798698B (zh) | 一种直播应用程序的多服务器推流方法、设备和存储介质 | |
CN106791956B (zh) | 网络直播卡顿的处理方法及装置 | |
WO2016138844A1 (zh) | 音视频文件直播方法和系统、服务器 | |
CN112019927B (zh) | 视频直播方法、连麦设备、直播系统及存储介质 | |
CN101917391A (zh) | 一种网络视频的播放方法及一种网络视频播放系统 | |
CN112752109B (zh) | 视频播放控制方法和系统 | |
CN112839238B (zh) | 投屏播放方法、装置和存储介质 | |
CN108881931B (zh) | 一种数据缓冲方法及网络设备 | |
CN112425178B (zh) | 两遍组块并行转码处理 | |
CN111107387B (zh) | 视频转码方法、装置及计算机存储介质 | |
CN114040232B (zh) | 投屏系统、方法、电子设备和存储介质 | |
CN113225585A (zh) | 一种视频清晰度的切换方法、装置、电子设备以及存储介质 | |
US10469860B1 (en) | Chunk parallel transcoding using overlapping frames | |
CN107493478B (zh) | 编码帧率设置方法及设备 | |
CN113132194A (zh) | 一种信息流转方法、装置、设备、服务器及存储介质 | |
US11777871B2 (en) | Delivery of multimedia components according to user activity | |
CN114143616A (zh) | 目标视频的处理方法和系统、存储介质及电子装置 | |
US9277261B2 (en) | Information processing apparatus and control method thereof | |
CN113612728B (zh) | 流媒体播放方法、传输设备和系统 | |
US10893331B1 (en) | Subtitle processing for devices with limited memory | |
CN112929756B (zh) | 视频点播方法、p2p节点及计算机可读存储介质 | |
CN112738571B (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 |