CN116405704A - 一种直播数据推流方法、系统、计算机设备及介质 - Google Patents

一种直播数据推流方法、系统、计算机设备及介质 Download PDF

Info

Publication number
CN116405704A
CN116405704A CN202310320667.9A CN202310320667A CN116405704A CN 116405704 A CN116405704 A CN 116405704A CN 202310320667 A CN202310320667 A CN 202310320667A CN 116405704 A CN116405704 A CN 116405704A
Authority
CN
China
Prior art keywords
data
pushed
live
live broadcast
strategy
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
Application number
CN202310320667.9A
Other languages
English (en)
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.)
Kangjian Information Technology Shenzhen Co Ltd
Original Assignee
Kangjian Information 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 Kangjian Information Technology Shenzhen Co Ltd filed Critical Kangjian Information Technology Shenzhen Co Ltd
Priority to CN202310320667.9A priority Critical patent/CN116405704A/zh
Publication of CN116405704A publication Critical patent/CN116405704A/zh
Pending legal-status Critical Current

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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及计算机技术领域及数字医疗领域,公开了一种直播数据推流方法、系统、计算机设备及介质,方法包括:根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量;根据数据总量确定待推送直播数据的处理策略;其中,处理策略包括丢帧策略和/或码率压缩策略;基于确定的处理策略将待推送直播数据推送至内容分发网络,以通过内容分发网络将直播数据发送至多个客户端。由于本申请在低带宽网络直播环境中对数据缓冲区内待推送直播数据采用丢帧策略和/或码率压缩策略进行数据处理,使得直播数据在网络环境差时能及时推送到内容分发网络,从而提升了直播流畅度,提升了观看体验度。

Description

一种直播数据推流方法、系统、计算机设备及介质
技术领域
本发明涉及计算机技术领域及数字医疗领域,特别涉及一种直播数据推流方法、系统、计算机设备及介质。
背景技术
随着互联网技术的高速发展,网络直播得到了迅速的普及,医生通过直播可以宣讲疾病预防相关知识。在进行网络直播时,主播端(如:手机、电脑及其他电子设备等)能够采集到医生相关的音频数据和视频数据,并将音频数据和视频数据经过处理后发送至服务器,然后通过服务器向患者或病人的播放端(如:手机、电脑及其他电子设备等)进行网络传输,供患者或病人观看。在此过程中,在主播端网络带宽较低的情况下,直播数据无法及时到达播放端,造成播放端出现卡顿,因此研发人员渴望在主播端网络带宽较低时提高播放端的流畅度。
在现有技术中,在进行网络直播时,主播端通常会在研发人员预先设置的图像参数设置表单中对视频的码率、分辨率和帧率等直播参数设置为合适的值,以提高直播时播放端的直播效果。由于这种手动调参的方式无法在短时间内准确修改到适应当前网络的准确区间,从而降低了直播的流畅度,降低了播放端用户观看的体验度。
发明内容
基于此,有必要针对弱网环境下直播流畅度低的问题,提供一种直播数据推流方法、系统、计算机设备及介质。
一种直播数据推流方法,方法包括:根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量;根据数据总量确定待推送直播数据的处理策略;其中,处理策略包括丢帧策略和/或码率压缩策略;基于确定的处理策略将待推送直播数据推送至内容分发网络,以通过内容分发网络将直播数据发送至多个客户端。
在其中一个实施例中,在根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量,包括:计算当前直播网络在单位时间内的数据传输量,得到当前直播网络的可用网络带宽;在当前直播网络的可用网络带宽小于预设带宽阈值时,统计数据缓冲区内待推送直播数据的数据总量。
在其中一个实施例中,根据数据总量确定待推送直播数据的处理策略,包括:若数据总量位于预设数据量区间内,则将丢帧策略确定为待推送直播数据的处理策略;或者,若数据总量大于预设数据量区间的上限值时,则将丢帧策略和码率压缩策略确定为待推送直播数据的处理策略。
在其中一个实施例中,基于确定的处理策略将待推送直播数据推送至内容分发网络,包括:根据丢帧策略将待推送直播数据推送至内容分发网络;或者,根据丢帧策略和码率压缩策略将待推送直播数据推送至内容分发网络。
在其中一个实施例中,确定并丢弃待推送直播数据中的冗余帧,得到多个关键帧;将多个关键帧推送至内容分发网络。
在其中一个实施例中,确定并丢弃待推送直播数据中的冗余帧,得到多个关键帧,包括:对待推送直播数据中每帧图像的前景区域和背景区域进行分割,得到每帧图像的前景部分和背景部分;将每帧图像的前景部分输入预先训练的动作识别模型中进行动作识别,输出存在动作变化的前景部分;将不存在动作变化的前景部分和每帧图像的背景部分进行丢弃,并将存在动作变化的前景部分确定为多个关键帧;或者,分析待推送直播数据中每帧图像所对应的表情变化幅度以及语音数据大小;根据表情变化幅度以及语音数据大小计算每帧图像的权重值,得到多个权重值;将多个权重值进行升序排列,并在排序后的权重值中从起始位置依次截取预设百分比的多个目标权重值;在待推送直播数据中将多个目标权重值对应的图像帧进行丢弃,并将剩余图像帧确定为多个关键帧。
在其中一个实施例中,根据丢帧策略和码率压缩策略将待推送直播数据推送至内容分发网络,包括:确定并丢弃待推送直播数据中的冗余帧,得到多个关键帧;针对多个关键帧中的每个关键帧的图像像素进行DCT变换,得到多帧变换图像;采用加权量化法对多帧变换图像中每帧变换图像进行熵编码,以对图像数据进行码率压缩,得到压缩数据;将压缩数据推送至内容分发网络。
一种直播数据推流系统,系统包括:数据总量统计模块,用于根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量;处理策略确定模块,用于根据数据总量确定待推送直播数据的处理策略;其中,处理策略包括丢帧策略和/或码率压缩策略;直播数据推送模块,用于基于确定的处理策略将待推送直播数据推送至内容分发网络,以通过内容分发网络将直播数据发送至多个客户端。
一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述直播数据推流方法的步骤。
一种存储有计算机可读指令的介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述直播数据推流方法的步骤。
上述直播数据推流方法、系统、设备和介质,直播数据推流系统首先根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量,然后根据数据总量确定待推送直播数据的处理策略;其中,处理策略包括丢帧策略和/或码率压缩策略,最后基于确定的处理策略将待推送直播数据推送至内容分发网络,以通过内容分发网络将直播数据发送至多个客户端。由于本申请在低带宽网络直播环境中对数据缓冲区内待推送直播数据采用丢帧策略和/或码率压缩策略进行处理,使得直播数据在网络环境差时能及时推送到内容分发网络,从而提升了直播流畅度,提升了观看体验度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本申请一个实施例中提供的直播数据推流方法的实施环境图;
图2为本申请一个实施例中计算机设备的内部结构示意图;
图3为本申请一个实施例中提供的直播数据推流方法的方法示意图;
图4是本申请提供的一种直播数据推流过程的过程示意框图;
图5是本申请另一个实施例中提供的直播数据推流方法的方法示意图;
图6是本申请实施例提供的一种直播数据推流系统的系统结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
图1为一个实施例中提供的直播数据推流方法的实施环境图,如图1所示,在该实施环境中,包括服务端110以及客户端120。
服务端110可以为服务器,该服务器具体可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,例如为主播端处理待推送直播数据的服务器设备。服务端110根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量,服务端110根据数据总量确定待推送直播数据的处理策略;其中,处理策略包括丢帧策略和/或码率压缩策略;服务端110基于确定的处理策略将待推送直播数据推送至内容分发网络,以通过内容分发网络将直播数据发送至多个客户端120。
需要说明的是,客户端120可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务端110以及客户端120可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者其他通讯连接方式进行连接,本发明在此不做限制。
图2为一个实施例中计算机设备的内部结构示意图。如图2所示,该计算机设备包括通过系统总线连接的处理器、介质、存储器和网络接口。其中,该计算机设备的介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种直播数据推流方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种直播数据推流方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,介质为一种可读的存储介质。
下面将结合附图3-5,对本申请实施例提供的直播数据推流方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的直播数据推流系统上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大直播数据推流技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
请参见图3,为本申请实施例提供了一种直播数据推流方法的流程示意图。
如图3所示,本申请实施例的方法可以包括以下步骤:
S101,根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量;
其中,当前直播网络是主播端的网络,该主播可以是医生,可用网络带宽是表示网络环境强弱的参数,具体是单位时间内的数据传输量。数据缓冲区是主播端用来存储、操纵待推送直播数据的对象。一般在每一个DataWindow对象中有4个二维表作为数据缓冲区,用来存储查询到的数据。待推送直播数据是主播端设备录制的数据,该数据例如包括图像数据以及语音数据等。
通常,医生在进行直播过程中,本申请可通过实时监测医生在直播过程中当前直播网络的可用网络带宽确定是否采取丢帧策略和/或码率压缩策略进行处理。例如在当前直播网络的可用网络带宽大于等于预设带宽阈值时,表示当前网络状态好,可以完成直播数据实时传送的任务,或者在当前直播网络的可用网络带宽小于预设带宽阈值时,表示当前网络状态差,需要采取丢帧策略和/或码率压缩策略进行处理。
在一种可能的实现方式中,在根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量时,首先计算当前直播网络在单位时间内的数据传输量,得到当前直播网络的可用网络带宽,然后在当前直播网络的可用网络带宽小于预设带宽阈值时,统计数据缓冲区内待推送直播数据的数据总量。或者在当前直播网络的可用网络带宽大于等于预设带宽阈值时,继续实时计算当前直播网络在单位时间内的数据传输量。本申请通过分析可用网络带宽和预设带宽之间的关系,可确定是否对数据缓冲区内待推送直播数据的数据总量进行统计,在带宽够大的情况下不开启统计,在带宽小的时候开启统计,该过程可以降低CPU的计算量,节约资源。
S102,根据数据总量确定待推送直播数据的处理策略;
其中,处理策略包括丢帧策略和/或码率压缩策略;丢帧策略是将待推送直播数据中的冗余帧以及重复帧进行去除,仅保留关键帧的策略,码率压缩策略是对关键帧进一步压缩处理,使得推送的数据尽量到达最小,以适应当前的网络环境。
通常,处理策略的选择是按照数据总量进行确定的,即在丢帧策略和码率压缩策略中选择其中一个,或者同时采用两个策略进行处理。
在本申请实施例中,可根据数据缓冲区内待推送直播数据的数据总量选取对应的处理策略,当数据总量小于预设的区间的下限值时,表示当前网络传输数据的能力较强,通过适当调整图像的分辨率即可全部传输。当数据总量在预设的区间内时,表示当前网络传输数据的能力适中,通过采取丢帧策略即可全部传输。当数据总量大于预设的区间上限值时,表示当前网络传输数据的能力较差,需要通过采取丢帧策略和码率压缩策略即可全部传输。
在一种可能的实现方式中,在根据数据总量确定待推送直播数据的处理策略时,首先若数据总量位于预设数据量区间内,则将丢帧策略确定为待推送直播数据的处理策略;或者,若数据总量大于预设数据量区间的上限值时,则将丢帧策略和码率压缩策略确定为待推送直播数据的处理策略。通过判断数据总量和预设数据区间之间的关系,可以快速分析出数据缓存区内数据的积压程度,通过结合相应的处理策略,可以提升直播数据的处理效率,快速的将直播数据推送到客户端。
S103,基于确定的处理策略将待推送直播数据推送至内容分发网络,以通过内容分发网络将直播数据发送至多个客户端。
其中,客户端为患者或病人观看的一端,内容分发网络是一种新型网络内容服务体系,其基于IP网络而构建,基于内容访问与应用的效率要求、质量要求和内容秩序而提供内容的分发和服务。而从广义的角度,CDN代表了一种基于网络而构建的高质量、高效率、具有鲜明网络秩序的网络应用服务模式。内容分发网络是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要求,而内容管理和全局的网络流量管理是CDN的核心所在。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。多个客户端是多个播放端,提供用户观看直播的终端设备。
在本申请实施例中,在基于确定的处理策略将待推送直播数据推送至内容分发网络时,首先根据丢帧策略将待推送直播数据推送至内容分发网络;或者,根据丢帧策略和码率压缩策略将待推送直播数据推送至内容分发网络。
在一种可能的实现方式中,在根据丢帧策略将待推送直播数据推送至内容分发网络时,首先确定并丢弃待推送直播数据中的冗余帧,得到多个关键帧,然后将多个关键帧推送至内容分发网络。
在另一种可能的实现方式中,在确定并丢弃待推送直播数据中的冗余帧,得到多个关键帧时,首先对待推送直播数据中每帧图像的前景区域和背景区域进行分割,得到每帧图像的前景部分和背景部分,然后将每帧图像的前景部分输入预先训练的动作识别模型中进行动作识别,输出存在动作变化的前景部分,最后将不存在动作变化的前景部分和每帧图像的背景部分进行丢弃,并将存在动作变化的前景部分确定为多个关键帧。或者首先分析待推送直播数据中每帧图像所对应的表情变化幅度以及语音数据大小,然后根据表情变化幅度以及语音数据大小计算每帧图像的权重值,得到多个权重值,其次将多个权重值进行升序排列,并在排序后的权重值中从起始位置依次截取预设百分比的多个目标权重值,最后在待推送直播数据中将多个目标权重值对应的图像帧进行丢弃,并将剩余图像帧确定为多个关键帧,由于升序排列是按照从小到大进行排列,因此以最小的为起点遍历出预设百分比的值可以删除权重值小的一些图像帧,从而降低冗余图像。由于直播过程中背景部分一成不变,因此可将每张图像中的背景部分剔除,只留下变化的前景部分,可以大大降低数量量,提高数据传输效率。同时通过表情变化幅度以及语音数据大小确定出每帧图像权重值,可以保留直播过程中信息含量大的图像作为关键帧,剔除信息量少的冗余图像,可提升客户端观看效果。
需要说明的是,语音数据的文本信息是医疗数据,如个人健康档案、处方、检查报告等数据。
具体的,在分析待推送直播数据中每帧图像所对应的表情变化幅度以及语音数据大小时,首先遍历提取出待推送直播数据中时间轴连续的真人面部图像,采用比对分析算法判断时间轴连续的真人面部图像中相邻图像是否存在表情变化,并计算出存在表情变化的相邻图像的像素灰度值,将存在表情变化的相邻图像的像素灰度值输入表情变化幅度函数中进行幅度计算,得到每帧图像的表情变化幅度。连接语音数据库,根据每帧图像的时间标识在语音数据库中遍历确定出每帧图像的语音数据。
具体的,在根据表情变化幅度以及语音数据大小计算每帧图像的权重值时,首先将表情变化幅度以及语音数据大小进行加权求和取平均值,每个平均值作为每帧图像的最终权重值。
进一步地,也可以将一帧背景部分发送至播放端进行缓存,然后在直播端仅提取前景部分发送至播放端,最后控制客户端缓存的背景部分与变化的前景部分进行合并,可实现在弱网环境下提高播放端用户的观看体验度。
在另一种可能的实现方式中,可针对待推送直播数据进行选择性丢帧处理,首先根据预设关键帧间隔对待推送直播数据中图像标记出关键帧,并将关键帧间隔以内的未标记图像进行丢帧处理,该方式比较单一,仅仅通过预设关键帧间隔就可完成丢帧,从而以缓解弱网时候网络发送造成的数据堆积延迟。
进一步地,在根据丢帧策略和码率压缩策略将待推送直播数据推送至内容分发网络时,首先确定并丢弃待推送直播数据中的冗余帧,得到多个关键帧,然后针对多个关键帧中的每个关键帧的图像像素进行DCT变换,得到多帧变换图像,其次对多帧变换图像中每帧变换图像进行熵编码,以对图像数据进行码率压缩,得到压缩数据,最后将压缩数据推送至内容分发网络。
其中,DCT变换是离散余弦变换(Discrete Cosine Transform,DCT),主要用于将数据或图像的压缩,能够将空域的信号转换到频域上,具有良好的去相关性的性能。
具体的,图像像素进行DCT变换时,首先根据图像像素构建像素矩阵,然后将像素矩阵输入预先构建的DCT变换模块中进行DCT变换。
其中,熵编码即编码过程中按熵原理不丢失任何信息的编码,该编码过程可以进行码率压缩。
具体的,对每帧变换图像进行熵编码时,首先将每帧变换图像输入预先训练好的编码器中进行特征提取,得到特征图序列,然后可采用熵编码技术进行码率压缩。
进一步地,在码率压缩的同时,可以对主播端的编码码率实时调整,比如正常情况下视频编码码率是1.5Mps,弱网时候可以设置1Mps的视频编码码率,这样会降低单位时间内产生的数据量,缓解网络压力。
例如图4所示,图4是本申请提供的一种直播数据推流过程的过程示意框图,首先在主播端实时监控网络带宽,带宽较弱时统计数据缓冲区的数据量,若数据量较少,则说明网络正常,可直接将数据缓冲区的数据推送到内容分发网络,若数据量较多,则说明为弱网,主播端网络无法完成数据推送,此时主播端在收到弱网指令时,主播端可自动对摄像头的参数进行调整,并对数量缓冲区的数据执行丢帧策略和/或码率压缩策略,以更低的码率将数据缓冲区的待推送直播数据推送到内容分发网络。
在本申请实施例中,直播数据推流系统首先根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量,然后根据数据总量确定待推送直播数据的处理策略;其中,处理策略包括丢帧策略和/或码率压缩策略,最后基于确定的处理策略将待推送直播数据推送至内容分发网络,以通过内容分发网络将直播数据发送至多个客户端。由于本申请在低带宽网络直播环境中对数据缓冲区内待推送直播数据采用丢帧策略和/或码率压缩策略进行处理,使得直播数据在网络环境差时能及时推送到内容分发网络,从而提升了直播流畅度,提升了观看体验度。
请参见图5,为本申请实施例提供了一种直播数据推流方法的流程示意图。
如图5所示,本申请实施例的方法可以包括以下步骤:
S201,计算当前直播网络在单位时间内的数据传输量,得到当前直播网络的可用网络带宽;
其中,网络环境千差万别,直播技术很大程度依赖网络环境,好的网络会给直播带来更加好的观看体验,视频画面的流畅,声音的连贯等;只有好的网络环境才能更加丰富直播内容,使直播间观众更加活跃。弱网环境会造成网络传输丢包,网络丢包会直接导致直播卡顿,声音不连续,卡顿频繁,大大降低直播间的观看效果,因此本申请通过丢帧策略和/或码率压缩策略可以改善弱网环境下的直播效果。
S202,在当前直播网络的可用网络带宽小于预设带宽阈值时,统计数据缓冲区内待推送直播数据的数据总量;
S203,判断数据总量与预设数据量区间的关系;
S204,若数据总量大于预设数据量区间的上限值时,则将丢帧策略和码率压缩策略确定为待推送直播数据的处理策略;
S205,若数据总量位于预设数据量区间内,则将丢帧策略确定为待推送直播数据的处理策略;
S206,确定并丢弃待推送直播数据中的冗余帧,得到多个关键帧,将多个关键帧推送至内容分发网络;
S207,或者确定并丢弃待推送直播数据中的冗余帧,得到多个关键帧,并针对多个关键帧中的每个关键帧的图像像素进行DCT变换,得到多帧变换图像;
S208,采用加权量化法对多帧变换图像中每帧变换图像进行熵编码,以对图像数据进行码率压缩,得到压缩数据;
S209,将压缩数据推送至内容分发网络。
在本申请实施例中,可以针对数据缓冲区设置两个阈值T1以及T2,T1小于T2,发送线程把数据缓冲区的数据发送到内容分发网络过程中时,实时统计网络传输的数据缓冲区的数据量,网络环境正常的情况下数据缓冲区不会有数据堆积,都会发送到内容分发网络。在弱网环境下时,发送数据会受到影响,当发送缓存区的数据量堆积到一定程度,即数据量大于T1的时候,发送线程会针对缓冲区的视频数据执行丢帧策略,以缓解弱网时候网络发送造成的数据堆积延迟。当网络条件很差的时候,即使丢帧策略下数据缓存区的数据量还是继续堆积,当大于T2的时候,说明丢帧策略不能很好的缓解直播延迟问题,这个时候可以即采用丢帧策略,也采用码率压缩策略进行处理,这样会降低单位时间内产生的数据量,缓解网络压力。
在本申请实施例中,直播数据推流系统首先根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量,然后根据数据总量确定待推送直播数据的处理策略;其中,处理策略包括丢帧策略和/或码率压缩策略,最后基于确定的处理策略将待推送直播数据推送至内容分发网络,以通过内容分发网络将直播数据发送至多个客户端。由于本申请在低带宽网络直播环境中对数据缓冲区内待推送直播数据采用丢帧策略和/或码率压缩策略进行处理,使得直播数据在网络环境差时能及时推送到内容分发网络,从而提升了直播流畅度,提升了观看体验度。
下述为本发明系统实施例,可以用于执行本发明方法实施例。对于本发明系统实施例中未披露的细节,请参照本发明方法实施例。
请参见图6,其示出了本发明一个示例性实施例提供的直播数据推流系统的结构示意图。该直播数据推流系统可以通过软件、硬件或者两者的结合实现成为设备的全部或一部分。该系统1包括数据总量统计模块10、处理策略确定模块20、直播数据推送模块30。
数据总量统计模块10,用于根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量;
处理策略确定模块20,用于根据数据总量确定待推送直播数据的处理策略;其中,处理策略包括丢帧策略和/或码率压缩策略;
直播数据推送模块30,用于基于确定的处理策略将待推送直播数据推送至内容分发网络,以通过内容分发网络将直播数据发送至多个客户端。
需要说明的是,上述实施例提供的直播数据推流系统在执行直播数据推流方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的直播数据推流系统与直播数据推流方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,直播数据推流系统首先根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量,然后根据数据总量确定待推送直播数据的处理策略;其中,处理策略包括丢帧策略和/或码率压缩策略,最后基于确定的处理策略将待推送直播数据推送至内容分发网络,以通过内容分发网络将直播数据发送至多个客户端。由于本申请在低带宽网络直播环境中对数据缓冲区内待推送直播数据采用丢帧策略和/或码率压缩策略进行处理,使得直播数据在网络环境差时能及时推送到内容分发网络,从而提升了直播流畅度,提升了观看体验度。
在一个实施例中,提出了一种计算机设备,设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量;
根据所述数据总量确定所述待推送直播数据的处理策略;其中,所述处理策略包括丢帧策略和/或码率压缩策略;
基于确定的所述处理策略将所述待推送直播数据推送至内容分发网络,以通过所述内容分发网络将直播数据发送至多个客户端。
在一个实施例中,处理器执行在根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量时,具体执行以下操作:
计算当前直播网络在单位时间内的数据传输量,得到当前直播网络的可用网络带宽;
在所述当前直播网络的可用网络带宽小于预设带宽阈值时,统计数据缓冲区内待推送直播数据的数据总量。
在一个实施例中,处理器执行根据所述数据总量确定所述待推送直播数据的处理策略时,具体执行以下操作:
若所述数据总量位于预设数据量区间内,则将丢帧策略确定为所述待推送直播数据的处理策略;
或者,
若所述数据总量大于预设数据量区间的上限值时,则将丢帧策略和码率压缩策略确定为所述待推送直播数据的处理策略。
在一个实施例中,处理器执行基于确定的所述处理策略将所述待推送直播数据推送至内容分发网络时,具体执行以下操作:
根据所述丢帧策略将所述待推送直播数据推送至内容分发网络;
或者,
根据所述丢帧策略和码率压缩策略将所述待推送直播数据推送至内容分发网络。
在一个实施例中,处理器在执行根据所述丢帧策略将所述待推送直播数据推送至内容分发网络时,具体执行以下操作:
确定并丢弃所述待推送直播数据中的冗余帧,得到多个关键帧;
将所述多个关键帧推送至内容分发网络。
在一个实施例中,处理器执行确定并丢弃所述待推送直播数据中的冗余帧,得到多个关键帧时,具体执行以下操作:
对所述待推送直播数据中每帧图像的前景区域和背景区域进行分割,得到每帧图像的前景部分和背景部分;
将每帧图像的前景部分输入预先训练的动作识别模型中进行动作识别,输出存在动作变化的前景部分;
将不存在动作变化的前景部分和每帧图像的背景部分进行丢弃,并将存在动作变化的前景部分确定为多个关键帧;
或者,
分析所述待推送直播数据中每帧图像所对应的表情变化幅度以及语音数据大小;
根据所述表情变化幅度以及语音数据大小计算每帧图像的权重值,得到多个权重值;
将所述多个权重值进行升序排列,并在排序后的权重值中从起始位置依次截取预设百分比的多个目标权重值;
在所述待推送直播数据中将所述多个目标权重值对应的图像帧进行丢弃,并将剩余图像帧确定为多个关键帧。
在一个实施例中,处理器执行根据所述丢帧策略和码率压缩策略将所述待推送直播数据推送至内容分发网络时,具体执行以下操作:
确定并丢弃所述待推送直播数据中的冗余帧,得到多个关键帧;
针对所述多个关键帧中的每个关键帧的图像像素进行DCT变换,得到多帧变换图像;
采用加权量化法对所述多帧变换图像中每帧变换图像进行熵编码,以对图像数据进行码率压缩,得到压缩数据;
将所述压缩数据推送至内容分发网络。
在本申请实施例中,直播数据推流系统首先根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量,然后根据所述数据总量确定所述待推送直播数据的处理策略;其中,所述处理策略包括丢帧策略和/或码率压缩策略,最后基于确定的所述处理策略将所述待推送直播数据推送至内容分发网络,以通过所述内容分发网络将直播数据发送至多个客户端。由于本申请在低带宽网络直播环境中对数据缓冲区内待推送直播数据采用丢帧策略和/或码率压缩策略进行处理,使得直播数据在网络环境差时能及时推送到内容分发网络,从而提升了直播流畅度,提升了观看体验度。
在一个实施例中,提出了一种存储有计算机可读指令的介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:
根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量;
根据所述数据总量确定所述待推送直播数据的处理策略;其中,所述处理策略包括丢帧策略和/或码率压缩策略;
基于确定的所述处理策略将所述待推送直播数据推送至内容分发网络,以通过所述内容分发网络将直播数据发送至多个客户端。
在一个实施例中,处理器执行在根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量时,具体执行以下操作:
计算当前直播网络在单位时间内的数据传输量,得到当前直播网络的可用网络带宽;
在所述当前直播网络的可用网络带宽小于预设带宽阈值时,统计数据缓冲区内待推送直播数据的数据总量。
在一个实施例中,处理器执行根据所述数据总量确定所述待推送直播数据的处理策略时,具体执行以下操作:
若所述数据总量位于预设数据量区间内,则将丢帧策略确定为所述待推送直播数据的处理策略;
或者,
若所述数据总量大于预设数据量区间的上限值时,则将丢帧策略和码率压缩策略确定为所述待推送直播数据的处理策略。
在一个实施例中,处理器执行基于确定的所述处理策略将所述待推送直播数据推送至内容分发网络时,具体执行以下操作:
根据所述丢帧策略将所述待推送直播数据推送至内容分发网络;
或者,
根据所述丢帧策略和码率压缩策略将所述待推送直播数据推送至内容分发网络。
在一个实施例中,处理器在执行根据所述丢帧策略将所述待推送直播数据推送至内容分发网络时,具体执行以下操作:
确定并丢弃所述待推送直播数据中的冗余帧,得到多个关键帧;
将所述多个关键帧推送至内容分发网络。
在一个实施例中,处理器执行确定并丢弃所述待推送直播数据中的冗余帧,得到多个关键帧时,具体执行以下操作:
对所述待推送直播数据中每帧图像的前景区域和背景区域进行分割,得到每帧图像的前景部分和背景部分;
将每帧图像的前景部分输入预先训练的动作识别模型中进行动作识别,输出存在动作变化的前景部分;
将不存在动作变化的前景部分和每帧图像的背景部分进行丢弃,并将存在动作变化的前景部分确定为多个关键帧;
或者,
分析所述待推送直播数据中每帧图像所对应的表情变化幅度以及语音数据大小;
根据所述表情变化幅度以及语音数据大小计算每帧图像的权重值,得到多个权重值;
将所述多个权重值进行升序排列,并在排序后的权重值中从起始位置依次截取预设百分比的多个目标权重值;
在所述待推送直播数据中将所述多个目标权重值对应的图像帧进行丢弃,并将剩余图像帧确定为多个关键帧。
在一个实施例中,处理器执行根据所述丢帧策略和码率压缩策略将所述待推送直播数据推送至内容分发网络时,具体执行以下操作:
确定并丢弃所述待推送直播数据中的冗余帧,得到多个关键帧;
针对所述多个关键帧中的每个关键帧的图像像素进行DCT变换,得到多帧变换图像;
采用加权量化法对所述多帧变换图像中每帧变换图像进行熵编码,以对图像数据进行码率压缩,得到压缩数据;
将所述压缩数据推送至内容分发网络。
在本申请实施例中,直播数据推流系统首先根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量,然后根据所述数据总量确定所述待推送直播数据的处理策略;其中,所述处理策略包括丢帧策略和/或码率压缩策略,最后基于确定的所述处理策略将所述待推送直播数据推送至内容分发网络,以通过所述内容分发网络将直播数据发送至多个客户端。由于本申请在低带宽网络直播环境中对数据缓冲区内待推送直播数据采用丢帧策略和/或码率压缩策略进行处理,使得直播数据在网络环境差时能及时推送到内容分发网络,从而提升了直播流畅度,提升了观看体验度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性介质,或随机存储记忆体(RandomAccess Memory,RAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种直播数据推流方法,其特征在于,所述方法包括:
根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量;
根据所述数据总量确定所述待推送直播数据的处理策略;其中,所述处理策略包括丢帧策略和/或码率压缩策略;
基于确定的所述处理策略将所述待推送直播数据推送至内容分发网络,以通过所述内容分发网络将直播数据发送至多个客户端。
2.根据权利要求1所述的方法,其特征在于,在根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量,包括:
计算当前直播网络在单位时间内的数据传输量,得到当前直播网络的可用网络带宽;
在所述当前直播网络的可用网络带宽小于预设带宽阈值时,统计数据缓冲区内待推送直播数据的数据总量。
3.根据权利要求1所述的方法,其特征在于,所述根据所述数据总量确定所述待推送直播数据的处理策略,包括:
若所述数据总量位于预设数据量区间内,则将丢帧策略确定为所述待推送直播数据的处理策略;
或者,
若所述数据总量大于预设数据量区间的上限值时,则将丢帧策略和码率压缩策略确定为所述待推送直播数据的处理策略。
4.根据权利要求1或3所述的方法,其特征在于,所述基于确定的所述处理策略将所述待推送直播数据推送至内容分发网络,包括:
根据所述丢帧策略将所述待推送直播数据推送至内容分发网络;
或者,
根据所述丢帧策略和码率压缩策略将所述待推送直播数据推送至内容分发网络。
5.根据权利要求4所述的方法,其特征在于,所述根据所述丢帧策略将所述待推送直播数据推送至内容分发网络,包括:
确定并丢弃所述待推送直播数据中的冗余帧,得到多个关键帧;
将所述多个关键帧推送至内容分发网络。
6.根据权利要求5所述的方法,其特征在于,所述确定并丢弃所述待推送直播数据中的冗余帧,得到多个关键帧,包括:
对所述待推送直播数据中每帧图像的前景区域和背景区域进行分割,得到每帧图像的前景部分和背景部分;
将每帧图像的前景部分输入预先训练的动作识别模型中进行动作识别,输出存在动作变化的前景部分;
将不存在动作变化的前景部分和每帧图像的背景部分进行丢弃,并将存在动作变化的前景部分确定为多个关键帧;
或者,
分析所述待推送直播数据中每帧图像所对应的表情变化幅度以及语音数据大小;
根据所述表情变化幅度以及语音数据大小计算每帧图像的权重值,得到多个权重值;
将所述多个权重值进行升序排列,并在排序后的权重值中从起始位置依次截取预设百分比的多个目标权重值;
在所述待推送直播数据中将所述多个目标权重值对应的图像帧进行丢弃,并将剩余图像帧确定为多个关键帧。
7.根据权利要求4所述的方法,其特征在于,所述根据所述丢帧策略和码率压缩策略将所述待推送直播数据推送至内容分发网络,包括:
确定并丢弃所述待推送直播数据中的冗余帧,得到多个关键帧;
针对所述多个关键帧中的每个关键帧的图像像素进行DCT变换,得到多帧变换图像;
采用加权量化法对所述多帧变换图像中每帧变换图像进行熵编码,以对图像数据进行码率压缩,得到压缩数据;
将所述压缩数据推送至内容分发网络。
8.一种直播数据推流系统,其特征在于,所述系统包括:
数据总量统计模块,用于根据当前直播网络的可用网络带宽统计数据缓冲区内待推送直播数据的数据总量;
处理策略确定模块,用于根据所述数据总量确定所述待推送直播数据的处理策略;其中,所述处理策略包括丢帧策略和/或码率压缩策略;
直播数据推送模块,用于基于确定的所述处理策略将所述待推送直播数据推送至内容分发网络,以通过所述内容分发网络将直播数据发送至多个客户端。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述直播数据推流方法的步骤。
10.一种存储有计算机可读指令的介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述直播数据推流方法的步骤。
CN202310320667.9A 2023-03-23 2023-03-23 一种直播数据推流方法、系统、计算机设备及介质 Pending CN116405704A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310320667.9A CN116405704A (zh) 2023-03-23 2023-03-23 一种直播数据推流方法、系统、计算机设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310320667.9A CN116405704A (zh) 2023-03-23 2023-03-23 一种直播数据推流方法、系统、计算机设备及介质

Publications (1)

Publication Number Publication Date
CN116405704A true CN116405704A (zh) 2023-07-07

Family

ID=87006874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310320667.9A Pending CN116405704A (zh) 2023-03-23 2023-03-23 一种直播数据推流方法、系统、计算机设备及介质

Country Status (1)

Country Link
CN (1) CN116405704A (zh)

Similar Documents

Publication Publication Date Title
EP3197167B1 (en) Image transmission method and apparatus
CN110493600B (zh) 图像编码方法、装置、计算机设备及存储介质
CN112383777B (zh) 视频编码方法、装置、电子设备及存储介质
WO2019184822A1 (zh) 多媒体文件处理方法和装置、存储介质及电子装置
CN108289228A (zh) 一种全景视频转码方法、装置和设备
CN114679607B (zh) 一种视频帧率控制方法、装置、电子设备及存储介质
CN111510680B (zh) 一种图像数据的处理方法、系统及存储介质
CN112019905A (zh) 直播回放方法、计算机设备及可读存储介质
CN111479095B (zh) 一种业务处理控制系统、方法及装置
CN113038128A (zh) 数据传输方法、装置、电子设备及存储介质
CN112055263A (zh) 基于显著性检测的360°视频流传输系统
CN105893429A (zh) 用于优化web缓存的方法及系统
CN117156097B (zh) 基于物联网感知的会议音频数据智能处理方法及系统
CN111263113B (zh) 数据包的发送方法及装置、数据包的处理方法及装置
US11095901B2 (en) Object manipulation video conference compression
CN116320431B (zh) 视频压缩编码数据动态无线网络传输系统
CN116405704A (zh) 一种直播数据推流方法、系统、计算机设备及介质
Amirpour et al. Light-weight video encoding complexity prediction using spatio temporal features
CN116129316A (zh) 图像处理方法、装置、计算机设备和存储介质
CN115776564A (zh) 传输全景视频方法、装置、存储介质以及电子设备
CN112351276B (zh) 一种视频的编码方法和装置,视频的解码方法和装置
CN114880107A (zh) 一种高效低成本的云游戏系统
JP6216046B2 (ja) コーデックの自動適応化
CN108347451B (zh) 图片处理系统、方法和装置
CN111885378B (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