CN113242441B - 一种直播方法、装置、计算机设备及存储介质 - Google Patents
一种直播方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113242441B CN113242441B CN202110500138.8A CN202110500138A CN113242441B CN 113242441 B CN113242441 B CN 113242441B CN 202110500138 A CN202110500138 A CN 202110500138A CN 113242441 B CN113242441 B CN 113242441B
- Authority
- CN
- China
- Prior art keywords
- subprogram
- live broadcast
- audio
- live
- interface
- 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
- 238000000034 method Methods 0.000 title claims abstract description 297
- 230000008569 process Effects 0.000 claims abstract description 263
- 230000002452 interceptive effect Effects 0.000 claims abstract description 93
- 230000003993 interaction Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 11
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000011230 binding agent Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- 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/47205—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 manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
-
- 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/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供了一种直播方法、装置、计算机设备及存储介质,包括:响应在目标应用程序展示的第一子程序界面发起的直播请求,并基于直播进程对所述第一子程序界面进行推流直播;接收服务器发送的交互数据,将所述交互数据发送至与所述直播进程具有连接关系的子程序进程,并在所述第一子程序界面上展示所述交互数据,所述与所述直播进程具有连接关系的子程序进程包括第一子程序进程;响应子程序切换操作,通过切换后的第二子程序进程接收的交互数据,在第二子程序界面上展示所述交互数据,其中,所述第二子程序进程与所述直播进程具有连接关系。
Description
技术领域
本公开涉及互联网技术领域,具体而言,涉及一种直播方法、装置、计算机设备及存储介质。
背景技术
随着互联网络技术的发展,直播的概念有了新的拓展和发展。与电影单一的过去时空相比,直播可显现的时空既有现在时又有过去时,越来越多的人开始关注网络直播。对于直播方式的优化也越来越受到各个研发人员的关注。
发明内容
本公开实施例至少提供一种直播方法、装置、计算机设备及存储介质。
第一方面,本公开实施例提供了一种直播方法,包括:
响应在目标应用程序展示的第一子程序界面发起的直播请求,并基于直播进程对所述第一子程序界面进行推流直播;
接收服务器发送的交互数据,将所述交互数据发送至与所述直播进程具有连接关系的子程序进程,并在所述第一子程序界面上展示所述交互数据,所述与所述直播进程具有连接关系的子程序进程包括第一子程序进程;
响应子程序切换操作,通过切换后的第二子程序进程接收的交互数据,在第二子程序界面上展示所述交互数据,其中,所述第二子程序进程与所述直播进程具有连接关系。
一种可能的实施方式中,所述方法还包括:
确定在响应在目标应用程序展示的第一子程序界面发起的直播请求=之前,所有已启动的子程序进程;
建立所述直播进程与所述已启动的子程序进程之间的连接,以通过所述直播进程对所述已启动的子程序进程对应的子程序界面进行推流直播;
所述将所述交互数据发送至与所述直播进程具有连接关系的子程序进程,包括:
将所述交互数据发送至所述已启动的子程序进程。
一种可能的实施方式中,在接收服务器发送的交互数据后,所述方法还包括:
将所述交互数据存储在所述直播进程;
响应第三子程序启动,并展示第三子程序界面;
将所述直播进程存储的交互数据发送至所述第三子程序进程,以在所述第三子程序界面上展示所述交互数据。
一种可能的实施方式中,所述方法还包括:
检测当前启动的各个子程序界面的展示状态,所述展示状态用于表示所述子程序界面是否被展示;
当所有的子程序界面的展示状态均为未展示时,确定推流的最后一帧视频帧;
基于所述最后一帧视频帧进行推流直播。
一种可能的实施方式中,所述基于所述直播进程对所述第一子程序界面进行推流直播,包括:
基于所述第一子程序对应的音视频数据采集进程采集所述第一子程序界面的音视频数据;
将所述音视频数据从所述音视频数据采集进程发送至所述直播进程,并基于所述直播进程对所述音视频数据进行推流直播。
一种可能的实施方式中,所述方法还包括:
控制麦克风采集其他音频数据;
将所述其他音频数据发送至所述直播进程;
所述基于所述直播进程对所述音视频数据进行推流直播,包括:
将所述音视频数据和所述其他音频数据进行融合;
基于所述直播进程对融合后的音视频数据进行推流直播。
一种可能的实施方式中,所述将所述音视频数据从所述第一子程序进程发送至所述直播进程,包括:
对所述音视频数据进行打包和/或压缩处理,并将处理后的音视频数据从所述第一子程序进程发送至所述直播进程。
第二方面,本公开实施例还提供一种直播装置,包括:
直播模块,用于响应在目标应用程序展示的第一子程序界面发起的直播请求,并基于直播进程对所述第一子程序界面进行推流直播;
处理模块,用于接收服务器发送的交互数据,将所述交互数据发送至与所述直播进程具有连接关系的子程序进程,并在所述第一子程序界面上展示所述交互数据,所述与所述直播进程具有连接关系的子程序进程包括第一子程序进程;
展示模块,用于响应子程序切换操作,通过切换后的第二子程序进程接收的交互数据,在第二子程序界面上展示所述交互数据,其中,所述第二子程序进程与所述直播进程具有连接关系。
一种可能的实施方式中,所述直播模块,还用于:
确定在响应在目标应用程序展示的第一子程序界面发起的直播请求之前,所有已启动的子程序进程;
建立所述直播进程与所述已启动的子程序进程之间的连接,以通过所述直播进程对所述已启动的子程序进程对应的子程序界面进行推流直播;
所述处理模块,在将所述交互数据发送至与所述直播进程具有连接关系的子程序进程时,用于:
将所述交互数据发送至所述已启动的子程序进程。
一种可能的实施方式中,在接收服务器发送的交互数据后,所述处理模块还用于:
将所述交互数据存储在所述直播进程;
响应第三子程序启动,并展示第三子程序界面;
将所述直播进程存储的交互数据发送至所述第三子程序进程,以在所述第三子程序界面上展示所述交互数据。
一种可能的实施方式中,所述直播模块,还用于:
检测当前启动的各个子程序界面的展示状态,所述展示状态用于表示所述子程序界面是否被展示;
当所有的子程序界面的展示状态均为未展示时,确定推流的最后一帧视频帧;
基于所述最后一帧视频帧进行推流直播。
一种可能的实施方式中,所述直播模块,在基于所述直播进程对所述第一子程序界面进行推流直播时,用于:
基于所述第一子程序对应的音视频数据采集进程采集所述第一子程序界面的音视频数据;
将所述音视频数据从所述音视频数据采集进程发送至所述直播进程,并基于所述直播进程对所述音视频数据进行推流直播。
一种可能的实施方式中,所述直播模块,还用于:
控制麦克风采集其他音频数据;
将所述其他音频数据发送至所述直播进程;
所述直播模块,在基于所述直播进程对所述音视频数据进行推流直播时,用于:
将所述音视频数据和所述其他音频数据进行融合;
基于所述直播进程对融合后的音视频数据进行推流直播。
一种可能的实施方式中,所述直播模块,在将所述音视频数据从所述第一子程序进程发送至所述直播进程时,用于:
对所述音视频数据进行打包和/或压缩处理,并将处理后的音视频数据从所述第一子程序进程发送至所述直播进程。
第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本公开实施例提供的直播方法,可以直接在目标应用程序的第一子程序界面发起直播请求,并对第一子程序界面进行推流直播,这样在获取第一子程序界面的音视频数据时,可以直接通过第一子程序进程获取,相比较于传统的直播方法,本公开提供了一种新型的直播方法,操作较为简单。
进一步的,本公开所提供的直播方法中,在接收到服务器发送的交互数据后,可以将交互数据发送到与直播进程具有连接关系的各个子程序进程中(包括第一子程序进程和第二子程序进程),这样,交互数据不止可以展示在第一子程序界面上,当切换至第二子程序后,也可以直接在第二子程序界面上展示所述交互数据,保证了交互数据的展示不中断,在简化主播端开启直播方法的同时,可以不改变主播端的直播方法以及用户端的观看习惯。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种直播方法的流程图;
图2示出了本公开实施例所提供的直播方法中,第一子程序界面的示意图;
图3示出了本公开实施例所提供的一种直播装置的架构示意图;
图4示出了本公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,随着互联网络技术的发展,直播的概念有了新的拓展和发展。与电影单一的过去时空相比,直播可显现的时空既有现在时又有过去时,越来越多的人开始关注网络直播。对于直播方式的优化也越来越受到各个研发人员的关注。
一般的,相关技术中在进行直播时,依赖于单独的直播软件,在打开直播软件后,通过录制屏幕的方式,将需要直播的内容直播出去。
区别于相关技术中的直播方法,本公开实施例提供的直播方法,可以直接在目标应用程序的第一子程序界面发起直播请求,并对第一子程序界面进行推流直播,这样在获取第一子程序界面的音视频数据时,可以直接通过第一子程序进程获取,相比较于传统的直播方法,本公开提供了一种新型的直播方法,操作较为简单。
进一步的,本公开所提供的直播方法中,在接收到服务器发送的交互数据后,可以将交互数据发送到与直播进程具有连接关系的各个子程序进程中(包括第一子程序进程和第二子程序进程),这样,交互数据不止可以展示在第一子程序界面上,当切换至第二子程序后,也可以直接在第二子程序界面上展示所述交互数据,保证了交互数据的展示不中断,在简化主播端开启直播方法的同时,可以不改变主播端的直播方法以及用户端的观看习惯。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种直播方法进行详细介绍,本公开实施例所提供的直播方法的执行主体一般为具有一定计算能力的终端设备,所述终端设备一般为具有显示屏的设备,例如可以为智能手机、平板电脑、个人计算机等。
本文中所述第一子程序进程为第一子程序对应的进程,第一子程序界面为第一子程序对应的展示界面;所述第二子程序进程为第二子程序对应的进程,第二子程序界面为第二子程序对应的展示界面;所述第一子程序和所述第二子程序均为目标应用程序中的子程序,所述目标应用程序中的子程序为无需安装的程序,示例性的可以为小程序。
参见图1所示,为本公开实施例提供的直播方法的流程图,所述方法包括步骤101~步骤103,其中:
步骤101、响应在目标应用程序展示的第一子程序界面发起的直播请求,并基于直播进程对所述第一子程序界面进行推流直播。
步骤102、接收服务器发送的交互数据,将所述交互数据发送至与所述直播进程具有连接关系的子程序进程,并在所述第一子程序界面上展示所述交互数据,所述与所述直播进程具有连接关系的子程序进程包括第一子程序进程。
步骤103、响应子程序切换操作,通过切换后的第二子程序进程接收的交互数据,在第二子程序界面上展示所述交互数据,其中,所述第二子程序进程与所述直播进程具有连接关系。
以下是对上述步骤的详细介绍。
针对步骤101、
一种可能的实施方式中,可以响应作用在所述目标应用程序界面的目标触发操作,展示所述第一子程序界面对应的页面数据,这里,所述目标触发操作可以是针对目标应用程序的触发操作,例如可以是在目标应用程序的主界面的下拉操作之后,针对第一子程序界面入口的触发操作,所述触发操作可以包括但不仅限于单击、双击、长按、重按等;或者所述目标触发操作可以直接是作用于所述目标应用程序的主界面的上述触发操作中的任意一种;例如若直接在目标应用程序的主界面上重按,则展示所述第一子程序界面。
一种可能的实施方式中,所述直播请求可以是触发所述第一子程序界面的目标按钮后生成的指令,例如,在展示所述第一子程序界面时,展示界面可以如图2所示,展示界面上可以添加“体验“游戏围观”新功能”的弹窗,用户在点击“立即体验”后,可以生成直播指令。
用户还可以点击下方“同步开启麦克风”的选择按钮,以在直播过程中通过麦克风采集其他声音数据;若用户并未点击下方“同步开启麦克风”的选择按钮,则在直播过程中,推流的音视频数据仅包括第一子程序界面的音视频数据。
另外,用户还可以点击右上角“暂不开启”的按钮,仅选择玩游戏,而不进行直播。
在一种可能的实施方式中,在基于所述直播进程对所述第一子程序界面进行推流直播时,可以先基于所述第一子程序对应的音视频数据采集进程采集所述第一子程序界面的音视频数据,然后将所述音视频数据从所述音视频数据采集进程发送至所述直播进程,并基于所述直播进程对所述音视频数据进行推流直播。
所述音视频数据采集进程可以包括画面渲染线程、视频数据采集线程、音频播放线程、音频数据采集线程等。
具体的,在采集所述第一子程序界面的音视频数据时,在展示所述第一子程序界面时,可以启动画面渲染线程渲染所述第一子程序界面的视频数据,同时基于所述画面渲染线程将所述第一子程序界面的视频数据同步渲染到创建的纹理上;然后基于视频数据采集线程周期性获取所述纹理上的纹理数据,所述纹理数据即为所述视频数据。
在展示所述第一子程序界面时,还需要同时启动所述音频播放播放所述第一子程序界面中的音频数据,同时,可以基于所述音频播放线程采集所述第一子程序界面中的音频数据;然后基于音频数据采集线程周期性采集所述音频数据。
若用户点击了图2中所述的“同步开启麦克风”的选择按钮,则可以通过第一子程序进程控制麦克风,采集其他音频数据;然后将所述其他音频数据从所述第一子程序进程发送至所述直播进程,在基于所述直播进程对所述音视频进行推流直播时,可以先将所述音视频数据和所述其他音频数据进行融合,然后将融合后的音视频数据发送至直播进程,再基于所述直播进程对融合后的音视频数据进行推流直播。
其中,在将所述音视频数据和所述其他音频数据进行融合时,可以是将所述音视频数据中的音频数据与其他音频数据进行融合,由于音频播放线程和麦克风是同时采集的音频数据,因此在将所述音频数据和所述其他音频数据进行融合时,可以基于采集的音频数据对应的时间戳,直接将音频播放线程采集的音频数据和麦克风采集的其他音频数据进行融合,得到融合后的音频数据。
这里,所述麦克风采集的其他声音数据可以理解为外界的声音数据,即非执行本公开所提供的方法的电子设备发出的声音,实际应用中,所述麦克风主要用于采集主播端的主播的声音。
在一种可能的实施方式中,在将音视频数据从第一子程序进程发送至直播进程时,为提高跨进程数据传输的效率,降低跨进程数据传输带来的资源消耗,可以对所述音视频数据进行打包和/或压缩处理,然后将处理后的音视频数据从所述第一子程序进程发送至所述直播进程。
这里,所述进行压缩处理,一般是对视频数据进行压缩处理。
所述直播进程,可以是在响应在目标应用程序展示的第一子程序界面发起的直播请求后,建立的新的进程,或者可以是指所述目标应用程序的主进程,所述目标应用程序的主进程中可以包括直播模块,在响应在目标应用程序展示的第一子程序界面发起的直播请求后,启动所述直播模块,并将所述主进程作为所述直播进程。
针对步骤102、
在一种可能的实施方式中,所述交互数据可以是指虚拟礼物、弹幕信息等,或者所述交互数据可以是在主播直播过程中,任何观众端发送的与主播之间进行互动的数据。
所述与直播进程具有连接关系的子程序进程可以是指在响应在目标应用程序展示的第一子程序界面发起的直播请求之前,所有已启动的子程序进程。在响应在目标应用程序展示的第一子程序界面发起的直播请求之后,可以建立直播进程与当前所有已启动的子程序进程之间的连接,这里,所述当前所有已启动的子程序进程包括第一子程序进程,以及在后台运行的其他子程序进程。
建立直播进程与其他子程序进程之间的连接的目的在于,将其他子程序进程的音视频数据跨进程传输至直播进程,示例性的可以通过Binder通信拉起直播进程LocalSocketServer服务,在服务拉起后,可以建立所述直播进程与子程序进程之间的连接。
在将所述交互数据发送至与所述直播进程具有连接关系的子程序进程时,可以是将所述交互数据发送至所述已启动的子程序进程中。
实际应用中,可以接收服务器周期性发送的交互数据,然后基于各个交互数据发送至服务器的时间信息,展示所述各个交互数据。示例性的,最后发送的交互数据展示在最下方。
在一种可能的实施方式中,在第一子程序界面上展示所述交互数据时,可以是在所述第一子程序界面的预设位置区域叠加展示所述交互数据,不同的交互数据对应的预设位置区域可能不同。
需要说明的是,由于所述交互数据并不属于所述第一子程序界面本身的音视频数据,因此即使在第一子程序界面上叠加展示了交互数据之后,在对第一子程序界面进行推流直播时,也并不会将展示的交互数据直播出去。
在一种可能的实施方式中,在将所述交互数据叠加展示在所述第一子程序界面上时,可以是在所述第一子程序界面上添加UI组件,所述UI组件用于展示所述交互数据,所述UI组件可以支持上下滑动以供主播端查看历史交互数据,以及支持拖动操作,用户可以将所述UI组件拖动到任意位置,以避免展示的交互数据影响主播在第一子程序界面上的操作。
针对步骤103、
这里,所述响应子程序切换操作,可以是在检测到当前展示的第一子程序界面切换至其他已启动但是未展示的子程序进程界面。示例性的,可以确定每个已启动的子程序界面的展示状态,所述展示状态用于表示子程序界面当前是否被展示,当检测到所述第一子程序界面的展示状态为“未展示”,而其他第二子程序界面的展示状态由未展示切换为“展示”时,可以确定用户执行了子程序切换操作。
由于在发送交互数据时,除了向第一子程序进程发送外,同时向其他已启动未展示的子程序进程发送了交互数据,因此在由第一子程序界面切换至第二子程序界面时,第二子程序进程有所述交互数据,因此可以直接展示所述交互数据,进而保证交互数据的展示不中断。
进一步的,在子程序切换的过程中,可能任一子程序界面的展示状态均为“未展示”,例如在用户将目标应用程序切换到后台,或者用户长期展示切换的界面等情况下,为了保证观众端观看直播不中断,因此可以确定推流的最后一帧视频帧,然后基于所述最后一帧视频帧进行推流直播,即向服务器重复发送所述最后一帧视频帧。
这里,所述最后一帧视频帧可以是在推流过程中,最后一个展示状态为“展示”的子程序进程的最后一帧视频帧。
在基于最后一帧视频帧进行推流直播时,可以通过麦克风采集其他音频数据,将所述最后一帧视频帧和所述其他音频数据同步推流至服务器。
在另外一种可能的实施方式中,在接收服务器发送的交互数据后,还可以将交互数据存储在直播进程中,当检测到第三子程序启动,展示第三子程序界面时,由于第三子程序进程之前并未与直播进程建立连接,因此第三子程序进程之前并未接收到交互数据,此时需要直播进程将存储的交互数据发送至第三子程序进程,以在第三子程序界面上展示所述交互数据。
在另外一种可能的实施方式中,所述直播进程还可以实施检测各个子程序进程的存活情况,当检测到所有的子程序进程都被关闭时,关闭所述直播进程。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与直播方法对应的直播装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述直播方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图3所示,为本公开实施例提供的一种直播装置的架构示意图,所述装置包括:直播模块301、处理模块302、展示模块303;其中,
直播模块301,用于响应在目标应用程序展示的第一子程序界面发起的直播请求,并基于直播进程对所述第一子程序界面进行推流直播;
处理模块302,用于接收服务器发送的交互数据,将所述交互数据发送至与所述直播进程具有连接关系的子程序进程,并在所述第一子程序界面上展示所述交互数据,所述与所述直播进程具有连接关系的子程序进程包括第一子程序进程;
展示模块303,用于响应子程序切换操作,通过切换后的第二子程序进程接收的交互数据,在第二子程序界面上展示所述交互数据,其中,所述第二子程序进程与所述直播进程具有连接关系。
一种可能的实施方式中,所述直播模块301,还用于:
确定在响应在目标应用程序展示的第一子程序界面发起的直播请求之前,所有已启动的子程序进程;
建立所述直播进程与所述已启动的子程序进程之间的连接,以通过所述直播进程对所述已启动的子程序进程对应的子程序界面进行推流直播;
所述处理模块302,在将所述交互数据发送至与所述直播进程具有连接关系的子程序进程时,用于:
将所述交互数据发送至所述已启动的子程序进程。
一种可能的实施方式中,在接收服务器发送的交互数据后,所述处理模块302还用于:
将所述交互数据存储在所述直播进程;
响应第三子程序启动,并展示第三子程序界面;
将所述直播进程存储的交互数据发送至所述第三子程序进程,以在所述第三子程序界面上展示所述交互数据。
一种可能的实施方式中,所述直播模块301,还用于:
检测当前启动的各个子程序界面的展示状态,所述展示状态用于表示所述子程序界面是否被展示;
当所有的子程序界面的展示状态均为未展示时,确定推流的最后一帧视频帧;
基于所述最后一帧视频帧进行推流直播。
一种可能的实施方式中,所述直播模块301,在基于所述直播进程对所述第一子程序界面进行推流直播时,用于:
基于所述第一子程序对应的音视频数据采集进程采集所述第一子程序界面的音视频数据;
将所述音视频数据从所述音视频数据采集进程发送至所述直播进程,并基于所述直播进程对所述音视频数据进行推流直播。
一种可能的实施方式中,所述直播模块301,还用于:
控制麦克风采集其他音频数据;
将所述其他音频数据发送至所述直播进程;
所述直播模块301,在基于所述直播进程对所述音视频数据进行推流直播时,用于:
将所述音视频数据和所述其他音频数据进行融合;
基于所述直播进程对融合后的音视频数据进行推流直播。
一种可能的实施方式中,所述直播模块301,在将所述音视频数据从所述第一子程序进程发送至所述直播进程时,用于:
对所述音视频数据进行打包和/或压缩处理,并将处理后的音视频数据从所述第一子程序进程发送至所述直播进程。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图4所示,为本公开实施例提供的计算机设备400的结构示意图,包括处理器401、存储器402、和总线403。其中,存储器402用于存储执行指令,包括内存4021和外部存储器4022;这里的内存4021也称内存储器,用于暂时存放处理器401中的运算数据,以及与硬盘等外部存储器4022交换的数据,处理器401通过内存4021与外部存储器4022进行数据交换,当计算机设备400运行时,处理器401与存储器402之间通过总线403通信,使得处理器401在执行以下指令:
响应在目标应用程序展示的第一子程序界面发起的直播请求,并基于直播进程对所述第一子程序界面进行推流直播;
接收服务器发送的交互数据,将所述交互数据发送至与所述直播进程具有连接关系的子程序进程,并在所述第一子程序界面上展示所述交互数据,所述与所述直播进程具有连接关系的子程序进程包括第一子程序进程;
响应子程序切换操作,通过切换后的第二子程序进程接收的交互数据,在第二子程序界面上展示所述交互数据,其中,所述第二子程序进程与所述直播进程具有连接关系。
一种可能的实施方式中,处理器401执行的指令中,还包括:
确定在响应在目标应用程序展示的第一子程序界面发起的直播请求之前,所有已启动的子程序进程;
建立所述直播进程与所述已启动的子程序进程之间的连接,以通过所述直播进程对所述已启动的子程序进程对应的子程序界面进行推流直播;
所述将所述交互数据发送至与所述直播进程具有连接关系的子程序进程,包括:
将所述交互数据发送至所述已启动的子程序进程。
一种可能的实施方式中,处理器401执行的指令中,在接收服务器发送的交互数据后,所述方法还包括:
将所述交互数据存储在所述直播进程;
响应第三子程序启动,并展示第三子程序界面;
将所述直播进程存储的交互数据发送至所述第三子程序进程,以在所述第三子程序界面上展示所述交互数据。
一种可能的实施方式中,处理器401执行的指令中,还包括:
检测当前启动的各个子程序界面的展示状态,所述展示状态用于表示所述子程序界面是否被展示;
当所有的子程序界面的展示状态均为未展示时,确定推流的最后一帧视频帧;
基于所述最后一帧视频帧进行推流直播。
一种可能的实施方式中,处理器401执行的指令中,所述基于所述直播进程对所述第一子程序界面进行推流直播,包括:
基于所述第一子程序对应的音视频数据采集进程采集所述第一子程序界面的音视频数据;
将所述音视频数据从所述音视频数据采集进程发送至所述直播进程,并基于所述直播进程对所述音视频数据进行推流直播。
一种可能的实施方式中,处理器401执行的指令中,所述方法还包括:
控制麦克风采集其他音频数据;
将所述其他音频数据发送至所述直播进程;
所述基于所述直播进程对所述音视频数据进行推流直播,包括:
将所述音视频数据和所述其他音频数据进行融合;
基于所述直播进程对融合后的音视频数据进行推流直播。
一种可能的实施方式中,处理器401执行的指令中,所述将所述音视频数据从所述第一子程序进程发送至所述直播进程,包括:
对所述音视频数据进行打包和/或压缩处理,并将处理后的音视频数据从所述第一子程序进程发送至所述直播进程。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的直播方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的直播方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种直播方法,其特征在于,包括:
响应在目标应用程序展示的第一子程序界面发起的直播请求,并基于直播进程对所述第一子程序界面进行推流直播;
接收服务器发送的交互数据,将所述交互数据发送至与所述直播进程具有连接关系的多个子程序进程,并在所述第一子程序界面上展示所述交互数据,所述与所述直播进程具有连接关系的多个子程序进程包括第一子程序进程;
响应子程序切换操作,通过切换后的第二子程序进程接收的交互数据,在第二子程序界面上展示所述交互数据,其中,所述第二子程序进程与所述直播进程具有连接关系,所述第一子程序和所述第二子程序均为目标应用程序中无需安装的子程序。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定在响应目标应用程序展示的第一子程序界面发起的直播请求之前,所有已启动的子程序进程;
建立所述直播进程与所述已启动的子程序进程之间的连接,以通过所述直播进程对所述已启动的子程序进程对应的子程序界面进行推流直播;
所述将所述交互数据发送至与所述直播进程具有连接关系的多个子程序进程,包括:
将所述交互数据发送至所述已启动的子程序进程。
3.根据权利要求1所述的方法,其特征在于,在接收服务器发送的交互数据后,所述方法还包括:
将所述交互数据存储在所述直播进程;
响应第三子程序启动,并展示第三子程序界面;
将所述直播进程存储的交互数据发送至所述第三子程序进程,以在所述第三子程序界面上展示所述交互数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测当前启动的各个子程序界面的展示状态,所述展示状态用于表示所述子程序界面是否被展示;
当所有的子程序界面的展示状态均为未展示时,确定推流的最后一帧视频帧;
基于所述最后一帧视频帧进行推流直播。
5.根据权利要求1所述的方法,其特征在于,所述基于直播进程对所述第一子程序界面进行推流直播,包括:
基于所述第一子程序对应的音视频数据采集进程采集所述第一子程序界面的音视频数据;
将所述音视频数据从所述音视频数据采集进程发送至所述直播进程,并基于所述直播进程对所述音视频数据进行推流直播。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
控制麦克风采集其他音频数据;
将所述其他音频数据发送至所述直播进程;
所述基于所述直播进程对所述音视频数据进行推流直播,包括:
将所述音视频数据和所述其他音频数据进行融合;
基于所述直播进程对融合后的音视频数据进行推流直播。
7.根据权利要求5所述的方法,其特征在于,所述将所述音视频数据从所述第一子程序进程发送至所述直播进程,包括:
对所述音视频数据进行打包和/或压缩处理,并将处理后的音视频数据从所述第一子程序进程发送至所述直播进程。
8.一种直播装置,其特征在于,包括:
直播模块,用于响应在目标应用程序展示的第一子程序界面发起的直播请求,并基于直播进程对所述第一子程序界面进行推流直播;
处理模块,用于接收服务器发送的交互数据,将所述交互数据发送至与所述直播进程具有连接关系的多个子程序进程,并在所述第一子程序界面上展示所述交互数据,所述与所述直播进程具有连接关系的多个子程序进程包括第一子程序进程;
展示模块,用于响应子程序切换操作,通过切换后的第二子程序进程接收的交互数据,在第二子程序界面上展示所述交互数据,其中,所述第二子程序进程与所述直播进程具有连接关系,所述第一子程序和所述第二子程序均为目标应用程序中无需安装的子程序。
9.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一项所述的直播方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一项所述的直播方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110500138.8A CN113242441B (zh) | 2021-05-08 | 2021-05-08 | 一种直播方法、装置、计算机设备及存储介质 |
US18/277,217 US20240129557A1 (en) | 2021-05-08 | 2022-04-08 | Live streaming method and apparatus, and computer device and storage medium |
PCT/CN2022/085856 WO2022237414A1 (zh) | 2021-05-08 | 2022-04-08 | 一种直播方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110500138.8A CN113242441B (zh) | 2021-05-08 | 2021-05-08 | 一种直播方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113242441A CN113242441A (zh) | 2021-08-10 |
CN113242441B true CN113242441B (zh) | 2023-02-24 |
Family
ID=77132670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110500138.8A Active CN113242441B (zh) | 2021-05-08 | 2021-05-08 | 一种直播方法、装置、计算机设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240129557A1 (zh) |
CN (1) | CN113242441B (zh) |
WO (1) | WO2022237414A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242441B (zh) * | 2021-05-08 | 2023-02-24 | 北京有竹居网络技术有限公司 | 一种直播方法、装置、计算机设备及存储介质 |
CN113419809B (zh) * | 2021-08-23 | 2022-01-25 | 北京蔚领时代科技有限公司 | 实时交互程序界面数据渲染方法及设备 |
CN116456123B (zh) * | 2023-06-16 | 2023-09-12 | 北京焦点新干线信息技术有限公司 | 一种实现多设备切换直播的方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254899A (zh) * | 2016-08-16 | 2016-12-21 | 网宿科技股份有限公司 | 一种直播连麦的控制方法和系统 |
CN106406998A (zh) * | 2016-09-28 | 2017-02-15 | 北京奇虎科技有限公司 | 一种用户界面处理方法和装置 |
CN107613313A (zh) * | 2017-10-09 | 2018-01-19 | 武汉斗鱼网络科技有限公司 | 一种多个直播视频的播放方法及装置 |
WO2020200302A1 (zh) * | 2019-04-03 | 2020-10-08 | 广州虎牙信息科技有限公司 | 直播方法、装置、计算机设备与存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7046269B2 (en) * | 2001-10-16 | 2006-05-16 | Sprint Communications Company L.P. | Sharing of prerecorded motion video over an internetwork |
US20150304605A1 (en) * | 2009-12-07 | 2015-10-22 | Anthony Hartman | Interactive video system |
CA3097897A1 (en) * | 2018-04-30 | 2019-11-07 | Breakthrough Performancetech, Llc | Interactive application adapted for use by multiple users via a distributed computer-based system |
CN109246442A (zh) * | 2018-11-21 | 2019-01-18 | 广州虎牙科技有限公司 | 一种多用户直播方法、终端设备和存储介质 |
CN109831673B (zh) * | 2018-12-29 | 2021-06-18 | 北京字节跳动网络技术有限公司 | 一种直播间数据处理方法、装置、设备及存储介质 |
CN112738608B (zh) * | 2019-10-28 | 2022-07-26 | 腾讯科技(深圳)有限公司 | 直播视频互动方法、客户端、设备及介质 |
CN112770172A (zh) * | 2021-01-25 | 2021-05-07 | 北京有竹居网络技术有限公司 | 一种直播监控方法、装置、计算机设备及存储介质 |
CN113242441B (zh) * | 2021-05-08 | 2023-02-24 | 北京有竹居网络技术有限公司 | 一种直播方法、装置、计算机设备及存储介质 |
-
2021
- 2021-05-08 CN CN202110500138.8A patent/CN113242441B/zh active Active
-
2022
- 2022-04-08 US US18/277,217 patent/US20240129557A1/en active Pending
- 2022-04-08 WO PCT/CN2022/085856 patent/WO2022237414A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254899A (zh) * | 2016-08-16 | 2016-12-21 | 网宿科技股份有限公司 | 一种直播连麦的控制方法和系统 |
CN106406998A (zh) * | 2016-09-28 | 2017-02-15 | 北京奇虎科技有限公司 | 一种用户界面处理方法和装置 |
CN107613313A (zh) * | 2017-10-09 | 2018-01-19 | 武汉斗鱼网络科技有限公司 | 一种多个直播视频的播放方法及装置 |
WO2020200302A1 (zh) * | 2019-04-03 | 2020-10-08 | 广州虎牙信息科技有限公司 | 直播方法、装置、计算机设备与存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113242441A (zh) | 2021-08-10 |
WO2022237414A1 (zh) | 2022-11-17 |
US20240129557A1 (en) | 2024-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113242441B (zh) | 一种直播方法、装置、计算机设备及存储介质 | |
CN110636353B (zh) | 一种显示设备 | |
WO2019007227A1 (zh) | 一种在页面切换后继续显示视图的方法和装置 | |
WO2017181599A1 (zh) | 一种显示视频的方法及装置 | |
US10271105B2 (en) | Method for playing video, client, and computer storage medium | |
CN110798615A (zh) | 一种拍摄方法、装置、存储介质以及终端 | |
CN111541930A (zh) | 直播画面的显示方法、装置、终端及存储介质 | |
CN111970549B (zh) | 菜单显示方法和显示设备 | |
CN112073798A (zh) | 一种数据传输方法及设备 | |
CN112399232A (zh) | 一种显示设备、摄像头优先级使用的控制方法及装置 | |
WO2020248697A1 (zh) | 显示设备及视频通讯数据处理方法 | |
CN112506859B (zh) | 一种维护硬盘数据的方法及显示设备 | |
CN112068987A (zh) | 一种快速进行恢复出厂设置的方法及装置 | |
CN112770172A (zh) | 一种直播监控方法、装置、计算机设备及存储介质 | |
US11194598B2 (en) | Information display method, terminal and storage medium | |
CN111984167B (zh) | 一种快捷命名的方法及显示设备 | |
CN112463267B (zh) | 在显示设备屏幕上呈现屏保信息的方法及显示设备 | |
CN113923469B (zh) | 直播中礼物连送的处理方法、装置、设备和存储介质 | |
CN115484490A (zh) | 一种视频处理方法、装置、设备及存储介质 | |
CN112073812B (zh) | 一种智能电视上的应用管理方法及显示设备 | |
CN112804551A (zh) | 一种直播方法、装置、计算机设备及存储介质 | |
CN115373558A (zh) | 投屏方法、装置、设备及存储介质 | |
CN112995113B (zh) | 一种显示设备、端口控制方法及存储介质 | |
CN112199612B (zh) | 一种书签添加和合并的方法及显示设备 | |
CN112738576B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230621 Address after: 100190 1309, 13th floor, building 4, Zijin Digital Park, Haidian District, Beijing Patentee after: Beijing volcano Engine Technology Co.,Ltd. Address before: Room 802, Information Building, 13 Linyin North Street, Pinggu District, Beijing, 101299 Patentee before: Beijing youzhuju Network Technology Co.,Ltd. |
|
TR01 | Transfer of patent right |