CN111404882B - 媒体流处理方法及装置 - Google Patents
媒体流处理方法及装置 Download PDFInfo
- Publication number
- CN111404882B CN111404882B CN202010136444.3A CN202010136444A CN111404882B CN 111404882 B CN111404882 B CN 111404882B CN 202010136444 A CN202010136444 A CN 202010136444A CN 111404882 B CN111404882 B CN 111404882B
- Authority
- CN
- China
- Prior art keywords
- media stream
- path
- main path
- data received
- stream data
- 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
- 238000003672 processing method Methods 0.000 title abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 57
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 28
- 239000000872 buffer Substances 0.000 claims description 26
- 230000003139 buffering effect Effects 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 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/80—Responding to QoS
-
- 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/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
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
技术领域
本申请涉及互联网技术领域,更具体地,涉及一种媒体流处理方法及装置。
背景技术
目前,直播技术的应用越来越广泛。在一些直播场景中,对直播媒体流的流畅程度要求较高。为了避免直播卡顿,通常会设置至少两路媒体流,以在其中一路媒体流卡顿时,由用户选择切换至另一路媒体流提供服务。但是,进行切换操作影响直播流传输的流畅性,造成信号中断,即使在成功切换的情况下,也容易出现直播信号跳变,极大地影响用户的直播体验。
发明内容
鉴于上述问题,本申请提出了一种流媒体处理方法及装置,用以改善上述问题。
第一方面,本申请实施例提供了一种流媒体处理方法,包括:分别从主路径和备用路径,接收并缓存来自同一信号源的媒体流数据;在根据从所述主路径接收的媒体流数据生成输出媒体流的过程中,检测所述主路径是否出现卡顿;若所述主路径出现卡顿,则根据从所述主路径接收的媒体流数据中当前信号帧的时间戳,从所述备用路径对应的缓存数据中确定数据生成起点,并从所述数据生成起点起,将所述根据从所述主路径接收的媒体流数据生成输出媒体流切换至根据从所述备用路径接收的媒体流数据生成输出媒体流。
第二方面,本申请实施例提供了一种媒体流处理装置,包括:接收模块,用于分别从主路径和备用路径,接收并缓存来自同一信号源的媒体流数据;检测模块,用于在根据从所述主路径接收的媒体流数据生成输出媒体流的过程中,检测所述主路径是否出现卡顿;处理模块,用于当所述主路径出现卡顿时,根据从所述主路径接收的媒体流数据中当前信号帧的时间戳,从所述备用路径对应的缓存数据中确定数据生成起点,并从所述数据生成起点起,将所述根据从所述主路径接收的媒体流数据生成输出媒体流切换至根据从所述备用路径接收的媒体流数据生成输出媒体流。
第三方面,本申请实施例提供了一种媒体流处理方法,包括:信号源分别通过主路径和备用路径向目标服务器推送媒体流数据,其中,所述主路径和所述备用路径上依次设置有推流终端和流媒体服务器;所述目标服务器分别从所述主路径和所述备用路径接收媒体流数据,在根据从所述主路径接收的媒体流数据生成输出媒体流的过程中,检测所述主路径是否出现卡顿,若所述主路径出现卡顿,则根据从所述主路径接收的媒体流数据中当前信号帧的时间戳,从所述备用路径对应的缓存数据中确定数据生成起点,并从所述数据生成起点起,将所述根据从所述主路径接收的媒体流数据生成输出媒体流切换至根据从所述备用路径接收的媒体流数据生成输出媒体流;所述目标服务器将所述输出媒体流推送至分发网络;直播客户端从所述分发网络拉取所述输出媒体流。
第四方面,本申请实施例提供了一种服务器,包括:一个或多个处理器;存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序代码,所述程序代码可被处理器调用执行上述的方法。
相对于现有技术,本申请提供的方案,分别从主路径和备用路径接收并缓存来自同一信号源的媒体流数据,在根据从主路径接收的媒体流数据生成输出媒体流的过程中检测主路径是否出现卡顿,若主路径出现卡顿,则根据从主路径接收的媒体流数据中当前信号帧的时间戳,从备用路径对应的缓存数据中确定数据生成起点,并从数据生成起点起,将根据从主路径接收的媒体流数据生成输出媒体流切换至根据从备用路径接收的媒体流数据生成输出媒体流。通过确定合适的数据生成起点,并从该数据生成起点起执行切换操作,可以减小输出媒体流在切换操作前后的信号帧之间的差异,从而可以缓解媒体流切换所导致的信号帧跳变问题。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了相关技术中的一种直播系统的架构示意图。
图2示出了相关技术中的另一种直播系统的架构示意图。
图3示出了本申请实施例提供的一种直播系统的架构示意图。
图4示出了根据本申请一个实施例的媒体流处理方法流程图。
图5示出了根据本申请另一个实施例的媒体流处理方法流程图。
图6示出了图5所示实施例中媒体流处理方法的另一流程图。
图7示出了本申请实施例提供的一种电子设备的内部架构示意图。
图8示出了图5所示步骤S220的子步骤示意图。
图9示出了根据本申请又一个实施例的媒体流处理方法流程图。
图10示出了本申请实施例提供的一种媒体流处理装置的框图。
图11示出了本申请实施例的用于执行本申请实施例的媒体流处理方法的电子设备的框图。
图12是本申请实施例的用于保存或携带实现根据本申请实施例的媒体流处理方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
请参照图1,图1示出了一种直播系统的架构示意图。其中,推流终端901-a用于提供推流服务,可以从信号提供设备900获得用于直播的媒体数据(如,音频数据、视频数据等)。信号提供设备例如可以是音频采集设备、视频采集设备等。推流终端901-a对获得的媒体数据进行预处理,得到媒体流,并将媒体流推送给流媒体服务器902-a,再由流媒体服务器902-a将接收的媒体流推送给分发网络903-a。从推流终端901-a到分发网络903-a的过程可以称为推流。各直播客户端904可以从分发网络903-a中的分发节点上拉取媒体流并播放,拉取媒体流的过程可以称为拉流。
在推流的过程中,从推流终端901-a到流媒体服务器902-a之间需要通过网络进行通信,该网络可以是有线网络、无线网络或两者的组合。实际应用中,该网络中的任一节点出错,都可能导致断流、卡顿等问题。然而,一些直播场景中,对于直播的媒体流的流畅度要求非常高。例如,在一些企业的商业直播(比如,各互联网公司的年度盛典直播)中,直播过程中频繁出现的断流、卡顿等问题,是难以接受的。
为了减少前述断流、卡顿等问题的出现,相关技术中,通常会在推流过程中设置多条推送路径。例如图2所示,其中示出了另一种直播系统的架构示意图。对于同一信号提供设备,可以设置至少两个推流终端,比如推流终端901-a和901-b。不同的推流终端可以和不同的流媒体服务器通信,不同的流媒体服务器用于将获得的媒体流推送至不同的分发网络。比如,推流终端901-a与流媒体服务器902-a通信,流媒体服务器902-a将媒体流推送至分发网络903-a;推流终端901-b与流媒体服务器902-b通信,流媒体服务器902-b将媒体流推送至分发网络903-b。
对应地,一些情况下,当用户发现直播卡顿时,可以手动触发媒体流切换。比如,当前某一直播客户端是从分发网络903-a拉取的媒体流,如果发现卡顿,则可以手动切换至从分发网络903-b拉取媒体流,由于不同分发网络对应的推流线路不同,因而可以实现推流线路的切换。另一些情况下,可以在直播客户端中设置检测机制,当检测到当前直播媒体流卡顿时,则可以自动触发媒体流切换,切换过程与前述的手动切换类似。
经研究发现,不同推流线路由于传输速度、传输质量等的差异,可能出现传输的媒体流不同步的情况,从而导致进行媒体流切换前后出现直播信号跳变,用户体验非常差,可能降低用户粘性。
基于此,发明人提出一种媒体流处理方法、装置及电子设备,可以缓解媒体流切换前后直播信号跳变的问题。下面对该内容进行详细描述。
请参照图3,图3为本申请实施例提供的一种直播系统的架构示意图。直播系统中,推流终端401、402和403分别与信号提供设备500通信连接,以从信号提供设备500获得媒体数据。每个推流终端连接有对应的流媒体服务器,例如,推流终端401与流媒体服务器301通信连接,推流终端402与流媒体服务器302通信连接,推流终端403与流媒体服务器303通信连接。每个流媒体服务器与电子设备100通信连接,分发网络601和602分别与服务器100通信连接,每个分发网络均可以与直播客户端200通信连接。
其中,信号提供设备500可以是音频采集设备、视频采集设备等中的至少一者,对应地,媒体数据可以是音频数据、视频数据等中的至少一者。本申请实施例中,信号提供设备500可以作为提供媒体数据的信号源,每个推流终端可以从信号提供设备500获得媒体数据,并进行预处理,得到媒体流,然后将媒体流推送给流媒体服务器,再由流媒体服务器推送给服务器100。服务器100可以按照下文描述的媒体流处理方法对接收的媒体流进行处理,并输出一路媒体流,该路媒体流将被推送至各分发网络,以供直播客户端拉流。
请参阅图4,图4为本申请一实施例提供的一种媒体流处理方法的流程示意图,可以应用于图3所示的服务器100。下面对该方法包括的步骤进行阐述。
步骤S110,从主路径接收并缓存来自信号源的媒体流数据。
步骤S120,从备用路径接收并缓存来自所述信号源的媒体流数据。
本实施例中,步骤S110和步骤S120可以并行执行。
详细地,信号源可以是图1所示的信号提供设备500,服务器100可以分别从至少两个路径接收并缓存来自信号提供设备500的媒体流数据。由于至少两个路径上传输的媒体流数据均由信号提供设备500提供,因而,服务器100从至少两个路径接收的媒体流数据可以互为备份。
每个路径上可以依次设置有如上所述的推流终端和流媒体服务器。一种示例性的方式中,可以如图3所示,路径A1上依次设置有推流终端401和流媒体服务器301,路径A2上依次设置有推流终端402和流媒体服务器302,路径A3上设置有推流终端403和流媒体服务器303。
实施过程中,服务器100可以从至少两个路径中确定主路径源和备用路径。可以理解,除非另有说明,本申请各实施例中所描述的主路径和备用路径,均是指当前确定的主路径和当前确定的备用路径。示例性地,假如上述的路径A2当前被确定为主路径,路径A3当前被确定为备用路径,那么,从路径A2接收的媒体流数据即为上述从主路径接收的媒体流数据,从路径A3接收的媒体流数据即为上述从备用路径接收的媒体流数据。
本实施例中,媒体流数据可以是音频流数据、视频流数据等中的至少一者。每个路径上传输的媒体流数据通常可以包括来自信号源的多个信号帧。服务器100针对每个路径缓存的媒体流数据通常可以包括在当前时刻之前一定时长(例如,1-5秒,比如3秒)内从该路径接收到的信号帧。以媒体流数据是视频流数据为例,针对每个路径,服务器100可以缓存当前时刻之前1秒内从该路径接收到的视频帧。
步骤S130,在根据从所述主路径接收的媒体流数据生成输出媒体流的过程中,检测所述主路径是否出现卡顿。
由于服务器100会分别对从各个路径接收的媒体流数据进行缓存,服务器100中存在与各个路径分别对应的缓存数据。以上述路径A2被确定为主路径、路径A3被确定为备用路径为例,服务器100当前缓存的从路径A2接收的媒体流数据即为路径A2对应的缓存数据,服务器100当前缓存的从路径A3接收的媒体流数据即为路径A3对应的缓存数据。
在确定主路径之后,电子设备100可以从主路径对应的缓存数据中获取从主路径接收的媒体流数据的信号帧,并基于获取的信号帧生成输出媒体流的信号帧,并将输出媒体流的信号帧推送给分发网络。
服务器100可以并行地执行根据从主路径接收的媒体流数据生成输出媒体流的操作,以及检测主路径是否出现卡顿的操作。详细地,在基于从主路径接收的媒体流数据中每一信号帧生成输出媒体流的信号帧之前,服务器100可以检测主路径是否出现卡顿,以便在主路径出现卡顿时,切换为根据从备用路径接收的媒体流数据生成输出媒体流,避免输出媒体流卡顿。
步骤S140,若所述主路径出现卡顿,则根据从所述主路径接收的媒体流数据中当前信号帧的时间戳,从所述备用路径对应的缓存数据中确定数据生成起点,并从所述数据生成起点起,将所述根据从所述主路径接收的媒体流数据生成输出媒体流切换至根据从所述备用路径接收的媒体流数据生成输出媒体流。
由于主路径和备用路径是不同的通信链路,具有不同的传输速度,因而服务器100分别从主路径和备用路径接收到的媒体流数据可能出现不同步的情况。如果在主路径出现卡顿时,不做任何处理,直接执行切换操作以根据从备用路径接收的媒体流数据生成输出媒体流,可能导致输出媒体流在切换操作前后的信号帧差异较大,即出现信号帧跳变。例如,当媒体流数据是视频流数据时,可能在媒体流切换前后,出现视频画面跳变的问题。
基于上文描述,服务器100在根据从主路径接收的媒体流数据生成输出媒体流时,是按信号帧进行处理的。因此,本实施例中,在确定主路径出现卡顿时,服务器100可以确定从主路径接收的媒体流数据中、即将用于生成输出媒体流的信号帧,该信号帧即为从主路径接收的媒体流数据中的当前信号帧。
信号源提供的媒体流数据中的每一信号帧通常设置有时间戳,且由于各路径上传输的媒体流数据实际均来自同一信号源,因而,服务器100分别从不同路径接收的媒体流数据中,对应相同的信号帧具有基本一致的时间戳。因此,在确定从主路径接收的媒体流数据中的当前信号帧后,可以获取所述当前信号帧的时间戳,并基于该时间戳从备用路径对应的缓存数据中查找匹配的信号帧作为数据生成起点。
然后,再从数据生成起点开始,执行切换操作,以将根据从主路径接收的媒体流数据生成输出媒体流切换为根据从备用路径接收的媒体流数据生成输出媒体流。即,停止根据从主路径接收的媒体流数据生成输出媒体流,从备用路径对应的缓存数据中获取信号帧,基于获取的信号帧生成输出媒体流的信号帧,并将生成的信号帧推送给分发网络。
通过图4所示流程,从备用路径对应的缓存数据中确定的数据生成起点,是与从主路径接收的媒体流数据中当前信号帧匹配的信号帧,因而,在主路径卡顿时基于数据生成起点执行媒体流切换操作,相较于在主路径卡顿时直接执行媒体流切换操作,可以减小输出媒体流在媒体流切换操作前后的信号帧之间的差异,从而缓解因来自主路径和备用路径的媒体流数据不同步而导致的信号帧跳变的程度。可以理解,在一些对直播信号流畅度要求相对较低的场景中,通过本实施例的媒体流处理方法降低信号帧跳变程度后,已经可以满足用户需求。
进一步地,本实施例中,在一些对直播信号流畅度要求相对较高的场景中,主路径上传输的媒体流数据可以滞后于备用路径上传输的媒体流数据,换句话说,主路径的数据传输速度可以低于备用路径的数据传输速度。如此,可以实现输出媒体流的信号帧在媒体流切换操作前后的无缝衔接,从而有效改善用户体验,提升用户粘性。
请参阅图5,图5为本申请另一实施例提供的一种媒体流处理方法的流程示意图,该方法可以应用于图3所示的服务器100。下面对该方法包括的步骤进行阐述。
步骤S210,分别从主路径和备用路径,接收并缓存来自同一信号源的媒体流数据。
步骤S210的详细实现过程与前一实施例中的步骤S110-步骤S120类似,在此不再详述。
进一步地,实际应用中,主路径和备用路径各自传输的媒体流数据的同步程度存在多种情况:
一、主路径传输的媒体流数据滞后于备用路径传输的媒体流数据,将根据从主路径接收的媒体流数据生成输出媒体流切换至根据从备用路径接收的媒体流数据生成输出媒体流之后,将会出现输出媒体流的信号帧往前跳变的情况,这种情况在直播客户端200表现为“快进”。
二、主路径传输的媒体流数据与备用路径传输的媒体流数据同步,那么,将根据从主路径接收的媒体流数据生成输出媒体流切换至根据从备用路径接收的媒体流数据生成输出媒体流之后,可以实现输出媒体流的信号帧的无缝衔接。
三、备用路径传输的媒体流数据滞后于主路径传输的媒体流数据,将根据从主路径传输的媒体流数据生成输出媒体流切换至根据从备用路径接收的媒体流数据生成输出媒体流之后,将会出现输出媒体流的信号帧往回跳变的情况,这种情况在直播客户端200表现为“快退”。
基于上述几种情况,本实施例中,主路径传输的媒体流数据可以滞后于备用路径传输的媒体流数据,以便在后续的步骤S230中,当主路径卡顿时,服务器100从备用路径对应的缓存数据中确定的、作为数据生成起点的信号帧与主信号源的媒体流数据中当前信号帧将更为接近。
进一步地,服务器100可以缓存在当前时刻之前第一时长内从主路径接收的媒体流数据,缓存在当前时刻之前第二时长内从备用路径接收的媒体流数据,其中,第二时长大于第一时长。比如,当第一时长为1秒时,第二时长可以为3秒或5秒。如此,在后续的步骤S230中,当主路径卡顿时,服务器100极有可能从备用路径对应的缓存数据中查找到与从主路径接收的媒体流数据中当前信号帧基本一致的信号帧,并将该信号帧作为数据生成起点,从而可以基本实现输出媒体流在媒体流切换操作前后的信号帧的无缝衔接。
可选地,本实施例中,服务器100可以从多个路径中确定主路径和备用路径。一种可能的实施方式中,服务器100可以通过图6所示流程确定主路径,详细描述如下。
步骤S610,分别从多个路径接收媒体流数据,并分别缓存在当前时刻之前第一时长内从所述多个路径接收的媒体流数据。
本实施例中,服务器100可以包括与多个推流终端分别对应的多个接收单元,所述多个接收单元分别用于接收多个推流终端所在的路径传输的媒体流数据。
请参照图7,其中示例性地示出了服务器100的一种内部架构示意图。服务器100包括接收单元101、102及103。其中,接收单元101与推流终端401通信连接,用于从路径A1接收来自信号提供设备500的媒体流数据。接收单元102与推流终端402通信连接,用于从路径A2接收来自信号提供设备500的媒体流数据。接收单元103与推流终端403通信连接,用于从路径A3接收来自信号提供设备500的媒体流数据。
针对每一时刻,服务器100分别对该时刻之前第一时长内、从各路径接收的媒体流数据进行缓存,从而可以得到与各路径分别对应的缓存数据。其中。第一时长可以根据需要进行设置,例如可以为1-5秒中的任意值,比如可以为1秒或2秒。如此,一个路径对应的缓存数据中,包含的是当前时刻之前第一时长内、服务器100从该路径接收的所有信号帧。
步骤S620,分别确定每个路径对应的缓存数据中的信号帧数量。
在服务器100中,一个路径对应的缓存数据包含的信号帧数量与该路径的传输速度有关,因而,可以确定所述多个路径各自对应的缓存数据中的信号帧数量,如此,可以得到与所述多个路径分别对应的多个信号帧数量。通过比较所述多个信号帧数量,可以确定所述多个路径的相对卡顿程度。
以图3所示场景为例,假如服务器100中路径A1对应的缓存数据包含的信号帧数量为30,路径A2对应的缓存数据包含的信号帧数量为24,路径A3对应的缓存数据包含的信号帧数量为10,则可以确定路径A3最卡顿,路径A2次之,路径A1最流畅。
步骤S630,从所述多个路径中,确定除缓存数据中信号帧数量最小的路径和缓存数据中信号帧数量最大的路径之外的目标路径。
步骤S640,从所述目标路径中确定一个目标路径作为主路径。
本实施例中,为了避免输出媒体流过于卡顿,以及为了使得主路径传输的媒体流数据有可能滞后于备用路径传输的媒体流数据,可以从多个路径中排除掉最卡顿的路径(即,对应的缓存数据中信号帧数量最小的路径)和最不卡顿的信号源(即,对应的缓存数据中信号帧数量最大的路径),剩下的路径即为为目标路径,再从目标路径中选取任意一个作为主路径。如此,无论主路径是哪一个目标路径,总能找到一个所传输的媒体流数据不滞后于主路径传输的媒体流数据的路径,作为备用路径。
对应地,在此情况下,备用路径则可以通过如下流程确定:
从所述多个路径中,将缓存数据中信号帧数量大于当前主路径对应的缓存数据中信号帧数量的路径,确定为备用路径。
为了确保主路径传输的媒体流数据滞后于备用路径传输的媒体流数据,且主路径不过于卡顿,另一种可能的方式中,可以从多个路径中将缓存数据中信号帧数量处于第一数量范围内的路径确定为主路径,将缓存数据中信号帧数量处于第二数量范围内的路径确定为备用路径。其中,第一数量范围内的数值均小于第二数量范围内的数值。
步骤S220,在根据从所述主路径接收的媒体流数据生成输出媒体流的过程中,检测所述主路径是否出现卡顿。
其中,根据从所述主路径接收的媒体流数据生成输出媒体流的步骤,可以通过图8所示流程实现:
步骤S221,依次从主路径对应的缓存数据中获取信号帧。
本实施例中,服务器100缓存了当前时刻之前第一时长内、从主路径接收的信号帧。实施时,服务器100可以按照时间戳的先后顺序从主路径对应的缓存数据中依次获取每个信号帧。
步骤S222,创建画布(canvas)元素,将当前获取的信号帧绘制于所述画布元素,并根据当前时间更改所述画布元素中的信号帧的时间戳,得到所述输出媒体流的当前信号帧。
其中,当前时间是指服务器100的当前系统时间。示例性地,在将当前获取的一个信号帧绘制于画布元素之和,服务器100可以将服务器100首次启动的时间距离当前系统时间的毫秒数,设置为绘制于画布元素中的信号帧的时间戳。绘制于画布元素的信号帧形成了一个新的信号帧,所述新的信号帧即为输出媒体流的当前信号帧。服务器100可以将输出媒体流的当前信号帧输送至各分发网络。如此,虽然不同时间段内可能是基于不同路径传输的媒体流数据生成输出媒体流,但是,对于分发网络、直播客户端而言,获得的始终是一路输出媒体流,且该输出媒体流基本是稳定的,换言之,分发网络、直播客户端将不会感知到媒体流切换操作。
请再次参照图7,电子设备100中,还可以包括信号再生单元104、信号编码单元105、RTMP(Real Time Messaging Protocol,实时消息传输协议)推流单元106和RTMP推流单元107。
接收单元101、102和103分别与信号再生单元104电连接,并可以将接收的媒体流数据发送给信号再生单元104处理。信号再生单元104可以确定主路径和备用路径,并执行上述的步骤S221、步骤S222,再将得到的所述输出媒体流的当前信号帧送入信号编码单元105,以按照RTMP对所述当前信号帧编码,以形成与每个分发网络对应的RTMP媒体流。例如,RTMP推流单元106可以与分发网络501通信连接,以将RTMP媒体流推送给分发网络501;RTMP推流单元107可以与分发网络502通信连接,以将RTMP媒体流推送给分发网络502。
可以理解,图7所示的各个单元可以通过软件、硬件或其结合实现,本实施例对此没有限制。
可选地,服务器100可以在每次从当前的主路径所对应的缓存数据中获取信号帧之前,检测当前的主路径是否出现卡顿。本实施例中,服务器100可以通过如下方式检测主路径是否出现卡顿:
检测主路径对应的缓存数据中的信号帧数量是否小于目标数量;或者,
检测主路径对应的缓存数据中的信号帧数量是否小于其他所有信号源对应的缓存数据中的信号帧数量。
其中,目标数量可以灵活设定。例如,可以根据对输出媒体流的帧率的要求设置。以媒体流数据是视频流数据为例,如果需要1秒内至少有24帧视频画面,则可以将目标数量设置24。若主路径对应的缓存数据中的信号帧数量小于目标数量,表示主路径传输的媒体流数据的帧率当前无法满足需求,可以执行媒体流切换操作。
对应地,若主路径对应的缓存数据中的信号帧数量,在多个路径各自对应的缓存数据包含的信号帧数量中最小,表示主路径在多个路径中是最卡顿的,则可以执行媒体流切换操作。
步骤S230,若所述主路径出现卡顿,则从所述备用路径对应的缓存数据中,确定时间戳与从所述主路径接收的媒体流数据中当前信号帧的时间戳最接近的目标信号帧,将所述目标信号帧确定为数据生成起点。
实施过程中,服务器100可以获取从主路径接收的媒体流数据中当前信号帧的时间戳作为第一时间戳,获取备用路径对应的缓存数据中每个信号帧的时间戳作为第二时间戳,将获取的第二时间戳与第一时间戳比对,查找出与第一时间戳最接近的第二时间戳作为目标第二时间戳。备用路径对应的缓存数据中、具有所述目标第二时间戳的信号帧即为所述目标信号帧。
本实施例中,可以将目标信号帧作为数据生成起点。在确定数据生成起点后,服务器100可以执行媒体流切换操作,即,可以将根据从主路径接收的媒体流数据生成输出媒体流切换至根据从备用路径接收的媒体流数据生成输出媒体流。详细地,本实施例中,所述媒体流切换操作可以通过步骤S240-步骤S250实现。
步骤S240,停止从所述主路径对应的缓存数据中获取信号帧,从作为所述数据生成起点的目标信号帧开始,依次从所述备用路径对应的缓存数据中获取信号帧。
在确定数据生成起点后,服务器100可以不再从当前的主路径所对应的缓存数据中获取用于生成输出媒体流的信号帧,而是从当前的备用路径所对应的缓存数据中确定作为数据生成起点的目标信号帧,并从目标信号帧开始,依次获取当前的备用路径所对应的缓存数据中的信号帧,以用于生成输出媒体流。
步骤S250,创建画布元素,将当前获取的信号帧绘制于所述画布元素中,并根据当前时间更改所述画布元素中的信号帧的时间戳,得到所述输出媒体流的信号帧。
本实施例中,步骤S250的详细实现过程与上述的步骤S222的详细实现过程类似,在此不再赘述。
步骤S260,将所述备用路径确定为新的主路径。
在执行媒体流切换操作之后,服务器100还可以执行步骤S260,以将当前的备用路径标记为新的主路径。例如,在执行媒体流切换操作前,假如图3所示的路径A2为主路径,路径A3为备用路径,则执行媒体流切换操作后,路径A3将成为新的主路径。在此示例中,由于已经不存在所传输媒体流数据滞后于当前主路径A3所传输媒体流数据的其他路径,可以在一段时间后重新确定主路径和备用路径,以使主路径传输的媒体流速度滞后于备用路径传输的媒体流数据。
通过本实施例提供的媒体流处理方法,可以尽可能地减小媒体流切换操作前后输出媒体流的信号帧差异,从而缓解输出媒体流在媒体流切换操作后出现的信号帧跳变问题,可以改善用户体验,有效提升用户粘性。
请参照图9,其中示出了本申请又一实施例提供的一种媒体流处理方法的流程示意图,该方法可以应用于图3所示的直播系统10。下面对该方法包括的步骤进行阐述。
步骤S910,信号源分别通过主路径和备用路径向目标服务器推送媒体流数据,其中,所述主路径和所述备用路径上均依次设置有推流终端和流媒体服务器。
本实施例中,信号源可以是信号提供设备500,目标服务器可以是服务器100,主路径和备用路径例如可以从图3所示的路径A1、A2、A3中确定。
确定主路径和备用路径的详细过程、主路径和备用路径上的推流终端和流媒体服务器传输媒体流数据的详细过程及步骤S910的详细实现过程,与前述实施例类似,可以参照前述实施例中的相关描述,在此不再赘述。
步骤S920,所述目标服务器分别从所述主路径和所述备用路径接收媒体流数据,在根据从所述主路径接收的媒体流数据生成输出媒体流的过程中,检测所述主路径是否出现卡顿,若所述主路径出现卡顿,则根据从所述主路径接收的媒体流数据中当前信号帧的时间戳,从所述备用路径对应的缓存数据中确定数据生成起点,并从所述数据生成起点起,将所述根据从所述主路径接收的媒体流数据生成输出媒体流切换至根据从所述备用路径接收的媒体流数据生成输出媒体流。
本实施例中,步骤S920的详细实现过程可以参照前述实施例的详细描述,在此不再赘述。
步骤S930,所述目标服务器将所述输出媒体流推送至分发网络。
根据前述实施例,目标服务器对接收的媒体流数据是按信号帧进行处理的,对应地,每生成输出媒体流的一个信号帧,则可以对该信号帧进行编码,并将编码数据推送给各分发网络。例如图3所示,服务器100可以分别将编码数据推送给分发网络601和602。
步骤S940,直播客户端从所述分发网络拉取所述输出媒体流。
实施过程中,各直播客户端200可以从任一分发网络拉取直播信号,从而获得所述输出媒体流。
通过上述设计,直播系统10可以减小输出媒体流在媒体流切换操作前后的信号帧的差异,有效改善用户体验,提升用户粘性。
请参阅图10,其中示出了本申请实施例提供的一种媒体流处理装置的结构框图。该装置130可以包括:接收模块131、检测模块132和处理模块133。
其中,接收模块131用于分别从主路径和备用路径,接收并缓存来自同一信号源的媒体流数据。示例性地,接收模块131可以包括分别与主路径和备用路径对应的第一接收子模块和第二接收子模块,其中,第一接收子模块和第二接收子模块可以用于充当上述实施例中描述的、分别与主路径和备用路径对应的接收单元。
可选地,本实施例中,第一接收子模块具体可以用于从主路径接收媒体流数据,并缓存在当前时刻之前第一时长内从主路径接收的媒体流数据。第二接收子模块具体可以用于从备用路径接收媒体流数据,并缓存在当前时刻之前第二时长内从备用路径接收的媒体流数据,第二时长大于第一时长。
检测模块132用于在根据从所述主路径接收的媒体流数据生成输出媒体流的过程中,检测所述主路径是否出现卡顿。
可选地,检测模块132检测所述主路径是否出现卡顿的方式可以为:当所述主路径对应的缓存数据中的信号帧数量小于目标数量时,或者,当所述主路径对应的缓存数据中的信号帧数量小于其他所有路径对应的缓存数据中的信号帧数量时,确定所述主路径出现卡顿。
处理模块133用于当所述主路径出现卡顿时,根据从所述主路径接收的媒体流数据中当前信号帧的时间戳,从所述备用路径对应的缓存数据中确定数据生成起点,并从所述数据生成起点起,将所述根据从所述主路径接收的媒体流数据生成输出媒体流切换至根据从所述备用路径接收的媒体流数据生成输出媒体流。
处理模块133可以在确定主路径且检测出当前的主路径没有卡顿时,根据从主路径接收的媒体流数据生成输出媒体流。其中,处理模块133根据从主路径接收的媒体流数据生成输出媒体流的方式可以为:依次从所述主路径对应的缓存数据中获取信号帧;创建画布元素,将当前获取的信号帧绘制于所述画布元素,并根据当前时间更改所述画布元素中的信号帧的时间戳,得到所述输出媒体流的当前信号帧。
可选地,处理模块133根据从所述主路径接收的媒体流数据中当前信号帧的时间戳,从所述备用路径对应的缓存数据中确定数据生成起点的方式可以为:从备用路径对应的缓存数据中,确定时间戳与从主路径接收的媒体流数据中当前信号帧的时间戳最接近的目标信号帧;将目标信号帧确定为数据生成起点。
可选地,处理模块133从该数据生成起点起,将所述根据从所述主路径接收的媒体流数据生成输出媒体流切换至根据从所述备用路径接收的媒体流数据生成输出媒体流的方式可以为:停止从主路径对应的缓存数据中获取信号帧;从目标信号帧起,依次从备用路径对应的缓存数据中获取信号帧;创建画布元素,将当前获取的信号帧绘制于画布元素中,并根据当前时间更改画布元素中的信号帧的时间戳,得到输出媒体流的当前信号帧。
可选地,处理模块133还可以用于:在将所述根据从所述主路径接收的媒体流数据生成输出媒体流切换至根据从所述备用路径接收的媒体流数据生成输出媒体流之后,将备用路径确定为新的主路径。
可选地,处理模块133还可以用于确定主路径和备用路径。其中,处理模块133确定主路径的方式可以为:分别从多个路径接收并缓存在当前时刻之前第一时长内来自所述信号源的媒体流数据;分别确定每个路径对应的缓存数据中的信号帧数量;从所述多个路径中,确定除缓存数据中信号帧数量最小的路径和缓存数据中信号帧数量最大的路径之外的目标路径;从所述目标路径中确定一个目标路径作为主路径。进一步地,处理模块133确定备用路径的方式可以为:从所述多个路径中,将缓存数据中信号帧数量大于当前主路径对应的缓存数据中信号帧数量的路径,确定为备用路径。
可选地,检测模块132和处理模块133可以充当前述实施例中的信号再生单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图11,其示出了本申请实施例提供的一种服务器的结构框图。本申请中的服务器100可以包括一个或多个如下部件:处理器110、存储器120、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如各路径对应的缓存数据)等。
请参考图12,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质140中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质140可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质140包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质140具有执行上述方法中的任何方法步骤的程序代码141的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码141可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (9)
1.一种媒体流处理方法,其特征在于,包括:
分别从主路径和备用路径,接收并缓存来自同一信号源的媒体流数据;
在根据从所述主路径接收的媒体流数据生成输出媒体流的过程中,检测所述主路径是否出现卡顿;
若所述主路径出现卡顿,则根据从所述主路径接收的媒体流数据中当前信号帧的时间戳,从所述备用路径对应的缓存数据中确定数据生成起点,并从所述数据生成起点起,将所述根据从所述主路径接收的媒体流数据生成输出媒体流切换至根据从所述备用路径接收的媒体流数据生成输出媒体流;
其中,所述主路通过以下方式确定:
分别从多个路径接收并缓存在当前时刻之前第一时长内来自所述信号源的媒体流数据;
分别确定每个路径对应的缓存数据中的信号帧数量;
从所述多个路径中,确定除缓存数据中信号帧数量最小的路径和缓存数据中信号帧数量最大的路径之外的目标路径;
从所述目标路径中确定一个目标路径作为主路径;
所述备用路径通过以下方式确定:
从所述多个路径中,将缓存数据中信号帧数量大于当前主路径对应的缓存数据中信号帧数量的路径,确定为备用路径。
2.根据权利要求1所述的方法,其特征在于,所述根据从所述主路径接收的媒体流数据中当前信号帧的时间戳,从所述备用路径对应的缓存数据中确定数据生成起点,包括:
从所述备用路径对应的缓存数据中,确定时间戳与从所述主路径接收的媒体流数据中当前信号帧的时间戳最接近的目标信号帧;
将所述目标信号帧确定为所述数据生成起点。
3.根据权利要求2所述的方法,其特征在于,所述根据从所述主路径接收的媒体流数据生成输出媒体流,包括:
依次从所述主路径对应的缓存数据中获取信号帧;
创建画布元素,将当前获取的信号帧绘制于所述画布元素,并根据当前时间更改所述画布元素中的信号帧的时间戳,得到所述输出媒体流的当前信号帧。
4.根据权利要求2或3所述的方法,其特征在于,所述从所述数据生成起点起,将所述根据从所述主路径接收的媒体流数据生成输出媒体流切换至根据从所述备用路径接收的媒体流数据生成输出媒体流,包括:
停止从所述主路径对应的缓存数据中获取信号帧;
从所述目标信号帧起,依次从所述备用路径对应的缓存数据中获取信号帧;
创建画布元素,将当前获取的信号帧绘制于所述画布元素中,并根据当前时间更改所述画布元素中的信号帧的时间戳,得到所述输出媒体流的当前信号帧。
5.根据权利要求1所述的方法,其特征在于,所述检测所述主路径是否出现卡顿,包括:
当所述主路径对应的缓存数据中的信号帧数量小于目标数量时,或者,当所述主路径对应的缓存数据中的信号帧数量小于其他所有路径对应的缓存数据中的信号帧数量时,确定所述主路径出现卡顿。
6.根据权利要求1所述的方法,其特征在于,缓存从主路径接收的媒体流数据,包括:
缓存在当前时刻之前所述第一时长内从所述主路径接收的媒体流数据;
缓存从备用路径接收的媒体流数据,包括:
缓存在当前时刻之前第二时长内从所述备用路径接收的媒体流数据,所述第二时长大于所述第一时长。
7.一种媒体流处理方法,其特征在于,包括:
信号源分别通过主路径和备用路径向目标服务器推送媒体流数据,其中,所述主路径和所述备用路径上均依次设置有推流终端和流媒体服务器;
所述目标服务器分别从所述主路径和所述备用路径接收媒体流数据,在根据从所述主路径接收的媒体流数据生成输出媒体流的过程中,检测所述主路径是否出现卡顿;若所述主路径出现卡顿,则根据从所述主路径接收的媒体流数据中当前信号帧的时间戳,从所述备用路径对应的缓存数据中确定数据生成起点,并从所述数据生成起点起,将所述根据从所述主路径接收的媒体流数据生成输出媒体流切换至根据从所述备用路径接收的媒体流数据生成输出媒体流;
所述目标服务器将所述输出媒体流推送至分发网络;
直播客户端从所述分发网络拉取所述输出媒体流;
其中,所述主路通过以下方式确定:
分别从多个路径接收并缓存在当前时刻之前第一时长内来自所述信号源的媒体流数据;
分别确定每个路径对应的缓存数据中的信号帧数量;
从所述多个路径中,确定除缓存数据中信号帧数量最小的路径和缓存数据中信号帧数量最大的路径之外的目标路径;
从所述目标路径中确定一个目标路径作为主路径;
所述备用路径通过以下方式确定:
从所述多个路径中,将缓存数据中信号帧数量大于当前主路径对应的缓存数据中信号帧数量的路径,确定为备用路径。
8.一种媒体流处理装置,其特征在于,包括:
接收模块,用于分别从主路径和备用路径,接收并缓存来自同一信号源的媒体流数据;
检测模块,用于在根据从所述主路径接收的媒体流数据生成输出媒体流的过程中,检测所述主路径是否出现卡顿;
处理模块,用于当所述主路径出现卡顿时,根据从所述主路径接收的媒体流数据中当前信号帧的时间戳,从所述备用路径对应的缓存数据中确定数据生成起点,并从所述数据生成起点起,将所述根据从所述主路径接收的媒体流数据生成输出媒体流切换至根据从所述备用路径接收的媒体流数据生成输出媒体流;
其中,所述主路通过以下方式确定:
分别从多个路径接收并缓存在当前时刻之前第一时长内来自所述信号源的媒体流数据;
分别确定每个路径对应的缓存数据中的信号帧数量;
从所述多个路径中,确定除缓存数据中信号帧数量最小的路径和缓存数据中信号帧数量最大的路径之外的目标路径;
从所述目标路径中确定一个目标路径作为主路径;
所述备用路径通过以下方式确定:
从所述多个路径中,将缓存数据中信号帧数量大于当前主路径对应的缓存数据中信号帧数量的路径,确定为备用路径。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010136444.3A CN111404882B (zh) | 2020-03-02 | 2020-03-02 | 媒体流处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010136444.3A CN111404882B (zh) | 2020-03-02 | 2020-03-02 | 媒体流处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111404882A CN111404882A (zh) | 2020-07-10 |
CN111404882B true CN111404882B (zh) | 2022-03-25 |
Family
ID=71432112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010136444.3A Active CN111404882B (zh) | 2020-03-02 | 2020-03-02 | 媒体流处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111404882B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112118233B (zh) * | 2020-08-26 | 2022-12-06 | 北京博睿维讯科技有限公司 | 一种数据传输方法、装置、系统及存储介质 |
CN114554115B (zh) | 2020-11-25 | 2024-07-19 | 中强光电股份有限公司 | 影像输出装置以及影像输出方法 |
CN112737897B (zh) * | 2021-04-06 | 2021-06-18 | 北京百家视联科技有限公司 | 一种链路监测调度方法、装置、设备及存储介质 |
CN113824985B (zh) * | 2021-09-18 | 2023-08-22 | 北京百度网讯科技有限公司 | 直播拉流方法、装置、设备、存储介质及计算机程序产品 |
CN114070827B (zh) * | 2022-01-17 | 2022-04-22 | 苏州浪潮智能科技有限公司 | 一种转推流数据的传输方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040046335A (ko) * | 2002-11-27 | 2004-06-05 | 엘지전자 주식회사 | 고밀도 광디스크의 멀티 경로 데이터 스트림 재생방법 |
CN109040830A (zh) * | 2017-06-08 | 2018-12-18 | 武汉斗鱼网络科技有限公司 | 直播播放卡顿的预测方法、切换方法及装置 |
CN109729391A (zh) * | 2018-12-18 | 2019-05-07 | 北京华夏电通科技有限公司 | 一种多路媒体流的发送方法及系统 |
CN110198311A (zh) * | 2019-05-21 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种数据流处理方法、装置、设备及介质 |
CN110392285A (zh) * | 2018-04-23 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 媒体流处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9634919B2 (en) * | 2014-06-27 | 2017-04-25 | Cisco Technology, Inc. | Multipath data stream optimization |
-
2020
- 2020-03-02 CN CN202010136444.3A patent/CN111404882B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040046335A (ko) * | 2002-11-27 | 2004-06-05 | 엘지전자 주식회사 | 고밀도 광디스크의 멀티 경로 데이터 스트림 재생방법 |
CN109040830A (zh) * | 2017-06-08 | 2018-12-18 | 武汉斗鱼网络科技有限公司 | 直播播放卡顿的预测方法、切换方法及装置 |
CN110392285A (zh) * | 2018-04-23 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 媒体流处理方法及装置 |
CN109729391A (zh) * | 2018-12-18 | 2019-05-07 | 北京华夏电通科技有限公司 | 一种多路媒体流的发送方法及系统 |
CN110198311A (zh) * | 2019-05-21 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种数据流处理方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
一种面向互联网应用的多路实时流媒体同步合成方案;王英兰等;《东华大学学报(自然科学版)》;20180119(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111404882A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111404882B (zh) | 媒体流处理方法及装置 | |
US11032575B2 (en) | Random access in a video bitstream | |
US9680902B2 (en) | Media streaming method and device using the same | |
CN110636346B (zh) | 一种码率自适应切换方法、装置、电子设备及存储介质 | |
CN112019927B (zh) | 视频直播方法、连麦设备、直播系统及存储介质 | |
WO2020248909A1 (zh) | 视频解码方法、装置、计算机设备及存储介质 | |
CN108347622B (zh) | 多媒体数据推送方法、装置、存储介质及设备 | |
CN110662114B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN111836076B (zh) | 视频分辨率切换方法及装置、电子设备 | |
WO2022001469A1 (zh) | 图像处理方法、装置、电子设备以及存储介质 | |
CN112637661B (zh) | 视频流的切换方法及装置、计算机存储介质、电子设备 | |
EP2466911A1 (en) | Method and device for fast pushing unicast stream in fast channel change | |
EP3748983B1 (en) | Video playback method, terminal apparatus, and storage medium | |
US11563962B2 (en) | Seamless content encoding and transmission | |
CN108259998B (zh) | 播放器及播放控制方法、装置、电子设备及播放系统 | |
WO2018028547A1 (zh) | 频道切换的方法及装置 | |
CN111866526B (zh) | 一种直播业务处理方法和装置 | |
CN111970565A (zh) | 视频数据处理方法、装置、电子设备及存储介质 | |
CN111726651A (zh) | 一种基于hils协议的音视频流直播方法及系统 | |
CN112243136B (zh) | 内容播放方法、视频存储方法和设备 | |
CN115426503B (zh) | 一种转码服务切换方法、装置、设备及存储介质 | |
WO2020109150A1 (en) | A method and apparatus for loop-playing video content | |
CN108632681B (zh) | 播放媒体流的方法、服务器及终端 | |
CN115834925A (zh) | 一种视频转码方法、装置、设备及介质 | |
CN110798713B (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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20200710 Assignee: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd. Assignor: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd. Contract record no.: X2021440000031 Denomination of invention: Media stream processing method and device License type: Common License Record date: 20210125 |
|
GR01 | Patent grant | ||
GR01 | Patent grant |