CN111526377B - 拉流方法及装置 - Google Patents
拉流方法及装置 Download PDFInfo
- Publication number
- CN111526377B CN111526377B CN201910103250.0A CN201910103250A CN111526377B CN 111526377 B CN111526377 B CN 111526377B CN 201910103250 A CN201910103250 A CN 201910103250A CN 111526377 B CN111526377 B CN 111526377B
- Authority
- CN
- China
- Prior art keywords
- data
- video
- stream
- bullet screen
- live
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Abstract
本申请公开了一种拉流方法及装置,应用于智能盒子中,其中所述方法包括:接收用户通过本智能盒子连接的显示设备输入的登录信息,并采用所述登录信息进行登录;当检测到用户订阅的主播开播时,从上层设备中获取该主播的数据切片子流,其中,各数据切片子流包括N个视频分组以及M个弹幕分组,各视频分组中包括若干视频数据分片,各弹幕分组中包括若干弹幕数据分片;对获取的所述数据切片子流进行合并处理,以获得直播数据;存储所述直播数据,并针对用户对所述直播数据的触发指示,播放所述直播数据。智能盒子通过上行功能可以将数据切片子流下发至观众端设备中,无需观众端设备从CDN服务器中拉流,从而减小CDN服务器的压力及带宽消耗。
Description
技术领域
本申请涉及直播领域,尤其涉及拉流方法及装置。
背景技术
随着网络技术的发展,网络直播越来越普及,各式各样的社会活动都可以借助网络直播方式进行传播。
为了使得错过直播的观众用户能够观看该直播的重播,在直播系统中可以采用CDN(Content Delivery Network,内容分发)服务器对主播的直播视频进行录像,但由于资源成本问题,并不是每个主播都会有录像。针对CDN服务器没有录像的主播,用户将无法看到录像重播。
发明内容
有鉴于此,本申请提供一种拉流方法及装置。
根据本申请实施例的第一方面,提供一种拉流方法,所述方法应用于智能盒子中,所述方法包括:
接收用户通过本智能盒子连接的显示设备输入的登录信息,并采用所述登录信息进行登录;
当检测到用户订阅的主播开播时,从上层设备中获取该主播的数据切片子流,其中,各数据切片子流包括N个视频分组以及M个弹幕分组,各视频分组中包括若干视频数据分片,各弹幕分组中包括若干弹幕数据分片;
对获取的所述数据切片子流进行合并处理,以获得直播数据;
存储所述直播数据,并针对用户对所述直播数据的触发指示,播放所述直播数据。
优选地,采用如下方式检测主播是否开播:
当接收到主播广播的开播通知时,判定检测到该主播开播。
优选地,所述直播数据包括直播视频数据以及弹幕数据;
所述对所述数据切片子流进行合并处理,以获得直播数据,包括:
针对各数据切片子流,获取该数据切片子流中的N个视频分组以及M个弹幕分组,并将所述N个视频分组中的视频数据分片合并成直播视频子数据;将所述M个弹幕分组中的弹幕数据分片合并成弹幕子数据;
将各数据切片子流中对应的直播视频子数据合并成直播视频数据;
将各数据切片子流中对应的弹幕子数据合并成弹幕数据。
优选地,在所述当检测到用户订阅的主播开播时,从上层设备中获取该主播的数据切片子流之前,还包括:
获取用户预先配置的需要拉流的主播标识。
优选地,所述方法还包括:
将所述数据切片子流下发至观众端设备中。
优选地,所述观众端设备为本智能盒子所在的对等P2P网络中订阅该主播的目标智能盒子,在所述将所述数据切片子流下发至观众端设备中之前,还包括:
接收所述P2P网络中的其他智能盒子发送的同步信息,其中,所述同步信息包括各其他智能盒子订阅的主播信息以及已有的切片子流信息;
根据所述同步信息,筛选出订阅当前开播的主播但未拉取所述数据切片子流的智能盒子作为目标智能盒子。
优选地,所述观众端设备为向本智能盒子发送针对所述主播的拉流请求的设备。
根据本申请实施例的第二方面,提供一种拉流装置,所述装置应用于智能盒子中,所述装置包括:
登录模块,用于接收用户通过本智能盒子连接的显示设备输入的登录信息,并采用所述登录信息进行登录;
拉流模块,用于当检测到用户订阅的主播开播时,从上层设备中获取该主播的数据切片子流,其中,各数据切片子流包括N个视频分组以及M个弹幕分组,各视频分组中包括若干视频数据分片,各弹幕分组中包括若干弹幕数据分片;
合并处理模块,用于对获取的所述数据切片子流进行合并处理,以获得直播数据;
存储模块,用于存储所述直播数据;
播放模块,用于针对用户对所述直播数据的触发指示,播放所述直播数据。
优选地,所述直播数据包括直播视频数据以及弹幕数据;
所述合并处理模块包括:
数据分片合并子模块,用于针对各数据切片子流,获取该数据切片子流中的N个视频分组以及M个弹幕分组,并将所述N个视频分组中的视频数据分片合并成直播视频子数据;将所述M个弹幕分组中的弹幕数据分片合并成弹幕子数据;
视频子数据合并子模块,用于将各数据切片子流中对应的直播视频子数据合并成直播视频数据;
弹幕子数据合并子模块,用于将各数据切片子流中对应的弹幕子数据合并成弹幕数据。
优选地,所述装置还包括:
数据流发送模块,用于将所述数据切片子流下发至观众端设备中。
优选地,所述观众端设备为本智能盒子所在的对等P2P网络中订阅该主播的目标智能盒子,所述装置还包括:
同步信息接收模块,用于接收所述P2P网络中的其他智能盒子发送的同步信息,其中,所述同步信息包括各其他智能盒子订阅的主播信息以及已有的切片子流信息;
设备筛选模块,用于根据所述同步信息,筛选出订阅当前开播的主播但未拉取所述数据切片子流的智能盒子作为目标智能盒子。
根据本申请实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述方法的步骤。
根据本申请实施例的第四方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
本申请实施例提供的技术方案具有如下有益效果:
在本申请实施例中,智能盒子通过上行功能可以将数据切片子流下发至观众端设备中,无需观众端设备从CDN服务器中拉流,从而减小CDN服务器的压力及带宽消耗,同时提升主播的人气度。
附图说明
图1是本申请一示例性实施例示出的一种拉流方法实施例的步骤流程图;
图2是本申请的装置所在设备的一种硬件结构图;
图3是本申请一示例性实施例示出的一种拉流装置实施例的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参考图1,示出了本申请一示例性实施例示出的一种拉流方法实施例的步骤流程图,本申请实施例可以应用于智能盒子中,其中,智能盒子又可以称为电视盒子,是一种小型的计算终端设备,当其通过HDMI或色差线等技术与显示设备连接以后,就可以在盒子上实现网页浏览、网络视频播放、应用程序安装等。在本实施例中,智能盒子还可以具有直播视频数据的录播能力、上行能力等。
本申请实施例具体可以包括如下步骤:
步骤101,接收用户通过本智能盒子连接的显示设备输入的登录信息,并采用所述登录信息进行登录;
在具体实现中,智能盒子为观众用户在本地安装的盒子终端。当观众用户安装智能盒子以后,可以将智能盒子接入网络,例如,接入家庭局域网。随后,观众用户可以通过与智能盒子连接的显示设备输入登录信息,智能盒子接收到用户输入的登录信息以后,采用该登录信息进行登录。
其中,登录信息可以根据不同的业务场景确定,例如,在直播场景中,登录信息可以为用户在直播应用中注册的登录信息。在其他场景中,登录信息可以为用户在相应应用程序中注册的登录信息。
步骤102,当检测到用户订阅的主播开播时,从上层设备中获取该主播的数据切片子流;
完成登录后,智能盒子则可以根据用户的订阅关系,检测订阅的主播是否开播。需要说明的是,上述的主播,可以是用户订阅的所有主播,也可以是用户预先配置的需要拉流的主播,本申请实施例对此不作限制。当主播为用户预先配置的需要拉流的主播,则智能盒子需要先获取用户的配置文件,并从配置文件中读取用户预先配置的需要拉流的主播标识。
在一种实施方式中,智能盒子可以采用如下方式检测主播是否开播:当接收到主播广播的开播通知时,判定检测到该主播开播。
具体的,每个主播可以根据其与观众用户的订阅关系,确定订阅自身的观众用户,当主播开播后,该主播可以向订阅自身的观众用户广播开播通知。则对于观众用户而言,其可以通过安装的智能盒子接收开播的主播广播的开播通知,即当智能盒子接收到主播发送的开播通知时,可以判定检测到该主播开播。
在具体实现中,主播广播的开播通知中可以携带直播视频流标识,当检测到本智能盒子订阅的主播开播时,智能盒子可以根据该直播视频流标识,从上层设备中获取该主播的数据切片子流。
作为一种示例,上层设备可以包括CDN服务器和/或已有该主播的数据切片子流且与本智能盒子处于同一对等P2P网络的智能盒子等。
在具体实现中,当智能盒子获取当前开播的主播的数据切片子流以后,可以将该数据切片子流存储在本地的磁盘中,其中,各数据切片子流具有对应的子流标识。
步骤103,对获取的所述数据切片子流进行合并处理,以获得直播数据;
在本实施例中,各数据切片子流中可以包括N个视频分组以及M个弹幕分组,其中,各视频分组中可以包括若干视频数据分片,各弹幕分组中可以包括若干弹幕数据分片。
在具体实现中,视频分组可以由CDN服务器上游的切片服务器对主播端传送的直播视频流切分而成,弹幕分组可以由切片服务器对主播端传送的直播视频流的弹幕数据流切分而成。
具体的,当切片服务器接收的直播视频流的数据量达到预设大小(例如,1k)时,则可以将该预设大小的直播视频流按照约定的格式封装成视频数据分片,然后将视频数据分片存储在第一容器内,其中,各视频数据分片在第一容器内具有对应的第一分片编号。在将视频数据分片存入第一容器时,可以对该视频数据分片进行分组处理,以将该视频数据分片划分到对应的视频分组中。其中一种确定视频分组的方式可以为:将各第一分片编号与视频分组数量N进行求余运算,并将余数相同的视频数据分片分类在同一视频分组中。其中,视频分组数量N可以根据直播视频流的码率确定。
同理对于接收的弹幕数据流,当切片服务器接收的弹幕数据流的数据量达到预设大小(例如,1k)时,则可以将该预设大小的弹幕数据流按照约定的格式封装成弹幕数据分片,然后将弹幕数据分片存储在第二容器内,其中,各弹幕数据分片在第二容器内具有对应的第二分片编号。在将弹幕数据分片存入第二容器时,还可以对该弹幕数据分片进行分组处理,以将该弹幕数据分片划分到对应的弹幕分组中。其中一种确定弹幕分组的方式可以为:将各第二分片编号与弹幕分组数量M进行求余运算,并将余数相同的弹幕数据分片分类在同一弹幕分组中,其中,弹幕分组数量M可以根据弹幕数据流的码率确定。
切片服务器每次往容器内存放数据后就获取该容器实时存储的数据的深度,并根据该获取的深度与预设容器深度阈值的比较结果判断该容器是否到达指定深度。在具体实现中,每一个分组(视频分组或弹幕分组)中包含的数据分片(视频数据分片或弹幕数据分片)的数量可以作为该分组的深度,汇总容器内所有分组的深度以后,可将最大的深度作为该容器的深度。
当第一容器或第二容器中任一容器触发其对应的预设容器深度阈值时,则触发切片服务器对视频分组和弹幕分组的合并处理,以得到数据切片子流,其中一种合并处理方式为:将N个视频分组包含的视频数据分片与M个弹幕分组包含的弹幕数据分片按照时间轴的顺序进行对齐;若某个视频数据分片不存在与之对齐的弹幕数据分片,则将空数据作为与该视频数据分片对齐的弹幕数据分片。当将N个视频分组与M个弹幕分组对齐以后,则可以将该N个视频分组与M个弹幕分组封装成一个数据切片子流并发送该数据切片子流,该数据切片子流中前N号分组分配给视频分组,剩下的分配给弹幕分组。
在本申请实施例的一种优选实施例中,直播数据可以包括直播视频数据以及弹幕数据;则步骤103中进一步可以包括如下子步骤:
子步骤S21,针对各数据切片子流,获取该数据切片子流中的N个视频分组以及M个弹幕分组,并将所述N个视频分组中的视频数据分片合并成直播视频子数据;将所述M个弹幕分组中的弹幕数据分片合并成弹幕子数据;
具体的,智能盒子获得的数据切片子流以后,可以对该数据切片子流进行解析,获得对应的N个视频分组以及M个弹幕分组。然后可以从该N个视频分组中解析出视频数据分片,其中,该视频数据分片可以有多个,各视频数据分片具有对应的第一分片编号,可以按照第一分片编号的顺序将多个视频数据分片合并成直播视频子数据。
同时,还可以从该M个弹幕分组中解析出弹幕数据分片,其中,该弹幕数据分片可以有多个,各弹幕数据分片具有对应的第二分片编号,可以按照第二分片编号的顺序将多个弹幕数据分片合并成弹幕子数据。在实际中,对弹幕分组进行解析时还会解析出空数据,可以直接将解析出的空数据丢弃。
子步骤S22,将各数据切片子流中对应的直播视频子数据合并成直播视频数据;
子步骤S23,将各数据切片子流中对应的弹幕子数据合并成弹幕数据。
当智能盒子获得直播视频子数据以及弹幕子数据以后,可以在本地保存该直播视频子数据以及弹幕子数据,并按照各数据切片子流的时间顺序或标识将各数据切片子流中对应的直播视频子数据合并成直播视频数据,以及将各数据切片子流中对应的弹幕子数据合并成弹幕数据。
步骤104,存储所述直播数据,并针对用户对所述直播数据的触发指示,播放所述直播数据。
获得直播视频数据以及弹幕数据以后,智能盒子可以在本地存储该直播视频数据以及弹幕数据。
在一种实施例中,智能盒子还可以通过显示设备以页面的形式显示已拉取的直播数据的直播视频流标识,用户可以点击页面中某个直播视频流标识以回看对应的直播数据。当智能盒子检测到用户选定的直播视频流标识时,则判定检测到用户的触发指示,此时可以读取该直播视频流标识对应的直播视频数据以及弹幕数据,并播放该直播视频数据以及弹幕数据。在这种场景下,智能盒子提供的是录播的功能,可以自动录制开播的主播的数据流,使得用户能够回看错过的直播。
在其他实施例中,用户的触发指示还可以在智能盒子获取当前开播的主播的数据切片子流之前发出,即智能盒子根据用户的触发指示去获取数据切片子流,此时,智能盒子提供的是拉流的功能,以便于用户能够观看主播实时的视频数据以及弹幕数据。
当然,上述两种实施例并不是互斥的,其可以同时存在,为用户回看直播视频提供了支持。在在本申请实施例的一种优选实施例中,智能盒子具有上行能力,基于该上行能力,则本申请实施例还可以包括如下步骤:
将所述数据切片子流下发至观众端设备中。
在一种实施例中,该观众端设备可以为本智能盒子所在的对等P2P网络中订阅该主播的目标智能盒子。则在将数据切片子流下发至观众端设备中之前,本申请实施例还可以包括如下步骤:
接收所述P2P网络中的其他智能盒子发送的同步信息,其中,所述同步信息包括各其他智能盒子订阅的主播信息以及已有的切片子流信息;根据所述同步信息,筛选出订阅当前开播的主播但未拉取所述数据切片子流的智能盒子作为目标智能盒子。
具体的,多个智能盒子之间可以组成P2P网络,P2P网络中的智能盒子可以向其他智能盒子发送同步信息,以相互进行信息同步,其中,作为一种示例,同步信息至少可以包括本智能盒子已有的切片子流信息、本智能盒子的树长度、本智能盒子订阅的主播信息等。
针对本智能盒子,其可以从接收的其他智能盒子的同步信息中确定各智能盒子订阅的主播信息以及确定订阅当前主播的智能盒子拥有当前主播的切片子流信息,然后筛选出订阅当前开播的主播但未拉取当前主播的数据切片子流的目标智能盒子。
确定目标智能盒子以后,本智能盒子可以从磁盘中读取当前主播的数据切片子流(根据直播视频流标识查找),并将读取的数据切片子流通过用户的闲置带宽资源分发至上述目标智能盒子中,无需通过直播厂商的带宽发送直播视频流,从而可以节省直播厂商的带宽成本。并且通过这种共享的方式,可以帮助主播获得更多人气。
在另一种实施例中,所述观众端设备还可以为向本智能盒子发送针对当前主播的拉流请求的设备。
具体的,智能盒子还可以其他设备发送的拉流请求,然后根据拉流请求中携带的直播视频流标识,查找匹配的目标数据切片子流。然后将目标数据切片子流返回请求的设备。
在本申请实施例中,智能盒子通过上行功能可以将数据切片子流下发至观众端设备中,无需观众端设备从CDN服务器中拉流,从而减小CDN服务器的压力及带宽消耗,同时提升主播的人气度。
与前述方法的实施例相对应,本申请还提供了一种拉流装置实施例。
本申请的装置实施例可以应用在智能盒子上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本申请的装置所在设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该装置的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图3,示出了本申请一示例性实施例示出的一种拉流装置实施例的结构框图,本申请实施例的装置可以应用于智能盒子中,所述装置包括如下模块:
登录模块301,用于接收用户通过本智能盒子连接的显示设备输入的登录信息,并采用所述登录信息进行登录;
拉流模块302,用于当检测到用户订阅的主播开播时,从上层设备中获取该主播的数据切片子流,其中,各数据切片子流包括N个视频分组以及M个弹幕分组,各视频分组中包括若干视频数据分片,各弹幕分组中包括若干弹幕数据分片;
合并处理模块303,用于对获取的所述数据切片子流进行合并处理,以获得直播数据;
存储模块304,用于存储所述直播数据;
播放模块305,用于针对用户对所述直播数据的触发指示,播放所述直播数据。
在本申请实施例的一种优选实施例中,所述装置还可以包括如下模块:
开播检测模块,用于当接收到主播广播的开播通知时,判定检测到该主播开播。
在本申请实施例的一种优选实施例中,所述直播数据包括直播视频数据以及弹幕数据;
所述合并处理模块303进一步可以包括如下子模块:
数据分片合并子模块,用于针对各数据切片子流,获取该数据切片子流中的N个视频分组以及M个弹幕分组,并将所述N个视频分组中的视频数据分片合并成直播视频子数据;将所述M个弹幕分组中的弹幕数据分片合并成弹幕子数据;
视频子数据合并子模块,用于将各数据切片子流中对应的直播视频子数据合并成直播视频数据;
弹幕子数据合并子模块,用于将各数据切片子流中对应的弹幕子数据合并成弹幕数据。
在本申请实施例的一种优选实施例中,所述装置还可以包括如下模块:
配置信息获取模块,用于获取用户预先配置的需要拉流的主播标识。
在本申请实施例的一种优选实施例中,所述装置还可以包括如下模块:
数据流发送模块,用于将所述数据切片子流下发至观众端设备中。
在本申请实施例的一种优选实施例中,所述观众端设备为本智能盒子所在的对等P2P网络中订阅该主播的目标智能盒子,所述装置还可以包括如下模块:
同步信息接收模块,用于接收所述P2P网络中的其他智能盒子发送的同步信息,其中,所述同步信息包括各其他智能盒子订阅的主播信息以及已有的切片子流信息;
设备筛选模块,用于根据所述同步信息,筛选出订阅当前开播的主播但未拉取所述数据切片子流的智能盒子作为目标智能盒子。
在本申请实施例的一种优选实施例中,所述观众端设备为向本智能盒子发送针对所述主播的拉流请求的设备。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述方法实施例的步骤。
本申请还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法实施例的步骤。
本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如车载终端、移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (11)
1.一种拉流方法,其特征在于,所述方法应用于智能盒子中,所述方法包括:
接收用户通过本智能盒子连接的显示设备输入的登录信息,并采用所述登录信息进行登录;
当检测到登录本智能盒子的用户订阅的主播开播时,在该主播直播的过程中从上层设备中获取该主播的数据切片子流,其中,所述数据切片子流通过以下方式得到:
对接收的直播视频流进行切割,并将切割得到的视频数据分片存储在第一容器内;
对接收的针对所述直播视频流的弹幕数据流进行切割,并将切割得到的弹幕数据分片存储在第二容器内;
判断所述第一容器或所述第二容器的深度是否达到其对应的预设容器深度阈值;其中,所述深度为所述第一容器或所述第二容器内存储的数据分片的数量;
若是,则获取所述第一容器内所述视频数据分片进行分组后得到的N个视频分组,以及所述第二容器内所述弹幕数据分片进行分组后得到的M个弹幕分组;
将所述N个视频分组包含的视频数据分片与以及所述M个弹幕分组包含的弹幕数据分片按照时间轴的顺序进行对齐进行处理,若某个视频数据分片不存在与之对齐的弹幕数据分片,则将空数据作为与该视频数据分片对齐的弹幕数据分片,将对齐后的所述N个视频分组以及所述M个弹幕分组封装成所述数据切片子流;
对获取的所述数据切片子流进行合并处理,以获得直播数据;
存储所述直播数据,并针对用户对所述直播数据的触发指示,播放所述直播数据,以及将所述数据切片子流下发至观众端设备中。
2.根据权利要求1所述的方法,其特征在于,采用如下方式检测主播是否开播:
当接收到主播广播的开播通知时,判定检测到该主播开播。
3.根据权利要求1或2所述的方法,其特征在于,所述直播数据包括直播视频数据以及弹幕数据;
所述对所述数据切片子流进行合并处理,以获得直播数据,包括:
针对各数据切片子流,获取该数据切片子流中的N个视频分组以及M个弹幕分组,并将所述N个视频分组中的视频数据分片合并成直播视频子数据;将所述M个弹幕分组中的弹幕数据分片合并成弹幕子数据;
将各数据切片子流中对应的直播视频子数据合并成直播视频数据;
将各数据切片子流中对应的弹幕子数据合并成弹幕数据。
4.根据权利要求1所述的方法,其特征在于,在该主播直播的过程中从上层设备中获取该主播的数据切片子流之前,所述方法还包括:
获取用户预先配置的需要拉流的主播标识。
5.根据权利要求1所述的方法,其特征在于,所述观众端设备为本智能盒子所在的对等P2P网络中订阅该主播的目标智能盒子,在所述将所述数据切片子流下发至观众端设备中之前,还包括:
接收所述P2P网络中的其他智能盒子发送的同步信息,其中,所述同步信息包括各其他智能盒子订阅的主播信息以及已有的切片子流信息;
根据所述同步信息,筛选出订阅当前开播的主播但未拉取所述数据切片子流的智能盒子作为目标智能盒子。
6.根据权利要求1所述的方法,其特征在于,所述观众端设备为向本智能盒子发送针对所述主播的拉流请求的设备。
7.一种拉流装置,其特征在于,所述装置应用于智能盒子中,所述装置包括:
登录模块,用于接收用户通过本智能盒子连接的显示设备输入的登录信息,并采用所述登录信息进行登录;
拉流模块,用于当检测到登录本智能盒子的用户订阅的主播开播时,在该主播直播的过程中从上层设备中获取该主播的数据切片子流,其中,所述数据切片子流通过以下方式得到:
对接收的直播视频流进行切割,并将切割得到的视频数据分片存储在第一容器内;
对接收的针对所述直播视频流的弹幕数据流进行切割,并将切割得到的弹幕数据分片存储在第二容器内;
判断所述第一容器或所述第二容器的深度是否达到其对应的预设容器深度阈值;其中,所述深度为所述第一容器或所述第二容器内存储的数据分片的数量;
若是,则获取所述第一容器内所述视频数据分片进行分组后得到的N个视频分组,以及所述第二容器内所述弹幕数据分片进行分组后得到的M个弹幕分组;
将所述N个视频分组包含的视频数据分片与以及所述M个弹幕分组包含的弹幕数据分片按照时间轴的顺序进行对齐进行处理,若某个视频数据分片不存在与之对齐的弹幕数据分片,则将空数据作为与该视频数据分片对齐的弹幕数据分片,将对齐后的所述N个视频分组以及所述M个弹幕分组封装成所述数据切片子流;
合并处理模块,用于对获取的所述数据切片子流进行合并处理,以获得直播数据;
存储模块,用于存储所述直播数据;
播放模块,用于针对用户对所述直播数据的触发指示,播放所述直播数据,以及将所述数据切片子流下发至观众端设备中。
8.根据权利要求7所述的装置,其特征在于,所述直播数据包括直播视频数据以及弹幕数据;
所述合并处理模块包括:
数据分片合并子模块,用于针对各数据切片子流,获取该数据切片子流中的N个视频分组以及M个弹幕分组,并将所述N个视频分组中的视频数据分片合并成直播视频子数据;将所述M个弹幕分组中的弹幕数据分片合并成弹幕子数据;
视频子数据合并子模块,用于将各数据切片子流中对应的直播视频子数据合并成直播视频数据;
弹幕子数据合并子模块,用于将各数据切片子流中对应的弹幕子数据合并成弹幕数据。
9.根据权利要求7所述的装置,其特征在于,所述观众端设备为本智能盒子所在的对等P2P网络中订阅该主播的目标智能盒子,所述装置还包括:
同步信息接收模块,用于接收所述P2P网络中的其他智能盒子发送的同步信息,其中,所述同步信息包括各其他智能盒子订阅的主播信息以及已有的切片子流信息;
设备筛选模块,用于根据所述同步信息,筛选出订阅当前开播的主播但未拉取所述数据切片子流的智能盒子作为目标智能盒子。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-6任一项所述方法的步骤。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910103250.0A CN111526377B (zh) | 2019-02-01 | 2019-02-01 | 拉流方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910103250.0A CN111526377B (zh) | 2019-02-01 | 2019-02-01 | 拉流方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111526377A CN111526377A (zh) | 2020-08-11 |
CN111526377B true CN111526377B (zh) | 2022-07-05 |
Family
ID=71900137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910103250.0A Active CN111526377B (zh) | 2019-02-01 | 2019-02-01 | 拉流方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111526377B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113507622A (zh) * | 2021-07-08 | 2021-10-15 | 海南史塔克科技有限公司 | 视频互动方法、装置、系统以及直播背包和互动接收器 |
CN113965778B (zh) * | 2021-10-19 | 2024-04-26 | 创盛视联数码科技(北京)有限公司 | 在线教育的伪直播方法、装置、设备及可读介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847989A (zh) * | 2016-03-28 | 2016-08-10 | 乐视控股(北京)有限公司 | 直播节目的提醒方法、装置及终端 |
CN106507133A (zh) * | 2016-11-28 | 2017-03-15 | 北京金山安全软件有限公司 | 弹幕消息的处理方法、装置、系统及其设备 |
CN107197321A (zh) * | 2017-06-30 | 2017-09-22 | 武汉斗鱼网络科技有限公司 | 直播内容录制方法、装置及服务器 |
CN107948672A (zh) * | 2017-11-30 | 2018-04-20 | 广州酷狗计算机科技有限公司 | 保存视频数据的方法和系统、以及服务器、穿戴式设备 |
CN108174191A (zh) * | 2017-12-29 | 2018-06-15 | 广州虎牙信息科技有限公司 | 视频流畅度测试方法、计算机存储介质及终端 |
CN108377396A (zh) * | 2018-02-13 | 2018-08-07 | 北京潘达互娱科技有限公司 | 一种直播录制方法、装置及设备 |
CN109218808A (zh) * | 2017-06-30 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 一种录制视频的方法、装置及计算机设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100512424C (zh) * | 2005-09-09 | 2009-07-08 | 华为技术有限公司 | 视频录像的实现方法及机顶盒 |
CN102547134A (zh) * | 2010-12-15 | 2012-07-04 | 中兴通讯股份有限公司 | 直播节目处理方法及装置 |
CN104935949B (zh) * | 2015-06-18 | 2019-12-03 | 深圳市茁壮网络股份有限公司 | 一种直播视频数据下载方法、装置及系统 |
CN105120299B (zh) * | 2015-08-28 | 2020-02-14 | 广州酷狗计算机科技有限公司 | 视频推送方法和装置 |
CN105959803A (zh) * | 2016-05-30 | 2016-09-21 | 华为技术有限公司 | 混合机顶盒的业务管理方法、装置、系统及混合机顶盒 |
CN106060642A (zh) * | 2016-06-27 | 2016-10-26 | 乐视控股(北京)有限公司 | 远程录制视频的方法及系统 |
CN106028108B (zh) * | 2016-06-30 | 2020-09-11 | 北京小米移动软件有限公司 | 电视节目录制方法、装置及系统 |
CN106572358B (zh) * | 2016-11-11 | 2022-03-08 | 青岛海信宽带多媒体技术有限公司 | 一种直播时移方法及客户端 |
CN108513162A (zh) * | 2017-02-23 | 2018-09-07 | 中兴通讯股份有限公司 | 直播回看的缓存、播放方法及系统 |
CN108933764B (zh) * | 2017-05-26 | 2022-04-22 | 中兴通讯股份有限公司 | 一种实现快速起播的方法和装置 |
CN107872686A (zh) * | 2017-11-08 | 2018-04-03 | 天脉聚源(北京)教育科技有限公司 | 一种直播盒子状态监测方法及装置 |
-
2019
- 2019-02-01 CN CN201910103250.0A patent/CN111526377B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847989A (zh) * | 2016-03-28 | 2016-08-10 | 乐视控股(北京)有限公司 | 直播节目的提醒方法、装置及终端 |
CN106507133A (zh) * | 2016-11-28 | 2017-03-15 | 北京金山安全软件有限公司 | 弹幕消息的处理方法、装置、系统及其设备 |
CN107197321A (zh) * | 2017-06-30 | 2017-09-22 | 武汉斗鱼网络科技有限公司 | 直播内容录制方法、装置及服务器 |
CN109218808A (zh) * | 2017-06-30 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 一种录制视频的方法、装置及计算机设备 |
CN107948672A (zh) * | 2017-11-30 | 2018-04-20 | 广州酷狗计算机科技有限公司 | 保存视频数据的方法和系统、以及服务器、穿戴式设备 |
CN108174191A (zh) * | 2017-12-29 | 2018-06-15 | 广州虎牙信息科技有限公司 | 视频流畅度测试方法、计算机存储介质及终端 |
CN108377396A (zh) * | 2018-02-13 | 2018-08-07 | 北京潘达互娱科技有限公司 | 一种直播录制方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111526377A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102120525B1 (ko) | 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법 | |
US9015785B2 (en) | Terminal apparatus, server apparatus, information processing method, program, and linking application supply system | |
CN108093267B (zh) | 一种直播方法、装置、存储介质及电子设备 | |
CN111526374B (zh) | 基于直播的弹幕处理方法、拉流的方法及装置 | |
US11284135B2 (en) | Communication apparatus, communication data generation method, and communication data processing method | |
US9445144B2 (en) | Apparatus, systems and methods for quick speed presentation of media content | |
CN108810657B (zh) | 一种设置视频封面的方法和系统 | |
CN111526377B (zh) | 拉流方法及装置 | |
CN106603503B (zh) | 直播数据的处理方法和装置 | |
JP2008527940A (ja) | コンテンツアイテムを含むコンテンツストリームを分析する装置及び方法 | |
US9432737B2 (en) | Terminal device, server device, information processing method, program, and linked application supplying system | |
KR102110623B1 (ko) | 송신 장치, 정보 처리 방법, 프로그램, 수신 장치 및 애플리케이션 연동 시스템 | |
US10284889B1 (en) | Determining an actual start of program content relative to a scheduled start of the program content | |
WO2017038494A1 (ja) | 通信装置、およびデータ処理方法 | |
CN102136948B (zh) | 用于统计用户体验的方法、终端设备和系统 | |
JP6092796B2 (ja) | 再生装置、受信機器、再生システム、及び、プログラム。 | |
CN105791987A (zh) | 媒体数据播放的方法及终端 | |
EP2874403A1 (en) | Reception device, information processing method, program, transmission device and application linking system | |
US20230010754A1 (en) | Non-television experience triggers | |
US10250938B1 (en) | Pre-fetching supplemental content for a media stream | |
JPWO2017029990A1 (ja) | 受信装置、送信装置、およびデータ処理方法 | |
US10171545B2 (en) | System for transferring real-time audio/video stream | |
US11356716B2 (en) | System for inserting supplemental content within a media stream | |
KR101543451B1 (ko) | 우선순위 기반 동기화를 제공하는 클라우드 서비스 시스템, 클라우드 서비스 방법 및 이를 위한 장치 | |
US11451865B1 (en) | Relay of audio and/or video steganography to improve second screen experiences |
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 |