CN113411340A - 视频处理方法、装置、电子设备、存储介质和程序产品 - Google Patents
视频处理方法、装置、电子设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN113411340A CN113411340A CN202110695040.2A CN202110695040A CN113411340A CN 113411340 A CN113411340 A CN 113411340A CN 202110695040 A CN202110695040 A CN 202110695040A CN 113411340 A CN113411340 A CN 113411340A
- Authority
- CN
- China
- Prior art keywords
- network quality
- resolution
- monitoring period
- video data
- data stream
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 title claims abstract description 12
- 238000012544 monitoring process Methods 0.000 claims abstract description 230
- 238000000034 method Methods 0.000 claims abstract description 51
- 230000000875 corresponding effect Effects 0.000 claims description 134
- 230000008859 change Effects 0.000 claims description 37
- 230000001960 triggered effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 230000002596 correlated effect Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- 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/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供一种视频处理方法、装置、电子设备、存储介质和程序产品。方法应用于第一设备,包括:向第二设备推送使用第一分辨率生成的视频数据流时,监测目标设备的网络质量是否发生变化,目标设备为第一设备或第二设备;若目标设备的网络质量发生变化,则基于发生变化后的网络质量,获取与发生变化后的网络质量匹配的第二分辨率;向第二设备推送使用第二分辨率生成的视频数据流。本申请的方法提高了确定视频数据流的分辨率的准确性。
Description
技术领域
本申请涉及网络技术,尤其涉及一种视频处理方法、装置、电子设备、存储介质和程序产品。
背景技术
随着网络技术的不断改善,网络直播成为了非常热门的娱乐项目。用户可以通过安装有直播应用的终端设备(即推流端)进行网络直播。推流端可以将采集到的视频数据流推送给直播应用服务器。其中,视频数据流的清晰度主要由视频数据流的分辨率确定。分辨率越大的视频数据流的清晰度越高。分辨率越小的视频数据流的清晰度越低。
目前,确定视频数据流的分辨率的方法主要是:用户在开直播之前,根据人工经验对视频数据流的分辨率进行设置。然而,推送分辨率越大的视频数据流,对推流端的网络质量也越高。当用户设置的视频数据流的分辨率较大,但是推流端的网络质量不高时,可能导致推流端推送该视频数据流的速度较低,进而可能导致直播出现卡顿或中断的情况。也就是说,现有的确定视频数据流的分辨率的方法的准确性较低。
发明内容
本申请提供一种视频处理方法、装置、电子设备、存储介质和程序产品,用以解决现有的确定视频数据流的分辨率的方法的准确性较低的问题。
第一方面,本申请提供一种视频处理方法,该方法应用于第一设备,所述方法包括:
向第二设备推送使用第一分辨率生成的视频数据流时,监测目标设备的网络质量是否发生变化,所述目标设备为所述第一设备或所述第二设备;
若所述目标设备的网络质量发生变化,则基于发生变化后的网络质量,获取与所述发生变化后的网络质量匹配的第二分辨率;
向所述第二设备推送使用所述第二分辨率生成的视频数据流。
可选的,所述第一分辨率为与所述目标设备在第i-1个监测周期的网络质量匹配的分辨率;
所述监测所述目标设备的网络质量是否发生变化,包括:
针对第i个监测周期,获取所述目标设备在所述第i个监测周期的网络质量;所述i为大于1的整数;
根据所述第i个监测周期的网络质量,以及,所述目标设备在第i-1个监测周期的网络质量,确定所述目标设备在所述第i个监测周期的网络质量是否发生变化。
可选的,所述根据所述第i个监测周期的网络质量,以及,所述目标设备在第i-1个监测周期的网络质量,确定所述目标设备在所述第i个监测周期的网络质量是否发生变化,包括:
若所述第i个监测周期的网络质量对应的网络质量所属的区间,以及,所述第i-1个监测周期的网络质量对应的网络质量所属的区间相同,则根据所述第i个监测周期的网络质量,与,所述目标设备在第i-1个监测周期的网络质量的变化率,确定所述目标设备在所述第i个监测周期的网络质量是否发生变化。
可选的,所述根据所述第i个监测周期的网络质量,与,所述目标设备在第i-1个监测周期的网络质量的变化率,确定所述目标设备在所述第i个监测周期的网络质量是否发生变化,包括:
若所述变化率大于第一预设阈值,则确定所述目标设备在所述第i个监测周期的网络质量发生变化;
所述基于发生变化后的网络质量,获取与所述发生变化后的网络质量匹配的第二分辨率,包括:
若所述第i个监测周期的网络质量,大于,所述目标设备在第i-1个监测周期的网络质量,则采用所述第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中与所述第一分辨率相邻、且大于所述第一分辨率的分辨率作为所述第二分辨率;各区间对应的分辨率集合中的分辨率均为所述目标设备支持的分辨率;
或者,
若所述第i个监测周期的网络质量,小于,所述目标设备在第i-1个监测周期的网络质量,则采用所述第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中与所述第一分辨率相邻、且小于所述第一分辨率的分辨率作为所述第二分辨率。
可选的,所述根据所述第i个监测周期的网络质量,以及,所述目标设备在第i-1个监测周期的网络质量,确定所述目标设备在所述第i个监测周期的网络质量是否发生变化,包括:
若所述第i个监测周期的网络质量对应的网络质量所属的区间,以及,所述第i-1个监测周期的网络质量对应的网络质量所属的区间不同,则确定所述目标设备在所述第i个监测周期的网络质量发生变化;
所述基于发生变化后的网络质量,获取与所述发生变化后的网络质量匹配的第二分辨率,包括:
若所述第i个监测周期的网络质量对应的网络质量所属的区间,大于,所述第i-1个监测周期的网络质量对应的网络质量所属的区间,则采用所述第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中的最小分辨率作为所述第二分辨率;或者,
若所述第i个监测周期的网络质量对应的网络质量所属的区间,小于,所述第i-1个监测周期的网络质量对应的网络质量所属的区间,则采用所述第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中的最大分辨率作为所述第二分辨率。
可选的,所述获取所述目标设备在所述第i个监测周期的网络质量,包括:
获取所述目标设备在所述第i个监测周期内的多个时刻测量得到的网络质量;
将所述多个时刻测量得到的网络质量的平均值,作为所述目标设备在所述第i个监测周期的网络质量。
可选的,所述向第二设备推送使用第一分辨率生成的视频数据流,包括:
向所述第二设备推送使用所述第一分辨率,以及与所述第一分辨率对应的第一码率生成的视频数据流;
所述向所述第二设备推送使用所述第二分辨率生成的视频数据流,包括:
向所述第二设备推送使用所述第二分辨率,以及与所述第二分辨率对应的第二码率生成的视频数据流;其中,码率与分辨率正相关。
可选的,i等于2,所述目标设备为所述第一设备,所述向第二设备推送使用第一分辨率生成的视频数据流,包括:
接收视频推送请求,所述视频推送请求用于请求向所述第二设备推送视频数据流;
响应于所述视频推送请求,获取所述第一设备支持的分辨率,以及,所述第一设备的初始网络质量;
根据所述第一设备支持的分辨率,构建各网络质量所属的区间的分辨率集合;
将所述初始网络质量所属的区间对应的分辨率集合中的最大分辨率作为所述第一分辨率;
使用所述第一分辨率生成视频数据流;
向所述第二设备推送使用所述第一分辨率生成的视频数据流。
可选的,所述视频推送请求为用户触发的直播请求;所述使用所述第一分辨率生成的视频数据流为使用所述第一分辨率采集直播数据生成的视频数据流,所述使用所述第二分辨率生成的视频数据流为使用所述第二分辨率采集直播数据生成的视频数据流。
第二方面,本申请提供一种视频处理装置,所述装置应用于第一设备,所述方法包括:
监测模块,用于向第二设备推送使用第一分辨率生成的视频数据流时,监测目标设备的网络质量是否发生变化,所述目标设备为所述第一设备或所述第二设备;
获取模块,用于在所述目标设备的网络质量发生变化时,基于发生变化后的网络质量,获取与所述发生变化后的网络质量匹配的第二分辨率;
推送模块,用于向所述第二设备推送使用所述第二分辨率生成的视频数据流。
第三方面,本申请提供一种电子设备,包括:至少一个处理器、存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行第一方面任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现第一方面任一项所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的方法。
本申请提供的视频处理方法、装置、电子设备、存储介质和程序产品,第一设备在向第二设备推送使用第一分辨率生成的视频数据流过程中,监测目标设备的网络质量是否变化,并在目标设备的网络质量发生变化时,根据变化后的网络质量,获取与变化后的网络质量匹配的第二分辨率。通过上述方法,使得第一设备推送给第二设备的视频数据流的分辨率始终与目标设备的网络质量匹配,提高了确定视频数据流的分辨率的准确性,保证了在网络质量变低的情况下,推送视频数据流的流畅性,进而提高了用户体验。此外,在目标设备的网络质量变高的情况下,通过上述方法,可以提高视频数据流的分辨率,进而提高视频数据流的清晰度,进一步提高了用户体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请提供的视频处理方法的一种应用场景示意图;
图2为本申请提供的一种视频处理方法的流程示意图;
图3为本申请提供的一种监测目标设备的网络质量是否发生变化的方法的流程示意图;
图4为本申请提供的一种第一设备接收视频推送请求的应用场景示意图;
图5为本申请提供的另一种视频处理方法的流程示意图;
图6为本申请提供的一种视频处理装置的结构示意图;
图7为本申请提供的一种电子设备结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
下面对本申请涉及到的名词概念进行解释:
分辨率:用于度量图像内数据量多少的参数。单位为每英寸像素(Pixel perinch,ppi)。分辨率越大的视频数据流中每帧图像包括的像素点越多,视频数据流的清晰度越高,视频数据流的数据量也越大。分辨率越小的视频数据流中每帧图像包括的像素点越少,视频数据流的清晰度越低,视频数据流的数据量也越小。
码率:也叫做比特率,指的是每秒传送的比特数。数据传输的码率越高,单位时间传送的数据量越大。数据传输的码率越低,单位时间传送的数据量越小。电子设备进行数据传输时能够达到的最大码率等于电子设备的网速。
推流:指的是开直播的用户使用的终端设备(即推流端)将视频数据流传输到直播应用服务器的过程。
拉流:指的是直播应用服务器将视频数据流传输给看直播的用户使用的终端设备(即拉流端)的过程。
以推流端和拉流端均为手机(或者平板电脑)为例,图1为本申请提供的视频处理方法的一种应用场景示意图。如图1所示,推流端可以将采集到的视频数据流,推送给直播应用服务器。直播应用服务器在接收到该视频数据流之后,可以将该视频数据流推送给拉流端。
应理解,图1仅是以推流端为手机或者平板电脑为例进行的应用场景的示例,本申请并不对推流端的类型进行限定。具体实现时,该推流端例如还可以是台式电脑等可以进行直播的电子设备。
推流端可以使用不同的分辨率采集视频数据流。在推流端的网络质量不变的情况下,视频数据流的分辨率越大,视频数据流的数据量越大,推流端推送该视频数据流的速度越慢,进而可能导致直播出现卡顿或者中断的情况。视频数据流的分辨率越小,视频数据流的数据量越小,推流端推送该视频数据流的速度越快,但是可能导致直播的清晰度较低。因此,准确的确定视频数据流的分辨率是至关重要的。
目前,主要是通过推流端的用户,在开始直播之前,根据人工经验对推流端的视频数据流的分辨率进行设置。然后,推流端可以使用该固定的分辨率采集视频数据流进行直播。然而,根据人工经验来设置视频数据流的分辨率需要用户对分辨率以及网速等概念之间的关系具有较多的了解,以及,经验积累。对于不熟悉该领域的用户而言,人工确定的视频数据流的分辨率若过高,则可能导致直播卡顿或中断,若过低,则可能导致直播的清晰度较差。也就是说,通过人工经验确定视频数据流的分辨率的准确性较差。
针对人工经验确定的视频数据流的分辨率的准确性较差的问题,在一些实施例中,提出了自动化的确定视频数据流的分辨率。先这些实施例中,推流端可以在接收到用户的直播请求时,根据推流端当前网速确定该场直播对应的分辨率。然后,推流端可以根据该确定的分辨率,进行本次直播。
然而,若直播过程中推流端的网速变慢,也就是说是推流端单位时间内可推送的数据量减少,则推流端推送视频数据流的速度可能变慢,进而可能导致直播卡顿或中断。也就是说,现有的自动化确定视频数据流的分辨率的方法仍然存在准确性较差的问题。
考虑到现有的视频处理方法存在上述问题,本申请提出了一种第一设备根据推送视频数据流过程中目标设备的网络质量实时情况,确定视频数据流的分辨率的方法。通过上述方法,可以使得视频数据流的分辨率随着目标设备的网络质量变化而改变,提高了确定视频数据流的分辨率的准确性,进而保证了第一设备推送视频数据流到第二设备的流畅性。其中,该第一设备为上述方法的执行主体,第二设备为接收视频数据流的电子设备,目标设备为上述第一设备或者第二设备。
示例性的,上述第一设备可以是如前述所说的推流端。在该场景下,第二设备可以为如前述所说的直播应用服务器,目标设备可以为该推流端。
或者,上述第一设备还可以是可以向第二设备推送视频数据流的电子设备(例如视频应用对应的服务器或者如前述所说的直播应用服务器等)。在该场景下,第二设备可以为接收该视频数据流的用户终端,目标设备也为该用户终端。
下面结合具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请提供的一种视频处理方法的流程示意图。如图2所示,该方法包括以下步骤:
S101、第一设备向第二设备推送使用第一分辨率生成的视频数据流时,监测目标设备的网络质量是否发生变化。
其中,如前述所说,目标设备可以为第一设备或第二设备。
当该目标设备为第一设备时,以第一设备为推流端,第二设备为直播应用服务器为例,推流端在向直播应用服务器推送使用第一分辨率生成的视频数据流时,监测推流端的网络质量是否发生变化。
在该示例下,上述视频数据流可以为推流端采集到的直播视频数据流。可选的,该直播视频数据流例如可以是摄像设备拍摄到的视频数据流。其中,该摄像设备可以是推流端的摄像头,或者,与推流端连接的摄像设备。或者,该直播视频数据流还可以是推流端对其显示装置进行录屏得到的视频数据流。再或者,该直播视频数据流还可以是摄像设备拍摄到的视频数据流,以及,推流端对其显示装置进行录屏得到的视频数据流。
当该目标设备为第二设备时,以第一设备为直播应用服务器,第二设备为拉流端为例,直播应用服务器在向拉流端推送使用第一分辨率生成的视频数据流时,监测拉流端的网络质量是否发生变化。在该示例下,上述视频数据流可以为直播应用服务器获取到的推流端推送的直播视频数据流。
可选的,上述第一分辨率例如可以是用户预先存储在第一设备中的。或者,上述第一分辨率例如还可以是第一设备在向第二设备推送使用第一分辨率生成的视频数据流之前,根据目标设备的网络质量确定的。再或者,第一设备从目标设备能够支持的各分辨率中随机选取一个分辨率作为第一分辨率。
可选的,上述网络质量例如可以是指目标设备的网速,或者,目标设备的网络信号强度,或者目标设备的网速和网络信号强度。当该目标设备为第一设备时,第一设备可以监测自身的网络质量。当该目标设备为第二设备时,第一设备可以向第二设备发送网络质量获取请求,然后获取第二设备发送的该第二设备的网络质量。或者,第二设备还可以周期性的向第一设备发送自身的网络质量。
以上述网络质量是指目标设备的网速为例,作为一种可能的实现方式,若监测到目标设备的当前网速与上一采集时刻的网速的差不为零,则第一设备可以确定目标设备的网络质量发生变化。若目标设备的当前网速与上一采集时刻的网速的差为零,则第一设备可以确定目标设备的网络质量未发生变化。
或者,第一设备还可以根据目标设备的网速变化率确定目标设备的网络质量是否发生变化。示例性的,若目标设备的网速变化率大于或等于预设的变化率阈值,则第一设备可以确定目标设备的网络质量发生变化。若目标设备的网速变化率小于预设的变化率阈值,则第一设备可以确定目标设备的网络质量未发生变化。
若监测到目标设备的网络质量发生变化,则第一设备执行步骤S102。若监测到目标设备的网络质量未发生变化,可选的,第一设备可以执行步骤S104。
S102、第一设备基于发生变化后的网络质量,获取与发生变化后的网络质量匹配的第二分辨率。
作为一种可能的实现方式,第一设备可以根据变化后的网络质量与变化前的网络质量的差值,确定发生变化后的网络质量匹配的第二分辨率。
示例性的,若变化后的网络质量与变化前的网络质量的差大于零,说明变化后的网络质量比变化前的网络质量好,在该变化后的网络质量下,目标设备可以推送分辨率大于第一分辨率的视频数据流。则第一设备可以将大于第一分辨率的分辨率作为第二分辨率。若变化后的网络质量与变化前的网络质量的差小于零,说明变化后的网络质量比变化前的网络质量差,在该变化后的网络质量下,目标设备需要推送分辨率小于第一分辨率的视频数据流,才能保证推送视频数据流的流畅性。则第一设备可以将小于第一分辨率的分辨率作为第二分辨率。
作为另一种可能的实现方式,第一设备中例如可以存储有网络质量与分辨率的映射关系。在该实现方式下,在确定网络质量发生变化之后,第一设设备可以根据发生变化后的网络质量,以及,网络质量与分辨率的映射关系,确定与发生变化后的网络质量匹配的第二分辨率。
示例性的,上述网络质量与分辨率的映射关系例如可以如下表1所示:
表1
序号 | 网络质量 | 分辨率 |
1 | 网络质量1 | 分辨率1 |
2 | 网络质量2 | 分辨率2 |
… | … | … |
N | 网络质量N | 分辨率N |
其中,N为正整数。假设发生变化后的网络质量为网络质量2,根据表1所示的映射关系,则第一设备可以确定与发生变化后的网络质量匹配的第二分辨率为分辨率2。
S103、第一设备向第二设备推送使用第二分辨率生成的视频数据流。
在获取与发生变化后的网络质量匹配的第二分辨率之后,以第一设备为推流端为例,第一设备可以使用该第二分辨率采集直播视频数据流,然后将采集到的视频数据流推送给直播应用服务器。
以第一设备为直播应用服务器或者视频应用对应的服务器为例,第一设备可以根据该第二分辨率生成视频数据流,然后将该视频数据流推送给第二设备。
S104、第一设备向第二设备推送使用第一分辨率生成的视频数据流。
若监测到目标设备的网络质量未发生变化,说明第一设备不需改变视频数据流的分辨率,也能够保证推送的流畅性,则第一设备可以向第二设备推送使用第一分辨率生成的视频数据流。同时,第一设备还可以返回执行步骤S101,以继续监测目标设备的网络质量是否发生变化。
在本实施例中,第一设备在向第二设备推送使用第一分辨率生成的视频数据流过程中,监测目标设备的网络质量是否变化,并在目标设备的网络质量发生变化时,根据变化后的网络质量,获取与变化后的网络质量匹配的第二分辨率。通过上述方法,使得第一设备推送给第二设备的视频数据流的分辨率始终与目标设备的网络质量匹配,提高了确定视频数据流的分辨率的准确性,保证了在网络质量变低的情况下,推送视频数据流的流畅性,进而提高了用户体验。此外,在目标设备的网络质量变高的情况下,通过上述方法,可以提高视频数据流的分辨率,进而提高视频数据流的清晰度,进一步提高了用户体验。
进一步的,第一设备还可以根据生成视频数据流的分辨率,确定该分辨率对应的码率,然后向第二设备推送使用该分辨率,以及与该分辨率对应的码率生成的视频数据流。其中,码率与分辨率正相关。通过在确定分辨率之后,确定该分辨率对应的码率,使得视频数据流的码率与分辨率相匹配,以进一步保证第一设备将视频数据流推送到第二设备的流畅性,以及,节约网络资源。
在该实现方式下,第一设备可以向第二设备推送使用第一分辨率,以及与第一分辨率对应的第一码率生成的视频数据流,向第二设备推送使用第二分辨率,以及与第二分辨率对应的第二码率生成的视频数据流。
可选的,第一设备例如可以根据分辨率,以及,分辨率与码率的映射关系,确定该分辨率对应的码率。其中,上述分辨率与码率的映射关系例如可以是用户预先存储在第一设备中的。
下面对如何监测目标设备的网络质量是否发生变化进行详细说明。图3为本申请提供的一种监测目标设备的网络质量是否发生变化的方法的流程示意图。如图3所示,作为一种可能的实现方式,上述步骤S101可以包括一下步骤:
S201、针对第i个监测周期,第一设备获取目标设备在第i个监测周期的网络质量。
其中,i为大于1的整数。上述监测周期可以是用户预先存储在第一设备中的。
作为第一种可能的实现方式,在第i个监测周期内,第一设备可以只获取一次目标设备的网络质量,并将该次获取的网络质量作为目标设备在第i个监测周期的网络质量。
应理解,本申请对第一设备在第i个监测周期内获取该次网络质量的时刻不进行限定。示例性的,获取该次网络质量的时刻例如可以是第i个监测周期的中间时刻,或者,第i个监测周期的开始时刻,或者,第i个监测周期的结束时刻等。
作为第二种可能的实现方式,第一设备还可以获取目标设备在第i个监测周期内的多个时刻测量得到的网络质量。然后,将上述多个时刻测量得到的网络质量的平均值,作为目标设备在第i个监测周期的网络质量。
应理解,本申请对上述第i个监测周期内的多个时刻的数量,以及,各时刻在第i个监测周期内的分布不进行限定。示例性的,第i个监测周期内的各时刻可以是平均分布在第i个监测周期内的。假设第i个监测周期的总时长为1分钟,第一设备例如可以获取目标设备在第i个监测周期内的10个时刻测量得到的网络质量,第一设备例如可以每隔6秒钟获取一次目标设备的网络质量。
作为第三种可能的实现方式,以目标设备为第二设备为例,第一设备还可以接收第二设备发送的第二设备在第i个监测周期的网络质量。应理解,本申请对第二设备如何获取第二设备在第i个监测周期的网络质量不进行限定。具体实现时,可以参照上述第一设备获取目标设备在第i个监测周期的网络质量的方式,本申请在此不再赘述。
S202、根据第i个监测周期的网络质量,以及,目标设备在第i-1个监测周期的网络质量,确定目标设备在第i个监测周期的网络质量是否发生变化。
作为第一种可能的实现方式,第一设备可以根据“第i个监测周期和第i-1个监测周期的”网络质量对应的网络质量所属的区间,以及,“第i个监测周期和第i-1个监测周期的”网络质量的变化率,确定目标设备在第i个监测周期的网络质量是否发生变化。
在该实现方式下,首先,第一设备可以确定第i个监测周期的网络质量对应的网络质量所属的区间,以及,第i-1个监测周期的网络质量对应的网络质量所属的区间是否相同。
示例性的,第一设备中可以预先存储有网络质量与网络质量所属的区间的映射关系。其中,该网络质量与网络质量所属的区间的映射关系例如可以是用户预先存储在第一设备中的。第一设备在获取第i个监测周期的网络质量之后,可以根据第i个监测周期的网络质量,以及,网络质量与网络质量所属的区间的映射关系,确定第i个监测周期的网络质量对应的网络质量所属的区间。然后,确定第i个监测周期的网络质量对应的网络质量所属的区间,与,第i-1个监测周期的网络质量对应的网络质量所属的区间是否相同。
若第i个监测周期的网络质量对应的网络质量所属的区间,以及,第i-1个监测周期的网络质量对应的网络质量所属的区间相同,说明第i个监测周期的网络质量相较于第i-1个监测周期的网络质量变化不是非常大。
因此,第一设备可以进一步的根据第i个监测周期的网络质量,与,目标设备在第i-1个监测周期的网络质量的变化率,确定目标设备在第i个监测周期的网络质量是否发生变化,以提高确定目标设备在第i个监测周期的网络质量是否发生变化的准确性。
示例性的,上述第i个监测周期的网络质量,与,目标设备在第i-1个监测周期的网络质量的变化率例如可以通过公式(1)表示:
其中,Qi-1表示目标设备在第i-1个监测周期的网络质量,qi表示目标设备在第i个监测周期的网络质量。
具体的,若上述变化率大于第一预设阈值,当第i个监测周期的网络质量大于目标设备在第i-1个监测周期的网络质量时,说明目标设备的网络质量变好,第一设备可以向第二设备推送分辨率更高的视频数据流,且推送过程不会卡顿。若上述变化率大于第一预设阈值,当第i个监测周期的网络质量小于目标设备在第i-1个监测周期的网络质量时,说明目标设备的网络质量变差,第一设备若继续向第二设备推送第一分辨率的视频数据流,可能会导致推送过程卡顿。因此,第一设备可以确定目标设备在第i个监测周期的网络质量发生变化。其中,上述第一预设阈值可以是用户预先存储在第一设备中的。
然后,第一设备可以基于发生变化后的网络质量,获取与发生变化后的网络质量匹配的第二分辨率。下面针对第i个监测周期的网络质量大于目标设备在第i-1个监测周期的网络质量,以及,第i个监测周期的网络质量小于目标设备在第i-1个监测周期的网络质量两种情况下,如何获取与发生变化后的网络质量匹配的第二分辨率,进行详细说明。
当第i个监测周期的网络质量,大于,目标设备在第i-1个监测周期的网络质量时,第一设备可以采用第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中与第一分辨率相邻、且大于第一分辨率的分辨率作为第二分辨率。
当第i个监测周期的网络质量,小于,目标设备在第i-1个监测周期的网络质量时,第一设备可以采用第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中与第一分辨率相邻、且小于第一分辨率的分辨率作为第二分辨率。
通过将第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中与第一分辨率相邻、且大于第一分辨率的分辨率作为第二分辨率,或者,将第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中与第一分辨率相邻、且小于第一分辨率的分辨率作为第二分辨率,使得视频数据流从第一分辨率变成第二分辨率的过程较平滑,提高了观看该视频数据流的用户的体验感。
在该实现方式下,第一设备中可以预先存储有网络质量所属的区间与分辨率集合的映射关系。第一设备可以根据第i个监测周期的网络质量对应的网络质量所属的区间,以及,该网络质量所属的区间与分辨率集合的映射关系,确定第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合。
示例性的,上述网络质量所属的区间与分辨率集合的映射关系例如可以如下表2所示:
表2
序号 | 网络质量所属的区间 | 分辨率集合 |
1 | 区间1 | 分辨率集合1 |
2 | 区间2 | 分辨率集合2 |
3 | 区间3 | 分辨率集合3 |
根据表2所示的映射关系,假设第i个监测周期的网络质量对应的网络质量所属的区间为区间1,则第一设备可以确定第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合为分辨率集合1。
上述各区间对应的分辨率集合中的分辨率均为目标设备支持的分辨率。应理解,较高的网络质量对应的网络质量所属的区间对应的分辨率集合中的任意一个分辨率,大于,较低的网络质量对应的网络质量所属的区间对应的分辨率集合中的任意一个分辨率。
当目标设备为第一设备时,第一设备可以通过读取自身存储的第一设备支持的分辨率,获取目标设备支持的分辨率。当目标设备为第二设备时,第一设备可以接收第二设备发送的第二设备支持的分辨率,以获取目标设备支持的分辨率。或者,第一设备还可以接收第二设备的标识信息,然后根据第二设备的标识信息获取第二设备支持的分辨率。具体的,第一设备如何根据第二设备的标识信息获取第二设备支持的分辨率,可以参照现有的实现方式,本申请在此不再赘述。
在获取目标设备支持的所有的分辨率之后,第一设备可以将该所有的分辨率按照由大到小的顺序分为预设份数的分辨率集合。其中,该预设份数等于网络质量所属的区间的个数。
若上述变化率小于或等于第一预设阈值,说明目标设备在第i个监测周期的网络质量相较于第i-1个监测周期的网络质量变化可能较小,则第一设备可以确定目标设备在第i个监测周期的网络质量未发生变化。在确定目标设备在第i个监测周期的网络质量未发生变化之后,第一设备可以继续向第二设备推送使用第一分辨率生成的视频数据流。
若第i个监测周期的网络质量对应的网络质量所属的区间,以及,第i-1个监测周期的网络质量对应的网络质量所属的区间不同,则第一设备可以确定目标设备在第i个监测周期的网络质量发生变化。
在该实现方式下,第一设备可以根据第i个监测周期的网络质量对应的网络质量所属的区间,是否大于,第i-1个监测周期的网络质量对应的网络质量所属的区间,确定第二分辨率。
若第i个监测周期的网络质量对应的网络质量所属的区间,大于,第i-1个监测周期的网络质量对应的网络质量所属的区间,说明目标设备的网络质量变好,第一设备可以向第二设备推送分辨率更高的视频数据流。可选的,第一设备可以采用第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中的最小分辨率作为第二分辨率。
若第i个监测周期的网络质量对应的网络质量所属的区间,小于,第i-1个监测周期的网络质量对应的网络质量所属的区间,说明目标设备的网络质量变差,第一设备需要减小视频数据流的分辨率以保证推送过程的流畅性。则第一设备可以采用第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中的最大分辨率作为第二分辨率。
通过将第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中的最小分辨率作为第二分辨率,或者,将第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中的最大分辨率作为第二分辨率,可以使得视频数据流从第一分辨率变成第二分辨率的过程较平滑,提高了观看该视频数据流的用户的体验感。
作为第二种可能的实现方式,第一设备还可以根据“第i个监测周期和第i-1个监测周期的”网络质量的变化率,确定目标设备在第i个监测周期的网络质量是否发生变化。在该实现方式下,具体实现时,参照前述实施例所述的方法,本申请在此不再赘述。
下面以目标设备为第一设备为例,对第一设备如何向第二设备推送使用第一分辨率生成的视频数据流(当i等于2的情况)进行详细说明。
首先,第一设备可以接收用于请求向第二设备推送视频数据流视频推送请求。其中,该视频推送请求例如可以是用户触发的。
示例性的,以该视频推送请求为用户触发的直播请求为例,当该第一设备为手机或者平板电脑时,图4为本申请提供的一种第一设备接收视频推送请求的应用场景示意图。如图4所示,若第一设备接收到用户点击“是”控件的操作信息,则可以确定接收到视频推送请求。若第一设备接收到用户点击“否”控件的操作信息,则可以确定未接收到视频推送请求。
然后,第一设备可以响应该视频推送请求。具体的,第一设备可以获取第一设备支持的分辨率,以及,第一设备的初始网络质量。根据获取到的第一设备支持的分辨率,第一设备可以构建各网络质量所属的区间的分辨率集合。可选的,第一设备可以根据获取到的第一设备的初始网络质量,以及,网络质量与网络质量所属的区间的映射关系,确定初始网络质量所属的区间。
在确定构建各网络质量所属的区间的分辨率集合,以及,确定初始网络质量所属的区间之后,可选的,第一设备可以根据初始网络质量所属的区间,以及,各网络质量所属的区间,确定初始网络质量所属的区间对应的分辨率集合。
然后,第一设备可以将初始网络质量所属的区间对应的分辨率集合中的最大分辨率作为第一分辨率。再使用第一分辨率生成视频数据流,并向第二设备推送使用第一分辨率生成的视频数据流。
仍然以上述视频推送请求为用户触发的直播请求为例,在该示例下,上述使用第一分辨率生成的视频数据流为使用第一分辨率采集直播数据生成的视频数据流。前述使用第二分辨率生成的视频数据流为使用第二分辨率采集直播数据生成的视频数据流。
基于上述各实施例,以第一设备为直播的推流端,第二设备为直播应用服务器,目标设备为第一设备为例,图5为本申请提供的另一种视频处理方法的流程示意图。如图5所示,该方法包括以下步骤:
S301、接收用户触发的直播请求。
S302、获取推流端支持的分辨率,以及,推流端的初始网络质量。
S303、根据获取到的推流端支持的分辨率,构建各网络质量所属的区间的分辨率集合。
示例性的,网络质量所属的区间与对应的分辨率集合例如可以如下表3所示:
表3
S304、将初始网络质量所属的区间对应的分辨率集合中的最大分辨率作为第一分辨率。
示例性的,根据表3所示内容,假设初始网络质量在A和B之间,也就是说该初始网络质量所属的区间为中,则第一分辨率为高清集合中推流端支持的最大分辨率。
S305、根据第一分辨率,以及,分辨率与码率的映射关系,确定第一分辨率对应的第一码率。
S306、向直播应用服务器推送使用第一分辨率,以及与第一分辨率对应的第一码率生成的视频数据流。
S307、获取推流端在第i个监测周期内的多个时刻测量得到的网络质量。
S308、将上述多个时刻测量得到的网络质量的平均值,作为推流端在第i个监测周期的网络质量。
S309、获取第i个监测周期的网络质量对应的网络质量所属的区间,以及,第i-1个监测周期的网络质量对应的网络质量所属的区间。
S310、确定第i个监测周期的网络质量对应的网络质量所属的区间,与,第i-1个监测周期的网络质量对应的网络质量所属的区间是否相同。
若相同,则推流端可以进一步执行S311。
若不同,则推流端可以执行S316。
S311、确定第i个监测周期的网络质量,与,目标设备在第i-1个监测周期的网络质量的变化率是否大于第一预设阈值。
若是,则执行步骤S312。若否,则执行步骤S306。
S312、确定第i个监测周期的网络质量是否大于目标设备在第i-1个监测周期的网络质量。
若是,则执行步骤S313。若否,则执行步骤S314。
S313、采用第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中与第一分辨率相邻、且大于第一分辨率的分辨率作为第二分辨率。
然后,推流端可以执行步骤S315。
S314、采用第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中与第一分辨率相邻、且小于第一分辨率的分辨率作为第二分辨率。
S315、向直播应用服务器推送使用第二分辨率,以及与第二分辨率对应的第二码率生成的视频数据流。
S316、确定第i个监测周期的网络质量对应的网络质量所属的区间,是否大于,第i-1个监测周期的网络质量对应的网络质量所属的区间。
若是,则执行步骤S317。若否,则执行步骤S318。
S317、采用第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中的最小分辨率作为第二分辨率。
然后,推流端可以执行步骤S315。
S318、采用第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中的最大分辨率作为第二分辨率。
然后,推流端可以执行步骤S315。
图6为本申请提供的一种视频处理装置的结构示意图。如图6所示,该装置包括:监测模块41、获取模块42,以及,推送模块43。其中
监测模块41,用于向第二设备推送使用第一分辨率生成的视频数据流时,监测目标设备的网络质量是否发生变化。其中,所述目标设备为所述第一设备或所述第二设备。
获取模块42,用于在所述目标设备的网络质量发生变化时,基于发生变化后的网络质量,获取与所述发生变化后的网络质量匹配的第二分辨率。
推送模块43,用于向所述第二设备推送使用所述第二分辨率生成的视频数据流。
可选的,所述第一分辨率为与所述目标设备在第i-1个监测周期的网络质量匹配的分辨率。在该实现方式下,监测模块41,具体用于针对第i个监测周期,获取所述目标设备在所述第i个监测周期的网络质量;根据所述第i个监测周期的网络质量,以及,所述目标设备在第i-1个监测周期的网络质量,确定所述目标设备在所述第i个监测周期的网络质量是否发生变化。其中,所述i为大于1的整数。
可选的,监测模块41,具体用于在所述第i个监测周期的网络质量对应的网络质量所属的区间,以及,所述第i-1个监测周期的网络质量对应的网络质量所属的区间相同时,根据所述第i个监测周期的网络质量,与,所述目标设备在第i-1个监测周期的网络质量的变化率,确定所述目标设备在所述第i个监测周期的网络质量是否发生变化。
可选的,监测模块41,具体用于在所述变化率大于第一预设阈值时,确定所述目标设备在所述第i个监测周期的网络质量发生变化。在该实现方式下,获取模块42具体用于在所述第i个监测周期的网络质量,大于,所述目标设备在第i-1个监测周期的网络质量时,采用所述第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中与所述第一分辨率相邻、且大于所述第一分辨率的分辨率作为所述第二分辨率。
或者,获取模块42具体用于在所述第i个监测周期的网络质量,小于,所述目标设备在第i-1个监测周期的网络质量时,采用所述第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中与所述第一分辨率相邻、且小于所述第一分辨率的分辨率作为所述第二分辨率。其中,各区间对应的分辨率集合中的分辨率均为所述目标设备支持的分辨率。
可选的,监测模块41,具体用于在所述第i个监测周期的网络质量对应的网络质量所属的区间,以及,所述第i-1个监测周期的网络质量对应的网络质量所属的区间不同时,确定所述目标设备在所述第i个监测周期的网络质量发生变化。在该实现方式下,获取模块42具体用于在所述第i个监测周期的网络质量对应的网络质量所属的区间,大于,所述第i-1个监测周期的网络质量对应的网络质量所属的区间时,采用所述第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中的最小分辨率作为所述第二分辨率。
或者,获取模块42具体用于在所述第i个监测周期的网络质量对应的网络质量所属的区间,小于,所述第i-1个监测周期的网络质量对应的网络质量所属的区间时,采用所述第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中的最大分辨率作为所述第二分辨率。
可选的,监测模块41,具体用于获取所述目标设备在所述第i个监测周期内的多个时刻测量得到的网络质量;将所述多个时刻测量得到的网络质量的平均值,作为所述目标设备在所述第i个监测周期的网络质量。
可选的,推送模块43还用于向所述第二设备推送使用所述第一分辨率,以及与所述第一分辨率对应的第一码率生成的视频数据流。在该实现方式下,推送模块43具体用于向所述第二设备推送使用所述第二分辨率,以及与所述第二分辨率对应的第二码率生成的视频数据流。其中,码率与分辨率正相关。
可选的,当i等于2时,当目标设备为第一设备时,该视频处理装置还可以包括接收模块,用于接收视频推送请求。其中,所述视频推送请求用于请求向所述第二设备推送视频数据流。在该实现方式下,获取模块42具体用于响应于所述视频推送请求,获取所述第一设备支持的分辨率,以及,所述第一设备的初始网络质量;根据所述第一设备支持的分辨率,构建各网络质量所属的区间的分辨率集合;所述初始网络质量所属的区间对应的分辨率集合中的最大分辨率作为所述第一分辨率;使用所述第一分辨率生成视频数据流。推送模块43具体用于向所述第二设备推送使用所述第一分辨率生成的视频数据流。
可选的,所述视频推送请求可以为用户触发的直播请求。在该实现方式下,所述使用所述第一分辨率生成的视频数据流为使用所述第一分辨率采集直播数据生成的视频数据流,所述使用所述第二分辨率生成的视频数据流为使用所述第二分辨率采集直播数据生成的视频数据流。
本申请提供的视频处理装置,用于执行前述视频处理方法实施例,其实现原理与技术效果类似,对此不再赘述。
图7为本申请提供的一种电子设备结构示意图。如图7所示,该电子设备500可以包括:至少一个处理器501和存储器502。
存储器502,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
存储器502可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器501用于执行存储器502存储的计算机执行指令,以实现前述方法实施例所描述的视频处理方法。其中,处理器501可能是一个中央处理器(Central ProcessingUnit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,该电子设备500还可以包括通信接口503。在具体实现上,如果通信接口503、存储器502和处理器501独立实现,则通信接口503、存储器502和处理器501可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口503、存储器502和处理器501集成在一块芯片上实现,则通信接口503、存储器502和处理器501可以通过内部接口完成通信。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述的各种实施方式提供的视频处理方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (13)
1.一种视频处理方法,其特征在于,所述方法应用于第一设备,所述方法包括:
向第二设备推送使用第一分辨率生成的视频数据流时,监测目标设备的网络质量是否发生变化,所述目标设备为所述第一设备或所述第二设备;
若所述目标设备的网络质量发生变化,则基于发生变化后的网络质量,获取与所述发生变化后的网络质量匹配的第二分辨率;
向所述第二设备推送使用所述第二分辨率生成的视频数据流。
2.根据权利要求1所述的方法,其特征在于,所述第一分辨率为与所述目标设备在第i-1个监测周期的网络质量匹配的分辨率;
所述监测所述目标设备的网络质量是否发生变化,包括:
针对第i个监测周期,获取所述目标设备在所述第i个监测周期的网络质量;所述i为大于1的整数;
根据所述第i个监测周期的网络质量,以及,所述目标设备在第i-1个监测周期的网络质量,确定所述目标设备在所述第i个监测周期的网络质量是否发生变化。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第i个监测周期的网络质量,以及,所述目标设备在第i-1个监测周期的网络质量,确定所述目标设备在所述第i个监测周期的网络质量是否发生变化,包括:
若所述第i个监测周期的网络质量对应的网络质量所属的区间,以及,所述第i-1个监测周期的网络质量对应的网络质量所属的区间相同,则根据所述第i个监测周期的网络质量,与,所述目标设备在第i-1个监测周期的网络质量的变化率,确定所述目标设备在所述第i个监测周期的网络质量是否发生变化。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第i个监测周期的网络质量,与,所述目标设备在第i-1个监测周期的网络质量的变化率,确定所述目标设备在所述第i个监测周期的网络质量是否发生变化,包括:
若所述变化率大于第一预设阈值,则确定所述目标设备在所述第i个监测周期的网络质量发生变化;
所述基于发生变化后的网络质量,获取与所述发生变化后的网络质量匹配的第二分辨率,包括:
若所述第i个监测周期的网络质量,大于,所述目标设备在第i-1个监测周期的网络质量,则采用所述第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中与所述第一分辨率相邻、且大于所述第一分辨率的分辨率作为所述第二分辨率;各区间对应的分辨率集合中的分辨率均为所述目标设备支持的分辨率;
或者,
若所述第i个监测周期的网络质量,小于,所述目标设备在第i-1个监测周期的网络质量,则采用所述第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中与所述第一分辨率相邻、且小于所述第一分辨率的分辨率作为所述第二分辨率。
5.根据权利要求2所述的方法,其特征在于,所述根据所述第i个监测周期的网络质量,以及,所述目标设备在第i-1个监测周期的网络质量,确定所述目标设备在所述第i个监测周期的网络质量是否发生变化,包括:
若所述第i个监测周期的网络质量对应的网络质量所属的区间,以及,所述第i-1个监测周期的网络质量对应的网络质量所属的区间不同,则确定所述目标设备在所述第i个监测周期的网络质量发生变化;
所述基于发生变化后的网络质量,获取与所述发生变化后的网络质量匹配的第二分辨率,包括:
若所述第i个监测周期的网络质量对应的网络质量所属的区间,大于,所述第i-1个监测周期的网络质量对应的网络质量所属的区间,则采用所述第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中的最小分辨率作为所述第二分辨率;或者,
若所述第i个监测周期的网络质量对应的网络质量所属的区间,小于,所述第i-1个监测周期的网络质量对应的网络质量所属的区间,则采用所述第i个监测周期的网络质量对应的网络质量所属的区间对应的分辨率集合中的最大分辨率作为所述第二分辨率。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述获取所述目标设备在所述第i个监测周期的网络质量,包括:
获取所述目标设备在所述第i个监测周期内的多个时刻测量得到的网络质量;
将所述多个时刻测量得到的网络质量的平均值,作为所述目标设备在所述第i个监测周期的网络质量。
7.根据权利要求1-5任一项所述的方法,其特征在于,
所述向第二设备推送使用第一分辨率生成的视频数据流,包括:
向所述第二设备推送使用所述第一分辨率,以及与所述第一分辨率对应的第一码率生成的视频数据流;
所述向所述第二设备推送使用所述第二分辨率生成的视频数据流,包括:
向所述第二设备推送使用所述第二分辨率,以及与所述第二分辨率对应的第二码率生成的视频数据流;其中,码率与分辨率正相关。
8.根据权利要求2-5任一项所述的方法,其特征在于,i等于2,所述目标设备为所述第一设备,所述向第二设备推送使用第一分辨率生成的视频数据流,包括:
接收视频推送请求,所述视频推送请求用于请求向所述第二设备推送视频数据流;
响应于所述视频推送请求,获取所述第一设备支持的分辨率,以及,所述第一设备的初始网络质量;
根据所述第一设备支持的分辨率,构建各网络质量所属的区间的分辨率集合;
将所述初始网络质量所属的区间对应的分辨率集合中的最大分辨率作为所述第一分辨率;
使用所述第一分辨率生成视频数据流;
向所述第二设备推送使用所述第一分辨率生成的视频数据流。
9.根据权利要求8所述的方法,其特征在于,所述视频推送请求为用户触发的直播请求;所述使用所述第一分辨率生成的视频数据流为使用所述第一分辨率采集直播数据生成的视频数据流,所述使用所述第二分辨率生成的视频数据流为使用所述第二分辨率采集直播数据生成的视频数据流。
10.一种视频处理装置,其特征在于,所述装置应用于第一设备,所述方法包括:
监测模块,用于向第二设备推送使用第一分辨率生成的视频数据流时,监测目标设备的网络质量是否发生变化,所述目标设备为所述第一设备或所述第二设备;
获取模块,用于在所述目标设备的网络质量发生变化时,基于发生变化后的网络质量,获取与所述发生变化后的网络质量匹配的第二分辨率;
推送模块,用于向所述第二设备推送使用所述第二分辨率生成的视频数据流。
11.一种电子设备,其特征在于,包括:至少一个处理器、存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行权利要求1-10任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现权利要求1-10任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110695040.2A CN113411340A (zh) | 2021-06-22 | 2021-06-22 | 视频处理方法、装置、电子设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110695040.2A CN113411340A (zh) | 2021-06-22 | 2021-06-22 | 视频处理方法、装置、电子设备、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113411340A true CN113411340A (zh) | 2021-09-17 |
Family
ID=77682451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110695040.2A Pending CN113411340A (zh) | 2021-06-22 | 2021-06-22 | 视频处理方法、装置、电子设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113411340A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105407107A (zh) * | 2015-12-24 | 2016-03-16 | 成都信息工程大学 | 一种流媒体数据的传输方法及装置 |
CN109462773A (zh) * | 2018-08-31 | 2019-03-12 | 北京潘达互娱科技有限公司 | 一种推流方法、装置、电子设备及存储介质 |
CN109587510A (zh) * | 2018-12-10 | 2019-04-05 | 广州虎牙科技有限公司 | 一种直播方法、装置、设备和存储介质 |
CN110460871A (zh) * | 2019-08-29 | 2019-11-15 | 香港乐蜜有限公司 | 直播视频的生成方法、装置、系统及设备 |
CN110677727A (zh) * | 2019-09-10 | 2020-01-10 | 北京奇艺世纪科技有限公司 | 音视频播放方法、装置、电子设备及存储介质 |
CN111147893A (zh) * | 2018-11-02 | 2020-05-12 | 华为技术有限公司 | 一种视频自适应方法、相关设备以及存储介质 |
CN111464817A (zh) * | 2020-03-12 | 2020-07-28 | 视联动力信息技术股份有限公司 | 码率控制方法、装置及可读存储介质 |
-
2021
- 2021-06-22 CN CN202110695040.2A patent/CN113411340A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105407107A (zh) * | 2015-12-24 | 2016-03-16 | 成都信息工程大学 | 一种流媒体数据的传输方法及装置 |
CN109462773A (zh) * | 2018-08-31 | 2019-03-12 | 北京潘达互娱科技有限公司 | 一种推流方法、装置、电子设备及存储介质 |
CN111147893A (zh) * | 2018-11-02 | 2020-05-12 | 华为技术有限公司 | 一种视频自适应方法、相关设备以及存储介质 |
CN109587510A (zh) * | 2018-12-10 | 2019-04-05 | 广州虎牙科技有限公司 | 一种直播方法、装置、设备和存储介质 |
CN110460871A (zh) * | 2019-08-29 | 2019-11-15 | 香港乐蜜有限公司 | 直播视频的生成方法、装置、系统及设备 |
CN110677727A (zh) * | 2019-09-10 | 2020-01-10 | 北京奇艺世纪科技有限公司 | 音视频播放方法、装置、电子设备及存储介质 |
CN111464817A (zh) * | 2020-03-12 | 2020-07-28 | 视联动力信息技术股份有限公司 | 码率控制方法、装置及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105163142B (zh) | 一种用户偏好确定方法、视频推荐方法和系统 | |
CN108737884B (zh) | 一种内容录制方法及其设备、存储介质、电子设备 | |
CN107835200B (zh) | 一种视频清晰度的选择方法、装置及电子设备 | |
CN109167923B (zh) | 图像传输方法、装置、电子设备和存储介质 | |
CN103945240A (zh) | 一种基于视频聚合的视频播放方法及装置 | |
WO2020088166A1 (zh) | 视频无线传输方法、装置、系统和设备 | |
CN110121100A (zh) | 媒体文件的下载方法、装置、终端和计算机可读存储介质 | |
CN108632666A (zh) | 一种视频检测方法及视频检测设备 | |
CN110784644A (zh) | 图像处理方法及装置 | |
CN108600675B (zh) | 通道路数扩展方法、设备、网络录像机及存储介质 | |
CN115396705B (zh) | 投屏操作验证方法、平台及系统 | |
CN112019873A (zh) | 视频码率调整方法、装置和电子设备 | |
CN111013131A (zh) | 延迟数据获取方法、电子设备及存储介质 | |
CN112672155B (zh) | 一种基于共享类型判别的桌面共享方法、装置及存储介质 | |
Li et al. | Quantifying the influence of devices on Quality of Experience for Video streaming | |
CN113411340A (zh) | 视频处理方法、装置、电子设备、存储介质和程序产品 | |
CN109688217A (zh) | 一种消息推送方法、装置及电子设备 | |
CN113676706A (zh) | 烹饪视频生成方法、装置、服务器及控制系统 | |
CN116996639A (zh) | 投屏帧率获取方法、装置、计算机设备以及存储介质 | |
CN110913235A (zh) | 用于大规模直播的访问控制方法、装置和电子设备 | |
EP3629577A1 (en) | Data transmission method, camera and electronic device | |
CN109740061B (zh) | 一种基于用户浏览行为的信息流数据动态加载方法及装置 | |
CN112422370B (zh) | 语音通话质量的确定方法和装置 | |
JP7118998B2 (ja) | メディア視聴データを使用してデバイスマップの精度を改善させるためのシステムおよび方法 | |
CN112527539B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210917 |