CN108769726A - 多媒体数据推送方法、装置、存储介质及设备 - Google Patents

多媒体数据推送方法、装置、存储介质及设备 Download PDF

Info

Publication number
CN108769726A
CN108769726A CN201810614487.0A CN201810614487A CN108769726A CN 108769726 A CN108769726 A CN 108769726A CN 201810614487 A CN201810614487 A CN 201810614487A CN 108769726 A CN108769726 A CN 108769726A
Authority
CN
China
Prior art keywords
data
medium data
medium
terminal
recombination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810614487.0A
Other languages
English (en)
Other versions
CN108769726B (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 CN201810614487.0A priority Critical patent/CN108769726B/zh
Publication of CN108769726A publication Critical patent/CN108769726A/zh
Application granted granted Critical
Publication of CN108769726B publication Critical patent/CN108769726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4318Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region
    • 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/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

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

Abstract

本发明公开了一种多媒体数据推送方法、装置、存储介质及设备,属于互联网技术领域。方法包括:接收第一终端通过至少两个网络通道发送的多媒体数据,第一终端用于将直播过程中产生的多媒体数据通过至少两个网络通道发送出去;对接收到的多媒体数据进行数据重组;将重组多媒体数据推送给第二终端。本发明第一终端通过多个网络通道来发送多媒体数据,之后,服务器通过对多个网络通道传输的多媒体数据进行重组,能够有效保障输出到第二终端的多媒体数据的完整性,大大降低了多媒体数据在通过单一网络通道传输时因网络状态不佳致使数据发生严重丢失,进而造成的直播效果不佳的问题,另外该种多媒体数据推送方式不会降低画面清晰度,视频画质较佳。

Description

多媒体数据推送方法、装置、存储介质及设备
技术领域
本发明涉及互联网技术领域,特别涉及一种多媒体数据推送方法、装置、存储介质及设备。
背景技术
时下利用终端进行多媒体数据直播已成为了人们展示自我以及进行娱乐休闲的重要途径之一,其中,多媒体数据包括画面数据和音频数据。以移动端的直播场景为例,由于主播用户的终端所处的地点不固定,所以终端接入的网络一般为共享网络或移动网络。针对共享网络而言,受接入人数、信号覆盖范围以及带宽上限等因素制约,当接入共享网络的终端越多、终端偏离信号覆盖范围越远时,终端在通过共享网络的网络通道发送多媒体数据时便越不顺畅;针对移动网络而言,受地理位置以及周围人数等因素制约,在位置较偏僻或周围人数过多时,移动网络信号会大幅降低,终端在通过移动网络的网络通道发送多媒体数据时,同样也会出现数据发送不顺畅的现象,而上述现象的出现无疑会严重影响直播质量。
相关技术中,为了确保网络不佳环境下的直播质量,终端在通过单一网络通道发送多媒体数据时,通常采取下述处理方式:根据当前的数据上传速度以及已缓存的多媒体数据的占比情况,调用视频编码器来调整编码压缩策略,采用降低视频编码的码率的方式,降低直播过程中每一帧的编码数据量;即,终端通过缩减直播过程中产生的画面数据的数据量,来缓解单一网络通道的数据上传压力。
针对上述数据推送方式,单一网络通道在网络不佳的状态下进行数据上传时很有可能会大量丢失数据,表现在观看用户侧便会出现播放画面异常、播放卡顿或跳帧等现象,直播效果不佳;另外,由于视频编码的码率与画面清晰度相关,所以采用降低视频编码的码率的方式来缩减编码数据量,还需以画面清晰度为代价,会出现视频画质不佳的问题,进一步会导致直播效果不佳。
发明内容
本发明实施例提供了一种多媒体数据推送方法、装置、存储介质及设备,通过采用多个网络通道并行推送多媒体数据,能够有效解决观看用户侧出现的播放画面异常、播放卡顿或跳帧等现象,视频画质好,直播效果较佳。所述技术方案如下:
一方面,提供了多媒体数据推送方法,应用于服务器,所述方法包括:
接收第一终端通过至少两个网络通道发送的多媒体数据,所述第一终端用于将直播过程中产生的多媒体数据通过所述至少两个网络通道发送出去;
对接收到的多媒体数据进行数据重组,得到重组多媒体数据;
将所述重组多媒体数据推送给第二终端。
另一方面,提供了一种多媒体数据推送方法,应用于终端,所述方法包括:
获取直播过程中产生的多媒体数据;
通过至少两个网络通道向服务器发送所述多媒体数据,以使所述服务器对通过所述至少两个网络通道接收到的多媒体数据进行数据重组,并将得到的重组多媒体数据推送给第二终端。
另一方面,提供了一种多媒体数据推送装置,应用于服务器,所述装置包括:
接收模块,用于接收第一终端通过至少两个网络通道发送的多媒体数据,所述第一终端用于将直播过程中产生的多媒体数据通过所述至少两个网络通道发送出去;
处理模块,用于对接收到的多媒体数据进行数据重组,得到重组多媒体数据;
第一发送模块,用于将所述重组多媒体数据推送给第二终端。
另一方面,提供了一种多媒体数据推送装置,应用于终端,所述装置包括:
获取模块,用于获取直播过程中产生的多媒体数据;
第二发送模块,用于通过至少两个网络通道向服务器发送所述多媒体数据,以使所述服务器对通过所述至少两个网络通道接收到的多媒体数据进行数据重组,并将得到的重组多媒体数据推送给第二终端。
另一方面,提供了一种存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的多媒体数据推送方法。
另一方面,提供了一种多媒体数据推送设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述的多媒体数据推送方法。
本发明实施例提供的技术方案带来的有益效果是:
第一终端通过多个网络通道发送多媒体数据,之后,服务器通过对多个网络通道传输的多媒体数据进行重组,能够有效保障最终输出到第二终端的多媒体数据的完整性,大大降低了多媒体数据在通过单一网络通道传输时,因网络状态不佳致使数据发生严重丢失,进而造成的直播效果不佳的问题,换一种表达方式,由于输出到第二终端的多媒体数据的一致性以及连续性得到了保障,所以在观看用户侧解码异常现象大幅减少,能够有效解决屏幕出现的绿屏、花屏、马赛克等画面播放问题,以及跳帧、卡顿,不连贯等流畅度问题,直播效果较佳。另外,第一终端通过多个网络通道来发送多媒体数据,因此在前端编码时无需为了缓解网络阻塞而进行动态码率适配以降低丢包率,所以该种多媒体数据推送方式不会降低画面清晰度,视频画质较佳,进一步确保了直播效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种多媒体数据推送方法所涉及的架构示意图;
图2是本发明实施例提供的一种多媒体数据推送方法所涉及的数据上传示意图;
图3是本发明实施例提供的一种多媒体数据推送方法的流程图;
图4是本发明实施例提供的一种数据块的结构示意图;
图5是本发明实施例提供的一种多媒体数据推送方法的流程图;
图6是本发明实施例提供的一种数据重组的流程示意图;
图7是本发明实施例提供的另一种数据重组的流程示意图;
图8是本发明实施例提供的一种多媒体数据推送方法的流程图;
图9是本发明实施例提供的一种多媒体数据推送方法所涉及的数据上传示意图;
图10是本发明实施例提供的一种多媒体数据推送方法的整体执行流程图;
图11是本发明实施例提供的一种多媒体数据推送方法的整体执行流程图;
图12是本发明实施例提供的一种发送多媒体数据的流程示意图;
图13是本发明实施例提供的一种多媒体数据推送装置的结构示意图;
图14是本发明实施例提供的一种多媒体数据推送装置的结构示意图;
图15是本发明实施例提供的一种多媒体数据推送设备的结构示意图;
图16是本发明实施例提供的一种多媒体数据推送设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细地解释说明之前,先对本发明实施例涉及的一些名词进行解释说明。
多媒体数据:指代主播用户在发起直播时,由主播用户的终端实时采集并编码的多媒体数据。在本发明实施例中,多媒体数据通常以直播流的形式由主播用户的终端推送给服务器。
共享网络:并不是由一个终端所独享,共享网络通常会被多个终端接入,接入共享网络的终端数量越大,共享网络的稳定性通常越差。示例性地,线下店铺提供的WiFi(Wireless Fidelity,无线保真)网络便是共享网络的一种。
FLV(FLASH VIDEO,流媒体格式)Tag(标签)数据包:FLV是一种通用的音视频数据封装格式,针对采用FLV数据封装格式的直播流而言,FLV Tag数据包是组成FLV数据流的基本单元,其可分为视频(Video)Tag和音频(Audio)Tag,示例性地,FLV数据流的组成可如下所述:
FLV Header+Header Size、Video Tag+Tag Size、Audio Tag+Tag Size、AudioTag+Tag Size、Video Tag+Tag Size、Audio Tag+Tag Size、Audio Tag+Tag Size…。
其中,上述从左至右依次为直播流头部+头部尺寸、视频标签+标签尺寸、音频标签+标签尺寸、音频标签+标签尺寸、视频标签+标签尺寸、音频标签+标签尺寸、音频标签+标签尺寸…。
需要说明的是,此处提及的视频仅指代画面数据,为了将其与音频数据区分,在后文中将其以画面数据称谓。
FLV Chunk(块):按视频帧率或视频帧间隔时长,将FLV Tag数据包组合打包,便可形成一个个FLV Chunk,其中,FLV Chunk也可称之为FLV数据块,或者简称为数据块。
假设一个直播流的视频帧率为25,则视频帧间隔时长为1/25=0.04s,那么一个FLV数据块中会包含1个Video Tag,以及2至3个Audio Tag,即组合起来的多媒体数据的时长约为0.04s。换一种表达方式,一个FLV数据块中包括Video Tag+Tag Size、Audio Tag+Tag Size、Audio Tag+Tag Size;按照上述组合方式,以FLV数据块为单元组合而成的直播流便为:FLV Header+Header Size、FLV Chunk、FLV Chunk、FLV Chunk、……。
码率:用于衡量直播流每秒数据量的大小,单位为kbps。其中,码率分为视频码率和音频码率,一般情况下,码率越高,对应的视频画面的清晰度越好、音频的音质也越好;另外,码率还会影响数据上传,一般情况下,码率越高,进行数据上传时要求相应便越高,比如需要的带宽和网络质量随之提高。
CDN(Content Delivery Network,内容分发网络):能够实时地根据网络流量和各个服务节点的连接、负载状况、到用户的距离以及响应时间等综合信息,将用户发起的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,以解决网络拥挤的状况,提高用户访问网站的响应速度。
下面对本发明实施例提供的多媒体数据推送方法所涉及的实施环境进行简单介绍。参见图1,该实施环境包括主播用户的终端101、直播流接收服务器102、CDN服务器103、观看用户的终端104、以及数据重组服务器105。
本发明实施例提供的多媒体数据推送方法采用多个网络通道来进行多媒体数据推送,相应地,直播流接收服务器102的个数通常为多个。示例性地,在图1中仅以网络通道的个数为2,即直播流接收服务器102为2个进行举例说明。
其中,主播用户的终端101和观看用户的终端104的类型包括但不限于智能手机、平板电脑等,图1仅以二者均为智能手机进行举例说明。而直播流接收服务器102、CDN服务器103以及数据重组服务器105既可为各自独立的服务器,也可集成为一个服务器,本发明实施例对此不进行具体限定。
网络通道可为WiFi网络、2G(2nd Generation mobile communicationtechnology,第二代移动通信技术)、3G(3rd Generation mobile communicationtechnology,第三代移动通信技术)以及4G(the 4th Generation mobile communicationtechnology,***移动通信技术)等的网络通道,本发明实施例对此不进行具体限定。
需要说明的第一点是,各个网络通道之间是独立存在的,相互之间互不干扰,针对图1中的两个网络通道而言,若其中一个为A运营商的4G网络通道,则另一个可为B运营商的4G网络通道或WiFi网络。
需要说明的第二点是,每一个网络通道传输的数据量既可为主播用户的终端101产生的全部数据量,也可为部分数据量。以主播用户的终端101产生的多媒体数据的数据量为M为例,则第一种推送方式可为,每一个网络通道均传输数据量为M的多媒体数据;第二种推送方式可为,每一个网络通道传输数据量M的一部分,以N个网络通道为例,每一个网络通道传输的数据量可为M/N。
示例性地,以上述第一种推送方式为例,主播用户的终端101在推送多媒体数据时,可选择将直播过程中产生的多媒体数据拷贝一份作为冗余数据,来分别通过2个网络通道上传。其中,这2个网络通道可对应终端的双卡双待情况,比如主播用户的终端101配置有2张4G卡,分别来源于A运营商和B运营商,则如图1所示,主播用户的终端101在进行多媒体数据推送时,可将一份多媒体数据通过A运营商的网络通道上传到A运营商的直播流接收服务器102,同理,拷贝的冗余数据可通过B运营商的网络通道上传到B运营商的直播流接收服务器102;之后,两台直播流接收服务器102再将接收到的多媒体数据转发给数据重组服务器105,再由数据重组服务器105对接收到的两路多媒体数据进行汇总;之后,在通过数据重组服务器105对两路多媒体数据的重组以及筛选排列后,再向CDN服务器103输出一份可靠的多媒体数据,进而再由CDN服务器103将这份可靠的多媒体数据推送给观看用户的终端104。
以上述第一种推送方式为例,下面通过一个详细例子对通过多个网络通道并行推送多媒体数据的流程进行说明。参见图2,假设主播用户的终端101产生的多媒体数据的数据量为M,包括编号为1/2/3/4……至N+1的共N+1个数据块,若在通过网络通道1上传数据量为M的多媒体数据时,丢失了数据块2和数据块4,在通过网络通道2上传数据量为M的多媒体数据时,丢失了数据块1和数据块3,那么这两个网络通道各自对应的直播流接收服务器102在将接收到的多媒体数据发送给数据重组服务器105后,数据重组服务器105便会重新组合成一份完整的多媒体数据,这份多媒体数据中包括编号为1/2/3/4……至N+1的共N+1个数据块,确保了多媒体数据的完整。
综上所述,本发明实施例提出的通过多个网络通道并行推送多媒体数据的方式,能够有效解决相关技术中在通过单一网络通道推送多媒体数据时存在的以下问题:
当主播用户的终端接入的网络的状态不佳时,比如接入的网络呈弱网状态,在推送多媒体数据时很可能会因发生网络阻塞而出现丢包现象,在观看用户侧,会存在因为部分参考帧丢失而导致后续依赖此帧解码的其他帧均解码失败的情况,相应地,观看用户的终端屏幕上可能会出现局部绿屏、花屏、马赛克、跳帧,卡顿,播放不连贯等现象。采用动态码率适配方案虽然在一定程度上缓解了因网络阻塞造成的丢包现象,缓解了数据传输压力,但是需以画面清晰度为代价,即视频画质会降低,效果不佳。
而在本发明实施例中,通过采用多个网络通道来推送多媒体数据以及对多个网络通道传输的多媒体数据进行筛选重组的方式,能够有效保障最终输出到观众用户侧的多媒体数据的完整性,大大降低了多媒体数据在通过单一网络通道传输时因网络状态不佳致使数据发生严重丢失,进而造成的直播效果不佳的问题,即,由于输出到观看用户侧的多媒体数据的一致性以及连续性得到了保障,所以在观看用户侧解码异常现象大幅减少,能够有效解决屏幕出现的绿屏、花屏、马赛克等画面播放问题,以及跳帧、卡顿,不连贯等流畅度问题,直播效果较佳。另外,主播用户的终端通过多个网络通道来发送多媒体数据,因此在前端编码时无需为了缓解网络阻塞而进行动态码率适配以降低丢包率,所以该种多媒体数据推送方式不会降低画面清晰度,视频画质较佳,进一步确保了直播效果。
下面通过详细实施方式对本发明实施例提供的多网络通道并行推送多媒体数据方法进行解释说明。
图3是本发明实施例提供的一种多媒体数据推送方法的流程图。该方法的交互主体为第一终端、服务器以及第二终端,其中,第一终端为图1中主播用户的终端101,第二终端为图1中观看用户的终端104,服务器至少包含图1中的直播流接收服务器102和数据重组服务器105,其中,直播流接收服务器102与数据重组服务器105可为各自独立的服务器,也可集成为一个服务器,本发明实施例对此不进行具体限定。参见图3,本发明实施例提供的方法流程包括:
301、第一终端获取直播过程中产生的多媒体数据,并通过至少两个网络通道向服务器发送多媒体数据。
如前文所述,第一终端推送的多媒体数据具体是以数据块(Chunk)为单位,且每一个数据块中均包括头部和主体,对于任意一个数据块,该数据块的头部中包含该数据块的序列号,该数据块的主体中包括画面数据和音频数据。
示例性地,如图4所示,对于FLV Chunk1的数据块来说,其头部FLV Chunk Header的Chunk Number字段中包括该数据块的序列号,而该数据块的主体部分可包含1个VideoTag+Tag Size、2至3个Audio Tag+Tag Size,其中,主体部分包含的画面数据以及音频数据多少,与视频帧率相关。
需要说明的第一点是,对于图4中示出的其他数据块来说,其内部结构与名称为FLV Chunk1的数据块类似。
另外,针对各个数据块来说,可按照各个数据块的顺序,为各个数据块分配递增的序列号,如FLV Chunk1的序列号为1、FLV Chunk2的序列号为2、FLVChunk3的序列号为3、……、FLV ChunkN的序列号为N,本发明实施例对分配序列号的方式不进行具体限定。
需要说明的第二点是,对于上述序列号,各个数据块还需从直播流接收服务器一直携带至数据重组服务器,之后,数据重组服务器根据各个数据块的序列号,方可实现对经由多个网络通道上传的多媒体数据的校验以及重组排序;换一种表达方式,数据重组服务器在接收到直播流接收服务器转发的多媒体数据后,具体是按照序列号递增的顺序来还原第一终端产生的多媒体数据的。
需要说明的第三点是,第一终端可通过两个或两个以上的网络通道来发送多媒体数据,且每一个网络通道之间均相互独立,互不干扰。其中,网络通道的数量以第一终端在硬件上能够支持的数量为准,本发明实施例对此不进行具体限定。
302、服务器在接收到第一终端通过至少两个网络通道发送的多媒体数据后,对接收到的多媒体数据进行数据重组,并将得到的重组多媒体数据推送给第二终端。
在本发明实施例中,第一终端具体是向各个网络通道对应的直播流接收服务器推送多媒体数据。比如,一个网络通道来自A运营商,则第一终端通过该网络通道向A运营商的直播流接收服务器推送多媒体数据,若另一个网络通道来自B运营商,则第一终端通过该网络通道向B运营商的直播流接收服务器推送多媒体数据,而各个直播流接收服务器在接收到第一终端发送的多媒体数据后,均会将接收到的多媒体数据转推给数据重组服务器,进而由数据重组服务器完成数据的筛选重组。
需要说明的是,虽然在通过每一个网络通道上传多媒体数据时均存在丢包的风险,但是经由多个网络通道传输的多媒体数据在通过数据重组服务器的筛选重组后,数据重组服务器便会尽最大可能还原出一份可靠的多媒体数据,以此来尽可能地减少丢包,从而保持数据的完整性。
本发明实施例提供的方法,主播用户的终端通过多个网络通道来发送多媒体数据,之后,服务器通过对多个网络通道传输的多媒体数据进行筛选重组,能够有效保障最终输出到观众用户侧的多媒体数据的完整性,大大降低了多媒体数据在通过单一网络通道传输时因网络状态不佳致使数据发生严重丢失,进而造成的直播效果不佳的问题,换一种表达方式,由于输出到观看用户侧的多媒体数据的一致性以及连续性得到了保障,所以在观看用户侧解码异常现象大幅减少,能够有效解决屏幕出现的绿屏、花屏、马赛克等画面播放问题,以及跳帧、卡顿,不连贯等流畅度问题,直播效果较佳。
另外,主播用户的终端通过多个网络通道来发送多媒体数据,因此在前端编码时无需为了缓解网络阻塞而进行动态码率适配以降低丢包率,所以该种多媒体数据推送方式不会降低画面清晰度,视频画质较佳,进一步确保了直播效果。
在另一个实施方式中,第一终端在通过各个网络通道发送多媒体数据时,根据各个网络通道传输的数据量的不同,数据重组服务器在进行数据筛选重组时,采取的措施也不一样。假设第一终端通过每一个网络通道发送的数据量与直播过程中产生的数据量一致,即,若采取多个网络通道的冗余数据传输方式,则如图5所示,数据重组服务器在对接收到的多媒体数据进行数据重组时,包括下述步骤:
501、将通过不同的网络通道接收到的多媒体数据分别缓存至不同的输入缓存,每一个输入缓存中缓存起始位置处存储的数据块的序列号一致。
其中,输入缓存的个数与网络通道的个数一致,假设网络通道的个数为M,则输入缓存的个数也为M。即,输入缓存用于存储直播流接收服务器转发的主播用户原始推送的直播流,进一步地,数据重组服务器将同一个网络通道传输的多媒体数据存储在同一个输入缓存中。
另外,数据重组服务器还提供了一个输出缓存,用来存储筛选重组后的多媒体数据,以便于CDN服务器向下游的观看用户分发,即,最终推送给观看用户的直播流便是输出缓存存储的多媒体数据。
需要说明的是,各个输入缓存在存储各个网络通道传输的多媒体数据时,还需依据下述原则:保证每一个输入缓存中缓存起始位置处存储的数据块的序列号一致,以作为后续判断是否出现数据块丢失的依据。
下面以图6为例,对上述存储原则进行详细描述。假设网络通道的个数为2个,则数据重组服务器需要2个输入缓存,分别命名为输入缓存1和输入缓存2,对于这两个输入缓存,在进行多媒体数据缓存时,还需保证输入缓存1中缓存起始位置处存储的数据块的序列号与输入缓存2中缓存起始位置处存储的数据块的序列号一致。示例性地,在图6中,输入缓存1中存储的第一个数据块FLVChunk1的序列号与输入缓存2中存储的第一个数据块FLVChunk2的序列号保持一致,比如FLV Chunk1的序列号和FLV Chunk2的序列号均为1。
502、当每一个输入缓存中存储的数据量均位于第一目标区间时,从每一个输入缓存的缓存起始位置处开始顺序进行数据读取。
在本发明实施例中,各个输入缓存中存储的数据量通常是以数据块的个数来衡量的。参见图6,以符号N指代缓存的数据块数量为例,在各个输入缓存中存储的数据块数量N均位于第一目标区间时,数据重组服务器开始并行从各个输入缓存的缓存起始位置处顺序读取数据块。其中,N的取值大小至关重要,若N的取值较小,则由于输入缓存中缓存的数据不够多,会影响数据重组服务器在进行数据筛选重组时的准确性,若N的取值过大,则会影响直播实时性、延迟较大。一般情况下,N的取值以输入缓存中缓存可播放3至5s的数据量为准,假设当前直播为15帧率,则N的取值大概为45至75,因此数据重组服务器可在各个输入缓存中存储45至75个数据块的时候开始进行数据读取。此外,也可在出现有数据量位于第一目标区间的输入缓存时,便开始执行步骤502,本发明实施例对此不进行具体限定。
503、基于在每一个输入缓存中读取到的数据块进行数据重组。
在本发明实施例中,数据重组服务器在基于在每一个输入缓存中读取到的数据块进行数据重组时,具体可采取下述方式实现:
步骤a、从每一个输入缓存的缓存起始位置处开始,顺序判断相同缓存位置处存储的数据块的序列号是否一致。
继续以网络通道的个数为2个为例,则参见图7,数据重组服务器从存储的第一个数据块开始顺序读取各个输入缓存中存储的数据块,并解析各个数据块头部中的ChunkNumber字段,以获取各个数据块的序列号。
步骤b、当相同缓存位置处存储的数据块的序列号一致时,将任意一个输入缓存中存储的数据块再存储至输出缓存。
如图7所示,如果输入缓存1与输入缓存2中相同缓存位置存储的数据块的序列号一致,则说明2个网络通道在传输这个数据块时均没有出现丢失,针对该种情况,数据重组服务器可选择将任意一个输入缓存存储的该数据块存储至输出缓存。
示例性地,在图7中,输入缓存1中存储的第一个数据块以及输入缓存2中存储的第一个数据块的序列号均为1,因此可将输入缓存1中存储的这一数据块存储至输出缓存的缓存起始位置,或者,也可将输入缓存2中存储的这一数据块存储至输出缓存的缓存起始位置。
步骤c、当相同缓存位置处存储的数据块的序列号不一致时,确定序列号最小的目标数据块,并将目标数据块存储至输出缓存。
在输入缓存1与输入缓存2中相同缓存位置处存储的数据块的序号不一致的情况下,若输入缓存1中存储的第二个数据块的序列号为2,但输入缓存2中存储的第二个数据块的序列号为3,则说明输入缓存2对应的网络通道在传输数据时出现丢包,导致输入缓存2中数据块的序列号乱序;若输入缓存1中存储的第二个数据块的序列号为3,但输入缓存2中存储的第二个数据块的序列号为2,则说明输入缓存1对应的网络通道在传输数据时出现丢包,导致输入缓存1中数据块的序列号乱序。
针对这种情况,还需选择数值最小的序列号,将序列号最小的目标数据块存储至输出缓存,继续以图7为例,则需将输入缓存1中存储的第二个数据块写入输出缓存。以ChunkNumber1指代输入缓存1中任意一个位置上的数据块的序列号,以Chunk Number2指代输入缓存2中相同位置上的数据块的序列号为例,则需要选择Min(ChunkNumber1,ChunkNumber2),进而将Min(ChunkNumber1,Chunk Number2)对应的数据块存储在输出缓存中。
在本公开实施例中,主播用户的终端通过多个网络通道来发送多媒体数据,且每一个网络通道发送的数据量与直播过程中产生的数据量一致,之后,服务器对多个网络通道传输的多媒体数据进行筛选重组,由于各个网络通道均负责传输一份完整数据,所以服务器根据各个网络通道传输的数据能够有效恢复主播用户推送的原始数据,有效保障了最终输出到观众用户侧的多媒体数据的完整性,大大降低了多媒体数据在通过单一网络通道传输时因网络状态不佳致使数据发生严重丢失,进而造成的直播效果不佳的问题,换一种表达方式,由于输出到观看用户侧的多媒体数据的一致性以及连续性得到了保障,所以在观看用户侧解码异常现象大幅减少,能够有效解决屏幕出现的绿屏、花屏、马赛克等画面播放问题,以及跳帧、卡顿,不连贯等流畅度问题,直播效果较佳。
另外,由于主播用户的终端通过多个网络通道来发送多份完整的多媒体数据,所以服务器能够根据各个网络通道传输的数据来有效恢复主播用户推送的原始数据,因此在前端编码时无需为了缓解网络阻塞而进行动态码率适配以降低丢包率,所以该种多媒体数据推送方式不会降低画面清晰度,视频画质较佳,进一步确保了直播效果。
在另一个实施方式中,假设每一个网络通道发送的数据量为直播过程中产生的数据量的一部分,即,若采取多个网络通道的分布式数据传输方式,则如图8所示,数据重组服务器在对接收到的多媒体数据进行数据重组时,包括下述步骤:
801、将通过不同的网络通道接收到的多媒体数据缓存至不同的输入缓存。
本步骤与上述步骤501同理。
802、当每一个输入缓存中存储的数据量均位于第一目标区间时,从每一个输入缓存的缓存起始位置处开始顺序进行数据读取。
本步骤与上述步骤502同理。
803、按照序列号由小到大的顺序,将读取的数据块顺序存储至输出缓存。
继续以2个网络通道为例,参见图12,假设直播过程中产生的数据量为M,每一个网络通道各负责传输M/2,比如网络通道1上传的多媒体数据中包括序列号为1、3、5、7、9、……、N-1、N+1、……的数据块,网络通道2上传的多媒体数据中包括序列号为2、4、6、8、10、……、N、……的数据块,则在将网络通道1传输的多媒体数据缓存至输入缓存1,以及将网络通道2传输的多媒体数据缓存至输入缓存2后,可按照序列号由小到大的顺序来进行数据重组。
示例性地,对于从各个输入缓存的相同缓存位置处读取到的数据块,可按照序列号由小到大的顺序,顺序存储至输出缓存。以图12为例,假设输入缓存1的缓存起始位置存储的数据块的序列号为1,输入缓存2的缓存起始位置存储的数据块的序列号为2,则先将序列号为1的数据块存储至输出缓存,然后再将序列号为2的数据块存储至输出缓存。
在本公开实施例中,主播用户的终端通过多个网络通道来发送多媒体数据,且每一个网络通道发送的数据量为直播过程中产生的数据量的一部分,有效缓解了各个网络通道的数据上传压力,大大减少了丢包率,之后,服务器通过对多个网络通道传输的多媒体数据进行筛选重组,能够有效保障最终输出到观众用户侧的多媒体数据的完整性,大大降低了多媒体数据在通过单一网络通道传输时因网络状态不佳致使数据发生严重丢失,进而造成的直播效果不佳的问题,换一种表达方式,由于输出到观看用户侧的多媒体数据的一致性以及连续性得到了保障,所以在观看用户侧解码异常现象大幅减少,能够有效解决屏幕出现的绿屏、花屏、马赛克等画面播放问题,以及跳帧、卡顿,不连贯等流畅度问题,直播效果较佳。
另外,由于主播用户的终端通过多个网络通道来发送多媒体数据,且每一个网络通道发送的数据量为直播过程中产生的数据量的一部分,所以有效缓解了各个网络通道的数据上传压力,大大减少了丢包率,因此在前端编码时无需为了缓解网络阻塞而进行动态码率适配以降低丢包率,所以该种多媒体数据推送方式不会降低画面清晰度,视频画质较佳,进一步确保了直播效果。
另外,针对多个网络通道的分布式数据传输方式,实现了将多个网络通道的带宽利用起来,将直播过程中产生的数据量分配到多个网络通道上,再利用后续的数据重组服务器统一将分布式数据组合成直播流再次传输,这样还能够传输更高质量以及更高清晰度的直播流。
另外,用于传输多媒体数据的网络通道的数量越多,本方案越能发挥更高的价值,即网络通道数越多,平均分配给单个网络通道传输的数据量便越少,这样更适合数据上传,针对丢包的还原成功率也越高。如果单个通道网络的带宽是一常量值,这样反应到主播用户侧来说,随着网路通道数量的增加,能够承载的数据量可以不断增大,从而能够更好的扩展画面清晰度以及容许通过更多码率来展现视频画质。
图10是本发明实施例提供的一种多媒体数据推送方法的流程图。该方法的交互主体为第一终端、直播流接收服务器、数据重组服务器以及第二终端,其中,第一终端为图1中主播用户的终端,第二终端为图1中观看用户的终端,直播流接收服务器与数据重组服务器可为各自独立的服务器,也可集成为一个服务器。其中,在采取通过多通道数据冗余上传时,参见图10,本发明实施例提供的多媒体数据推送方法的整理流程可梳理为如下:
A、第一终端获取直播过程中产生的多媒体数据,并通过至少两个网络通道向不同的直播流接收服务器发送多媒体数据,且每一个网络通道发送的数据量与直播过程中产生的数据量一致。
其中,不同运营商的网络通道对应不同运营商的直播流接收服务器。
B、不同的直播流接收服务器在接收到多媒体数据后,各自将接收到的多媒体数据转发给数据重组服务器。
C、数据重组服务器在接收到不同直播流接收服务器转发的多媒体数据后,将通过不同直播流接收服务器接收到的多媒体数据缓存至不同的输入缓存,每一个输入缓存中缓存起始位置处存储的数据块的序列号一致。
D、当每一个输入缓存中存储的数据量均位于第一目标区间时,数据重组服务器从每一个输入缓存的缓存起始位置处开始顺序进行数据读取。
E、数据重组服务器从每一个输入缓存的缓存起始位置处开始,顺序判断相同缓存位置处存储的数据块的序列号是否一致。
F、当相同缓存位置处存储的数据块的序列号一致时,数据重组服务器将任意一个输入缓存中存储的数据块再存储至输出缓存。
G、当相同缓存位置处存储的数据块的序列号不一致时,确定序列号最小的目标数据块,并将目标数据块存储至输出缓存。
H、数据重组服务器将得到的重组多媒体数据推送给第二终端。
图11是本发明实施例提供的一种多媒体数据推送方法的流程图。该方法的交互主体为第一终端、直播流接收服务器、数据重组服务器以及第二终端,其中,第一终端为图1中主播用户的终端,第二终端为图1中观看用户的终端,直播流接收服务器与数据重组服务器可为各自独立的服务器,也可集成为一个服务器。其中,在采取通过多通道分布式数据上传时,参见图11,本发明实施例提供的多媒体数据推送方法的整理流程可梳理为如下:
A、第一终端获取直播过程中产生的多媒体数据,并通过至少两个网络通道向不同的直播流接收服务器发送多媒体数据,且每一个网络通道发送的数据量为直播过程中产生的数据量的一部分。
B、不同的直播流接收服务器在接收到多媒体数据后,各自将接收到的多媒体数据转发给数据重组服务器。
C、数据重组服务器在接收到不同直播流接收服务器转发的多媒体数据后,将通过不同直播流接收服务器接收到的多媒体数据缓存至不同的输入缓存,每一个输入缓存中缓存起始位置处存储的数据块的序列号一致。
D、当每一个输入缓存中存储的数据量均位于第一目标区间时,数据重组服务器从每一个输入缓存的缓存起始位置处开始顺序进行数据读取。
E、数据重组服务器按照序列号由小到大的顺序,将读取的数据块顺序存储至输出缓存。
F、数据重组服务器将得到的重组多媒体数据推送给第二终端。
在另一个实施方式中,以第二终端指代观看用户的终端为例,由于数据重组服务器需要对各个输入缓存中存储的数据块进行校验以及数据重组,所以无法做到流速实时,相应地,数据重组服务器基于输出缓存中存储的数据块进行数据推送时也不会做到流速实时,此时,若采取输出缓存有数据即发送的方式便会面临流速跟不上问题,而由于流速与第二终端的播放帧速度不一致,进而会导致视频缓冲,即,数据传输速度比播放速度慢,第二终端的播放器由于无数据可播,便会出现播放卡顿的现象。
为了解决这一问题,数据重组服务器并非将输出缓存中重组完毕的多媒体数据立即发送,而是等待缓存的数据量达到一定大小后再发送。比如缓存播放时长1至3s的数据量后再开始按照流速进行数据传输,以解决第二终端的播放进度问题。换一种表达方式,数据重组服务器在将重组多媒体数据推送给第二终端时,具体采取以下方式实现:
当输出缓存中存储的数据量位于第二目标区间时,数据重组服务器按照当前直播的视频帧率,将输出缓存中存储的数据块推送给第二终端。
需要说明的第一点是,数据重组服务器具体是将输出缓存中的多媒体数据推送给CDN服务器,再由CDN服务器推送给第二终端。
需要说明的第二点是,数据重组服务器在按照视频帧率将输出缓存中存储的数据块推送给第二终端时,包括但不限于采取下述几个步骤实现:
步骤1、基于视频帧率,获取发送已存储的各个数据块的时间间隔。
步骤2、在上一个数据块发送后,经过获取到的时间间隔后,再发送下一个数据块,其中,上一个数据块的序列号与下一个数据块的序列号连续。
下面以一个具体的例子来对数据重组服务器的数据推送方式进行说明。
如图12所示,假设数据重组服务器在执行数据发送任务之前设置***时钟从0开始计时,以符号fps指代视频帧率为例,则1/fps便是一帧的时间间隔,N/fps便是N帧的时间间隔;之后,数据重组服务器将输出缓存中存储的第一个数据块在0时间点发送,存储的第二个数据块则等待***时钟到了1/fps这一时间点后再发送,存储的第三个数据块则等待***时钟到了2/fps这一时间点再发送,依此类推,存储的第N个数据块则等待***时钟到了N-1/fps这一时间点再发送。
值得注意的是,以上对输出缓存中存储的数据的发送方式,还需以恒定的视频帧率为前提,换一种表达方式,若当前直播的视频帧率为固定值,比如恒定为25帧率不变,那么即可采取上述方式来进行数据发送。而若当前直播的视频帧率不固定,比如某一段时间为25帧率,另一段时间内为15帧率,那么还需以另外的方式来确定输出缓存中存储的各个数据块的发送时间点,具体地,针对该种情况,可从各个数据块的头部获取时间戳信息,进而根据对应的时间戳信息来发送各个数据块,即当***时钟到了与时间戳信息匹配的时间点时,发送相应的数据块。
图13是本发明实施例提供的一种多媒体数据推送装置的结构示意图。参见图13,该装置包括:
接收模块1301,用于接收第一终端通过至少两个网络通道发送的多媒体数据,所述第一终端用于将直播过程中产生的多媒体数据通过所述至少两个网络通道发送出去;
处理模块1302,用于对接收到的多媒体数据进行数据重组,得到重组多媒体数据;
第一发送模块1303,用于将所述重组多媒体数据推送给第二终端。
本发明实施例提供的装置,在主播用户的终端通过多个网络通道来发送多媒体数据后,通过对多个网络通道传输的多媒体数据进行筛选重组,能够有效保障最终输出到观众用户侧的多媒体数据的完整性,大大降低了多媒体数据在通过单一网络通道传输时因网络状态不佳致使数据发生严重丢失,进而造成的直播效果不佳的问题,换一种表达方式,由于输出到观看用户侧的多媒体数据的一致性以及连续性得到了保障,所以在观看用户侧解码异常现象大幅减少,能够有效解决屏幕出现的绿屏、花屏、马赛克等画面播放问题,以及跳帧、卡顿,不连贯等流畅度问题,直播效果较佳。
另外,主播用户的终端通过多个网络通道来发送多媒体数据,因此在前端编码时无需为了缓解网络阻塞而进行动态码率适配以降低丢包率,所以该种多媒体数据推送方式不会降低画面清晰度,视频画质较佳,进一步确保了直播效果。
在另一个实施例中,每一个网络通道发送的数据量与直播过程中产生的数据量一致;或,
所述每一个网络通道发送的数据量为直播过程中产生的数据量的一部分。
在另一个实施例中,所述多媒体数据包括多个数据块,每一个数据块中包括头部和主体,所述头部中包含所述数据块的序列号,所述主体中包括画面数据和音频数据。
在另一个实施例中,当每一个网络通道发送的数据量与直播过程中产生的数据量一致时,所述处理模块,还用于将通过不同网络通道接收到的多媒体数据分别缓存至不同的输入缓存,每一个输入缓存中缓存起始位置处存储的数据块的序列号一致;当所述输入缓存中存储的数据量位于第一目标区间时,从所述输入缓存的缓存起始位置处开始顺序进行数据读取;基于在所述输入缓存中读取到的数据块进行数据重组。
在另一个实施例中,所述处理模块,还用于从所述每一个输入缓存的缓存起始位置处开始,顺序判断相同缓存位置处存储的数据块的序列号是否一致;当所述相同缓存位置处存储的数据块的序列号一致时,将任意一个输入缓存中存储的所述数据块再存储至输出缓存。
在另一个实施例中,所述处理模块,还用于当所述相同缓存位置处存储的数据块的序列号不一致时,确定序列号最小的目标数据块,并将所述目标数据块存储至所述输出缓存。
在另一个实施例中,当每一个网络通道发送的数据量为直播过程中产生的数据量的一部分时,所述处理模块,还用于将通过不同网络通道接收到的多媒体数据分别缓存至不同的输入缓存;当所述输入缓存中存储的数据量位于第一目标区间时,从所述每一个输入缓存的缓存起始位置处开始顺序进行数据读取;按照序列号由小到大的顺序,将读取到的数据块顺序存储至输出缓存。
在另一个实施例中,所述第一发送模块,还用于当输出缓存中存储的数据量位于第二目标区间时,按照当前直播的视频帧率,将所述输出缓存中存储的数据块推送给所述第二终端。
在另一个实施例中,所述第一发送模块,还用于基于所述当前直播的视频帧率,获取发送已存储的各个数据块的时间间隔;在上一个数据块发送后,经过所述时间间隔后,再发送下一个数据块;其中,所述上一个数据块的序列号与所述下一个数据块的序列号连续。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例。
图14是本发明实施例提供的一种多媒体数据推送装置的结构示意图。参见图14,该装置包括:
获取模块1401,用于获取直播过程中产生的多媒体数据;
第二发送模块1402,用于通过至少两个网络通道向服务器发送所述多媒体数据,以使所述服务器对通过所述至少两个网络通道接收到的多媒体数据进行数据重组,并将得到的重组多媒体数据推送给第二终端。
本发明实施例提供的装置,通过多个网络通道来发送多媒体数据,之后,服务器通过对多个网络通道传输的多媒体数据进行筛选重组,能够有效保障最终输出到观众用户侧的多媒体数据的完整性,大大降低了多媒体数据在通过单一网络通道传输时因网络状态不佳致使数据发生严重丢失,进而造成的直播效果不佳的问题,换一种表达方式,由于输出到观看用户侧的多媒体数据的一致性以及连续性得到了保障,所以在观看用户侧解码异常现象大幅减少,能够有效解决屏幕出现的绿屏、花屏、马赛克等画面播放问题,以及跳帧、卡顿,不连贯等流畅度问题,直播效果较佳。
另外,通过多个网络通道来发送多媒体数据,因此在前端编码时无需为了缓解网络阻塞而进行动态码率适配以降低丢包率,所以该种多媒体数据推送方式不会降低画面清晰度,视频画质较佳,进一步确保了直播效果。
在另一个实施例中,所述第二发送模块,还用于通过每一个网络通道发送与直播过程中产生的数据量一致的多媒体数据;或,通过所述每一个网络通道发送直播过程中产生的部分多媒体数据。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例。
需要说明的是:上述实施例提供的多媒体数据发送装置在推送多媒体数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的多媒体数据发送装置与多媒体数据推送方法实施例属于同一构思,其具体实现过程详见方法实施例。
图15示出了本发明一个示例性实施例提供的一种多媒体数据推送设备1500的结构框图。该设备1500可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(MovingPicture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。设备1500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,设备1500包括有:处理器1501和存储器1502。
处理器1501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1501所执行以实现本申请中方法实施例提供的多媒体数据推送方法。
在一些实施例中,设备1500还可选包括有:***设备接口1503和至少一个***设备。处理器1501、存储器1502和***设备接口1503之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1503相连。具体地,***设备包括:射频电路1504、触摸显示屏1505、摄像头1506、音频电路1507、定位组件1508和电源1509中的至少一种。
***设备接口1503可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1501和存储器1502。在一些实施例中,处理器1501、存储器1502和***设备接口1503被集成在同一芯片或电路板上;在一些其他实施例中,处理器1501、存储器1502和***设备接口1503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1504包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1505用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1505是触摸显示屏时,显示屏1505还具有采集在显示屏1505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1501进行处理。此时,显示屏1505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1505可以为一个,设置设备1500的前面板;在另一些实施例中,显示屏1505可以为至少两个,分别设置在设备1500的不同表面或呈折叠设计;在再一些实施例中,显示屏1505可以是柔性显示屏,设置在设备1500的弯曲表面上或折叠面上。甚至,显示屏1505还可以设置成非矩形的不规则图形,也即异形屏。显示屏1505可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1506用于采集图像或视频。可选地,摄像头组件1506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1501进行处理,或者输入至射频电路1504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在设备1500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1501或射频电路1504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1507还可以包括耳机插孔。
定位组件1508用于定位设备1500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1508可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***或俄罗斯的伽利略***的定位组件。
电源1509用于为设备1500中的各个组件进行供电。电源1509可以是交流电、直流电、一次性电池或可充电电池。当电源1509包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,设备1500还包括有一个或多个传感器1510。该一个或多个传感器1510包括但不限于:加速度传感器1511、陀螺仪传感器1512、压力传感器1513、指纹传感器1514、光学传感器1515以及接近传感器1516。
加速度传感器1511可以检测以设备1500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1511可以用于检测重力加速度在三个坐标轴上的分量。处理器1501可以根据加速度传感器1511采集的重力加速度信号,控制触摸显示屏1505以横向视图或纵向视图进行用户界面的显示。加速度传感器1511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1512可以检测设备1500的机体方向及转动角度,陀螺仪传感器1512可以与加速度传感器1511协同采集用户对设备1500的3D动作。处理器1501根据陀螺仪传感器1512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1513可以设置在设备1500的侧边框和/或触摸显示屏1505的下层。当压力传感器1513设置在设备1500的侧边框时,可以检测用户对设备1500的握持信号,由处理器1501根据压力传感器1513采集的握持信号进行左右手识别或快捷操作。当压力传感器1513设置在触摸显示屏1505的下层时,由处理器1501根据用户对触摸显示屏1505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1514用于采集用户的指纹,由处理器1501根据指纹传感器1514采集到的指纹识别用户的身份,或者,由指纹传感器1514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1514可以被设置设备1500的正面、背面或侧面。当设备1500上设置有物理按键或厂商Logo时,指纹传感器1514可以与物理按键或厂商Logo集成在一起。
光学传感器1515用于采集环境光强度。在一个实施例中,处理器1501可以根据光学传感器1515采集的环境光强度,控制触摸显示屏1505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1505的显示亮度;当环境光强度较低时,调低触摸显示屏1505的显示亮度。在另一个实施方式中,处理器1501还可以根据光学传感器1515采集的环境光强度,动态调整摄像头组件1506的拍摄参数。
接近传感器1516,也称距离传感器,通常设置在设备1500的前面板。接近传感器1516用于采集用户与设备1500的正面之间的距离。在一个实施例中,当接近传感器1516检测到用户与设备1500的正面之间的距离逐渐变小时,由处理器1501控制触摸显示屏1505从亮屏状态切换为息屏状态;当接近传感器1516检测到用户与设备1500的正面之间的距离逐渐变大时,由处理器1501控制触摸显示屏1505从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图15中示出的结构并不构成对设备1500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图16是本发明实施例提供的一种多媒体数据推送设备的结构示意图,该服务器1600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)1601和一个或一个以上的存储器1602,其中,所述存储器1602中存储有至少一条指令,所述至少一条指令由所述处理器1601加载并执行以实现上述各个方法实施例提供的多媒体数据推送方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中的多媒体数据推送方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种多媒体数据推送方法,其特征在于,应用于服务器,所述方法包括:
接收第一终端通过至少两个网络通道发送的多媒体数据,所述第一终端用于将直播过程中产生的多媒体数据通过所述至少两个网络通道发送出去;
对接收到的多媒体数据进行数据重组,得到重组多媒体数据;
将所述重组多媒体数据推送给第二终端。
2.根据权利要求1所述的方法,其特征在于,每一个网络通道发送的数据量与直播过程中产生的数据量一致;或,
所述每一个网络通道发送的数据量为直播过程中产生的数据量的一部分。
3.根据权利要求1所述的方法,其特征在于,所述多媒体数据包括多个数据块,所述数据块中包括头部和主体,所述头部中包含所述数据块的序列号,所述主体中包括画面数据和音频数据。
4.根据权利要求3所述的方法,其特征在于,当每一个网络通道发送的数据量与直播过程中产生的数据量一致时,所述对接收到的多媒体数据进行数据重组,包括:
将通过不同网络通道接收到的多媒体数据分别缓存至不同的输入缓存,每一个输入缓存中缓存起始位置处存储的数据块的序列号一致;
当所述输入缓存中存储的数据量位于第一目标区间时,从所述输入缓存的缓存起始位置处开始顺序进行数据读取;
基于在所述输入缓存中读取到的数据块进行数据重组。
5.根据权利要求4所述的方法,其特征在于,所述基于在所述输入缓存中读取到的数据块进行数据重组,包括:
从所述每一个输入缓存的缓存起始位置处开始,顺序判断相同缓存位置处存储的数据块的序列号是否一致;
当所述相同缓存位置处存储的数据块的序列号一致时,将任意一个输入缓存中存储的所述数据块再存储至输出缓存。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述相同缓存位置处存储的数据块的序列号不一致时,确定序列号最小的目标数据块,并将所述目标数据块存储至所述输出缓存。
7.根据权利要求3所述的方法,其特征在于,当每一个网络通道发送的数据量为直播过程中产生的数据量的一部分时,所述对接收到的多媒体数据进行数据重组,包括:
将通过不同网络通道接收到的多媒体数据分别缓存至不同的输入缓存;
当所述输入缓存中存储的数据量位于第一目标区间时,从每一个输入缓存的缓存起始位置处开始顺序进行数据读取;
按照序列号由小到大的顺序,将读取到的数据块顺序存储至输出缓存。
8.根据权利要求4至7中任一权利要求所述的方法,其特征在于,所述将所述重组多媒体数据推送给第二终端,包括:
当输出缓存中存储的数据量位于第二目标区间时,按照当前直播的视频帧率,将所述输出缓存中存储的数据块推送给所述第二终端。
9.根据权利要求8所述的方法,其特征在于,所述按照当前直播的视频帧率,将所述输出缓存中存储的数据块推送给所述第二终端,包括:
基于所述当前直播的视频帧率,获取发送已存储的各个数据块的时间间隔;
在上一个数据块发送后,经过所述时间间隔后,再发送下一个数据块;
其中,所述上一个数据块的序列号与所述下一个数据块的序列号连续。
10.一种多媒体数据推送方法,其特征在于,应用于终端,所述方法包括:
获取直播过程中产生的多媒体数据;
通过至少两个网络通道向服务器发送所述多媒体数据,以使所述服务器对通过所述至少两个网络通道接收到的多媒体数据进行数据重组,并将得到的重组多媒体数据推送给第二终端。
11.根据权利要求10所述的方法,其特征在于,所述通过至少两个网络通道向服务器发送所述多媒体数据,包括:
通过每一个网络通道发送与直播过程中产生的数据量一致的多媒体数据;或,通过所述每一个网络通道发送直播过程中产生的部分多媒体数据。
12.一种多媒体数据推送装置,其特征在于,应用于服务器,所述装置包括:
接收模块,用于接收第一终端通过至少两个网络通道发送的多媒体数据,所述第一终端用于将直播过程中产生的多媒体数据通过所述至少两个网络通道发送出去;
处理模块,用于对接收到的多媒体数据进行数据重组,得到重组多媒体数据;
第一发送模块,用于将所述重组多媒体数据推送给第二终端。
13.一种多媒体数据推送装置,其特征在于,应用于终端,所述装置包括:
获取模块,用于获取直播过程中产生的多媒体数据;
第二发送模块,用于通过至少两个网络通道向服务器发送所述多媒体数据,以使所述服务器对通过所述至少两个网络通道接收到的多媒体数据进行数据重组,并将得到的重组多媒体数据推送给第二终端。
14.一种存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至9中任一个权利要求所述的多媒体数据推送方法,或,如权利要求10至11中任一个权利要求所述的多媒体数据推送方法。
15.一种多媒体数据推送设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如权利要求1至9中任一个权利要求所述的多媒体数据推送方法,或,如权利要求10至11中任一个权利要求所述的多媒体数据推送方法。
CN201810614487.0A 2018-06-14 2018-06-14 多媒体数据推送方法、装置、存储介质及设备 Active CN108769726B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810614487.0A CN108769726B (zh) 2018-06-14 2018-06-14 多媒体数据推送方法、装置、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810614487.0A CN108769726B (zh) 2018-06-14 2018-06-14 多媒体数据推送方法、装置、存储介质及设备

Publications (2)

Publication Number Publication Date
CN108769726A true CN108769726A (zh) 2018-11-06
CN108769726B CN108769726B (zh) 2022-05-31

Family

ID=64022643

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810614487.0A Active CN108769726B (zh) 2018-06-14 2018-06-14 多媒体数据推送方法、装置、存储介质及设备

Country Status (1)

Country Link
CN (1) CN108769726B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110087109A (zh) * 2019-04-19 2019-08-02 中国科学院信息工程研究所 视频码率自适应方法及装置
CN110198311A (zh) * 2019-05-21 2019-09-03 腾讯科技(深圳)有限公司 一种数据流处理方法、装置、设备及介质
CN110247955A (zh) * 2019-05-21 2019-09-17 菜鸟智能物流控股有限公司 一种无人车的通信方法和无人车
CN110912669A (zh) * 2019-11-15 2020-03-24 珠海市新德汇信息技术有限公司 一种基于文件流和数据流的双通道数据传输方法
CN111885555A (zh) * 2020-06-08 2020-11-03 安凯(广州)微电子技术有限公司 一种基于监听方案的tws耳机及其实现方法
CN113992639A (zh) * 2021-09-29 2022-01-28 阿里巴巴达摩院(杭州)科技有限公司 音视频处理方法及设备
CN114173144A (zh) * 2021-12-02 2022-03-11 北京优祥智恒科技有限公司 一种直播设备及其控制方法和直播背包
WO2023217188A1 (zh) * 2022-05-11 2023-11-16 北京字节跳动网络技术有限公司 一种直播数据传输方法、装置、***、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009581A (zh) * 2006-01-24 2007-08-01 北京畅通达通信技术有限公司 基于传输质量分析的线路无损伤自动切换方法与装置
US20150020123A1 (en) * 2008-12-23 2015-01-15 Cisco Technology, Inc. Bandwidth Flexibility Through Multiple Frequency Channel Data Distribution
CN105392020A (zh) * 2015-11-19 2016-03-09 广州华多网络科技有限公司 一种互联网视频直播方法,及***
CN105472477A (zh) * 2015-12-08 2016-04-06 广州华多网络科技有限公司 一种数据传输方法、装置及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009581A (zh) * 2006-01-24 2007-08-01 北京畅通达通信技术有限公司 基于传输质量分析的线路无损伤自动切换方法与装置
US20150020123A1 (en) * 2008-12-23 2015-01-15 Cisco Technology, Inc. Bandwidth Flexibility Through Multiple Frequency Channel Data Distribution
CN105392020A (zh) * 2015-11-19 2016-03-09 广州华多网络科技有限公司 一种互联网视频直播方法,及***
CN105472477A (zh) * 2015-12-08 2016-04-06 广州华多网络科技有限公司 一种数据传输方法、装置及设备

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110087109A (zh) * 2019-04-19 2019-08-02 中国科学院信息工程研究所 视频码率自适应方法及装置
CN110087109B (zh) * 2019-04-19 2020-09-29 中国科学院信息工程研究所 视频码率自适应方法、装置、电子设备及存储介质
CN110198311A (zh) * 2019-05-21 2019-09-03 腾讯科技(深圳)有限公司 一种数据流处理方法、装置、设备及介质
CN110247955A (zh) * 2019-05-21 2019-09-17 菜鸟智能物流控股有限公司 一种无人车的通信方法和无人车
CN110198311B (zh) * 2019-05-21 2022-03-29 腾讯科技(深圳)有限公司 一种数据流处理方法、装置、设备及介质
CN110912669A (zh) * 2019-11-15 2020-03-24 珠海市新德汇信息技术有限公司 一种基于文件流和数据流的双通道数据传输方法
CN111885555A (zh) * 2020-06-08 2020-11-03 安凯(广州)微电子技术有限公司 一种基于监听方案的tws耳机及其实现方法
CN111885555B (zh) * 2020-06-08 2022-05-20 广州安凯微电子股份有限公司 一种基于监听方案的tws耳机及其实现方法
CN113992639A (zh) * 2021-09-29 2022-01-28 阿里巴巴达摩院(杭州)科技有限公司 音视频处理方法及设备
CN113992639B (zh) * 2021-09-29 2024-04-05 杭州阿里云飞天信息技术有限公司 音视频处理方法及设备
CN114173144A (zh) * 2021-12-02 2022-03-11 北京优祥智恒科技有限公司 一种直播设备及其控制方法和直播背包
WO2023217188A1 (zh) * 2022-05-11 2023-11-16 北京字节跳动网络技术有限公司 一种直播数据传输方法、装置、***、设备和介质

Also Published As

Publication number Publication date
CN108769726B (zh) 2022-05-31

Similar Documents

Publication Publication Date Title
CN108769726A (zh) 多媒体数据推送方法、装置、存储介质及设备
CN108259945B (zh) 处理播放多媒体数据的播放请求的方法和装置
CN110213636B (zh) 在线视频的视频帧生成方法、装置、存储介质及设备
CN108833963B (zh) 显示界面画面的方法、计算机设备、可读存储介质和***
CN108966008B (zh) 直播视频回放方法及装置
CN108495142A (zh) 视频编码方法及装置
CN108900859A (zh) 直播方法及***
CN110213616A (zh) 视频提供方法、获取方法、装置及设备
CN109600678A (zh) 信息展示方法、装置及***、服务器、终端、存储介质
CN108769826A (zh) 直播媒体流获取方法、装置、终端及存储介质
CN108600778B (zh) 媒体流发送方法、装置、***及服务器、终端、存储介质
CN107888968A (zh) 直播视频的播放方法、装置及计算机存储介质
CN110297917A (zh) 直播方法、装置、电子设备及存储介质
CN112995759A (zh) 互动业务处理方法、***、装置、设备及存储介质
CN109413453A (zh) 视频播放方法、装置、终端及存储介质
CN111586431B (zh) 进行直播处理的方法、装置、设备及存储介质
WO2021143386A1 (zh) 资源传输方法及终端
CN110213608A (zh) 显示虚拟礼物的方法、装置、设备及可读存储介质
CN109246123A (zh) 媒体流获取方法及装置
KR102491006B1 (ko) 데이터 송신 방법 및 전자 기기
CN109951398A (zh) 数据发送方法、装置及计算机设备
CN110121084A (zh) 切换端口的方法、装置和***
CN109120933A (zh) 动态调整码率的方法、装置、设备及存储介质
CN108965711B (zh) 视频处理方法及装置
CN108881931A (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