CN112565807A - 用于局域网内的直播的方法、设备、介质及计算机程序产品 - Google Patents
用于局域网内的直播的方法、设备、介质及计算机程序产品 Download PDFInfo
- Publication number
- CN112565807A CN112565807A CN202011409904.1A CN202011409904A CN112565807A CN 112565807 A CN112565807 A CN 112565807A CN 202011409904 A CN202011409904 A CN 202011409904A CN 112565807 A CN112565807 A CN 112565807A
- Authority
- CN
- China
- Prior art keywords
- live
- period
- instruction
- viewer
- image
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004590 computer program Methods 0.000 title claims abstract description 25
- 230000005540 biological transmission Effects 0.000 claims abstract description 38
- 230000004044 response Effects 0.000 claims abstract description 32
- 238000004891 communication Methods 0.000 description 11
- 230000001413 cellular effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44227—Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
-
- 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/60—Network 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/63—Control 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/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开涉及一种用于局域网内的直播的方法、设备、介质和计算机程序产品。根据本公开实施例的用于局域网内的直播的方法包括:检测音频采集器是否已开启;响应于检测到音频采集器未开启,进入图像传输模式,以执行如下步骤:根据来自直播端的输入设备的指令或来自观众端的指令,设置图像捕获周期;根据所设置的图像捕获周期,捕获直播端的桌面直播区域的图像;向观众端发送所捕获的图像的未经视频传输协议编码的原始图像数据。
Description
技术领域
本公开涉及局域网传输技术,更具体地,涉及一种用于局域网内的直播的方法、设备、介质及计算机程序产品。
背景技术
随着时代的发展,越来越多的机构选择在其内部进行直播,以便共享优质信息资源,降低传播该资源的成本。例如,在学校中,可以在多个教室直播同一老师在直播端的演示内容,使得多个教室中的学生可以同时观看该老师的演示。
现有直播软件大多被设计为通过广域网直播。当使用这种直播软件时,直播端(例如,直播者的计算机、手机等电子设备)采集直播者所希望呈现的画面和声音,并将对应于所采集到的画面和声音的流媒体通过广域网推流到直播软件供应商的服务器;观众端(例如,观看者的计算机、手机等电子设备)向该服务器发出拉流请求,以获取相应的流媒体在本地进行播放。
然而,对于上述机构的内部直播,使用广域网进行直播至少存在以下问题:
1、直播端、观众端均需要连接到广域网上进行数据传输,因此,对该机构的广域网带宽有较高的要求;
2、直播软件供应商的服务器往往同时支持多场直播,因此,直播的稳定性较差;
3、机构内的直播经常包括不希望机构外人员获取到的内容,而将对应于直播内容的流媒体推流到公共服务器上,对直播内容的保密性带来了挑战。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
根据本公开的一方面,提供一种用于局域网内的直播的方法,该方法用于直播端,包括:检测音频采集器是否已开启;响应于检测到音频采集器未开启,进入图像传输模式,以执行如下步骤:根据来自直播端的输入设备的指令或来自观众端的指令,设置图像捕获周期;根据所设置的图像捕获周期,捕获直播端的桌面直播区域的图像;向观众端发送所捕获的图像的未经视频传输协议编码的原始图像数据。
根据本公开的另一方面,提供一种电子设备,该电子设备包括:存储器、处理器以及存储在该存储器上的计算机程序,其中,该处理器被配置为执行所述计算机程序以实现如本公开中所述的方法的步骤。
根据本公开的又一方面,提供一种非暂态计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如本公开中所述的方法的步骤。
根据本公开的又一方面,提供一种计算机程序产品,包括计算机程序,其中,该计算机程序被处理器执行时实现如本公开中所述的方法的步骤。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1是根据本公开的示例性实施例的局域网直播系统的示意图;
图2是根据本公开的示例性实施例的用于局域网内的直播的方法的流程图;
图3是根据本公开的示例性实施例的用于局域网内的直播的方法的流程图;
图4是根据本公开的示例性实施例的用于局域网内的直播的方法的流程图;
图5示出了根据本公开的示例性实施例的用于局域网内的直播的电子设备的示意性框图。
具体实施方式
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
为了避免因使用广域网进行直播所带来的各种问题,许多机构选择使用其内部的局域网进行直播:
1)直播端、观众端仅通过内部的局域网进行数据传输,而无需访问广域网,因此不会受到该机构的广域网带宽的限制;
2)由于局域网内同时进行的直播场数较少,直播的稳定性较好;
3)由于只有连接到内部局域网的观看端才能获取直播内容,确保了直播内容的保密性。
图1示出了根据本公开的示例性实施例的局域网直播系统100的示意图。
参考图1,局域网直播系统100包括:直播端110、观众端120以及将直播端110和观众端120通信地耦合的局域网130。
直播端110包括直播端显示屏112、音频采集器113和输入设备115,其中,直播端显示屏112包括经由直播端显示屏112显示的直播端界面114。直播者101通过输入设备115操作直播端110,以在直播端界面114中展示希望展示的内容(例如,直播者101所希望展示的幻灯片)。直播端110可以捕获直播者101在直播端界面114中所展示的画面,也可以通过音频采集器113(例如,麦克风)采集直播者101的声音(例如,直播者101对其所展示的幻灯片所做的解说)。直播端110通过局域网130向观众端120推送直播流媒体,其中,该直播流媒体包括所捕获的视频流数据和/或音频流数据。在一些实施例中,直播端110可以是任何类型的移动电子设备,包括移动计算机或移动电子设备(例如,设备、个人数字助理(PDA)、膝上型计算机、笔记本计算机、诸如Apple iPadTM的平板计算机、上网本等)、移动电话(例如,蜂窝电话、诸如Microsoft电话的智能手机、Apple iPhone、实现了AndroidTM操作系统的电话、设备,设备等)或其他类型的移动设备。在另一些实施例中,直播端110也可以是固定式电子设备,例如台式机、服务器式计算机或其他类型的固定式电子设备。
观众端120包括观众端显示屏122、音频播放器123和输入设备125,其中,观众端显示屏122包括经由直播端显示屏122显示的观众端界面124。响应于接收到来自直播端110的直播流媒体,观众端120可以在观众端界面124上显示直播画面,也可以通过音频播放器123播放直播音频,以便观众120观看和/或收听直播内容。
根据一些实施例,观众102中还可以包括讲解者,该讲解者对观众端界面124上显示的画面进行解说(例如,直播者101在直播端110播放幻灯片,而教师则在观众端120所在的教室中对观看端界面124上所显示的幻灯片进行解说),此时,直播端110仅需要向观看端120传输对应于直播画面的视频流数据,而无需传输音频流数据。为了便于描述,下文中将讲解者属于观众102的情况称为“本地讲解”。
根据一些实施例,讲解者可以通过输入设备125(例如,鼠标)向观众端120输入直播控制指令,而观众端120将接收到的直播控制指令发送到直播端110,以控制直播端110的直播(例如,讲解者输入控制直播端幻灯片翻页的指令)。使用这种方式,可以实现讲解者对所讲解的内容的控制。
根据另一些实施例,直播者101在直播端102展示直播画面,并做出相应的讲解,此时,直播端110同时向观看端120传输对应于直播画面的视频流数据和对于直播者讲解的音频流数据。为了便于描述,下文中将这种讲解者属于直播者101的情况称为“异地讲解”。
应当理解,虽然图1中仅示出了一个观众端120,但图1仅是示意性的,观众端120的数目可以为多于一个。
相对于“异地讲解”,“本地讲解”仅需要传输直播画面,但是,由于本地讲解者需要参考观众端120的直播画面进行讲解,对直播的流畅度和实时性要求更高。对于“本地讲解”的上述特点,本公开实施例提供了一种用于局域网内的直播的方法,该方法用于直播端(例如,图1中的直播端110),包括:检测音频采集器(例如,图1中的音频采集器113)是否已开启;响应于检测到音频采集器未开启,进入图像传输模式,以执行如下步骤:根据来自直播端的输入设备(例如,图1中的输入设备115)的指令或来自观众端(例如,图1中的观众端120)的指令,设置图像捕获周期;根据所设置的图像捕获周期,捕获直播端的桌面直播区域的图像;向观众端发送所捕获的图像的未经视频传输协议编码的原始图像数据。
图2是根据本公开的示例性实施例的用于局域网内的直播的方法200的流程图。该方法适用于直播端(例如,图1中的直播端110)。在以下对方法200进行的描述中,音频采集器例如可以是图1中的音频采集器113,直播端的输入设备例如可以是图1中的输入设备115,观众端例如可以是图1中的观众端120。
在步骤S201中,检测音频采集器(例如,图1中的音频采集器113)是否已开启。
根据一些实施例,检测音频采集器是否开启可以为检测直播端的音频采集器是否被禁用。例如,检测直播端的直播软件的静音设置是否开启,其中,响应于检测到直播软件的静音设置开启,判断为音频采集器未开启,响应于检测到直播软件的静音设备未开启,判断为音频采集器已开启。
根据另一些实施例,检测音频采集器是否开启可以为:直播端提示直播者在指定时间内发声,并检测是否接收到直播者的声音,其中,响应于接收到直播者的声音,判断为音频采集器已开启,响应于未接收到直播者的声音,判断为音频采集器未开启。
在步骤S203中,响应于检测到音频采集器未开启,进入图像传输模式。
在直播中,音频采集器未开启意味着此时无需从直播端向观众端传输音频(例如,“本地讲解”或其它只需要直播画面的模式)。因此,在本公开实施例所提供的用于局域网内的直播的方法中,直播端可以根据检测音频采集器的状态而自动识别是否需要进入这种不需要传输音频、仅需要直播画面的模式。
在步骤S205中,根据来自直播端的输入设备(例如,图1中的输入设备115)的指令或来自观众端(例如,图1中的观众端120)的指令,设置图像捕获周期。
根据一些实施例,根据来自直播端的输入设备的指令或来自观众端的指令,设置图像捕获周期,包括:响应于接收到开始直播的指令,将图像捕获周期设置为第一周期;响应于接收到开始内容展示的指令,进入内容展示模式,并将图像捕获周期设置为第二周期;响应于接收到结束内容展示的指令,退出内容展示模式,并将图像捕获周期设置为第一周期,其中,第一周期大于第二周期。
在进行直播时,并不总是在进行直播内容展示,例如,在刚开始直播时,往往先测试观众端能否正常地观看到直播端的画面,再进行内容展示,或者,在结束展示一个文件后,往往间隔一段时间再展示下一个文件。在这些不进行内容展示的时间段,对直播的实时性要求较低,因此,相较于处于内容展示模式时,在处于非内容展示模式时可以以较低的频率来捕获直播端的所要展示的图像,即以较长的图片捕获周期来捕获直播端的所要展示的图像。例如,在非内容展示模式时,将图像捕获周期设置为第一周期;在内容展示模式时,将图像捕获周期设置为第二周期,其中,第一周期大于第二周期。
根据一些实施例,直播端接收来自直播端的输入设备的指令,例如,直播者通过直播端的输入设备输入的指令。根据另一些实施例,直播端接收来自观众端的指令,例如,观众中的讲解者通过观众端的输入设备(例如,图1中的输入设备125)输入指令,而观众端将接收到的指令通过局域网(例如,图1中的局域网130)传输到直播端,以控制直播端的直播。
根据一些实施例,开始直播的指令可以是例如直播者或观众中的讲解者确认开始直播的指令。根据一些实施例,开始内容展示的指令,可以是例如直播者或者观众中的讲解者打开直播端的待展示文件的指令,也可以是例如直播者在直播端界面(例如,图1中的直播端界面114)上设定桌面直播区域的指令。
根据一些实施例,根据来自直播端的输入设备的指令或来自观众端的指令,设置图像捕获周期,还包括:在处于内容展示模式时:响应于接收到演示操作的指令,将图像捕获周期设置为第三周期;响应于在预设时间段内没有接收到演示操作的指令,将图像捕获周期设置为第二周期,其中,第二周期大于第三周期。
在进行内容展示时,直播画面并非一直在发生变化,而仅在接收到演示操作后才发生变化,例如,当展示幻灯片时,仅在幻灯片翻页或播放其中的动画时,直播画面才发生变化。相较于未接收到演示操作的指令的时段,在直播画面响应于演示操作而发生变化时,对直播的实时性要求较高,因此,相较于直播画面不发生变化的时段,在直播画面响应于演示操作而发生变化时,应当以较高的频率来捕获直播端的所要展示的图像,即以较短的图片捕获周期来捕获直播端的所要展示的图像。例如,在直播画面不发生变化的时段时(例如,在预设时间段内没有接收到演示操作的指令时),将图像捕获周期设置为第二周期,在直播画面响应于演示操作而发生变化时(例如,在接收到演示操作时),将图像捕获周期设置为第三周期,其中,第二周期大于第三周期。
根据一些实施例,第一周期可以在3-10秒的范围内,第二周期可以在1-2秒的范围内,第三周期可以在100-200毫秒的范围内,而预定时间段可以在1-10分钟的范围内。
根据一些实施例,可以通过Windows应用程序接口来监听来自直播端的输入设备的指令或来自观众端的指令。例如,可以通过Windows应用程序接口监听到直播者点击直播软件的按钮或者操作展示内容的相应事件;或者,可以通过Windows应用程序接口监听来自观众端的消息,并判断所接收到的消息是否包含直播控制指令。然而,本公开不限于此。在直播端使用不同于Windows的操作系统的实施例中,可以通过其他适当的应用程序接口来监听来自直播端的输入设备的指令或来自观众端的指令。
在步骤S207中,根据所设置的图像捕获周期,捕获直播端的桌面直播区域的图像。
根据一些实施例,在直播过程中,如果直播端根据来自直播端的输入设备的指令或客户端的指令改变了图像捕获周期,则按照改变后的图像捕获周期重新计算下一次捕获直播端的图像的时间。
将理解的是,步骤S205和步骤S207并非总是顺序执行的。实际上,在执行两次图像捕获期间,也可以重新设置图像捕获周期。
在步骤S209中,向观众端发送所捕获的图像的未经视频传输协议编码的原始图像数据。
根据一些实施例,所捕获的图像的原始图像数据可以为对应于某一图片格式的二进制数据,该图片格式可以为例如bmp、jpg、png、jpeg等格式。根据一些实施例,直播端向观众端发送所捕获的图像的二进制数据,而观众端在接收到该二进制数据后,将其以图像的形式展示在观众端界面(例如,图1中的观众端界面124)上。
本公开实施例中所提供的用于局域网内的直播的方法至少具有如下技术效果:
1)由于直播端在图像传输模式中直接向观众端发送所捕获的图像的未经视频传输协议编码的原始图像数据,避免了因直播端按视频传输协议编码和观众端按视频传输协议解码的过程所带来的延迟或卡顿;
2)由于直播端响应于检测到音频采集器未开启而自动进入图像传输模式,从而可以自动实现对图像传输模式的优化,而无需用户手动设置该模式;
3)由于根据来自直播端的输入设备的指令或来自观众端的指令来设置图像捕获周期,使得图像捕获周期满足直播中对直播画面的实时性的要求,同时又避免没有进行内容分享或直播画面不变化时过于频繁地捕获图像和传输数据。
根据一些实施例,向观众端发送所捕获的图像的未经视频传输协议编码的原始图像数据包括:使用TCP协议或UDP协议向观众端发送原始图像数据。
根据本公开中的示例性实施例,用于局域网内的直播的方法还包括:响应于检测到音频采集器已开启,进入视频传输模式,以执行如下步骤:捕获直播端的桌面直播区域的视频流数据和来自音频采集器的音频流数据;向观众端传输经视频传输协议编码的视频流数据和音频流数据。
图3是根据本公开的示例性实施例的用于局域网内的直播的方法300的流程图。该方法适用于直播端(例如,图1中的直播端110)。在以下对方法300进行的描述中,音频采集器例如可以是图1中的音频采集器113,直播端的输入设备例如可以是图1中的输入设备115,观众端例如可以是图1中的观众端120。
在步骤S301中,检测音频采集器是否已开启。如果检测到音频采集器未开启(步骤S301,“否”),则进入步骤S303;如果检测到音频采集器已开启(步骤S301,“是”),则进入步骤S311。根据一些实施例,步骤S301例如可以被实施为与步骤S201类似。
在步骤S303中,进入图像传输模式。根据一些实施例,步骤S303可以被实施为与步骤S203类似。
在步骤S305中,根据来自直播端的输入设备(例如,图1中的输入设备115)的指令或来自观众端(例如,图1中的观众端120)的指令,设置图像捕获周期。根据一些实施例,步骤S305可以被实施为与步骤S205类似。
在步骤S307中,根据所设置的图像捕获周期,捕获直播端的桌面直播区域的图像。根据一些实施例,步骤S307可以被实施为与步骤S207类似。
在步骤S309中,向观众端发送所捕获的图像的未经视频传输协议编码的原始图像数据。根据一些实施例,步骤S309可以被实施为与步骤S209类似。
在步骤S311中,进入视频传输模式。
在步骤S313中,捕获直播端的桌面直播区域的视频流数据和来自音频采集器的音频流数据。
根据一些实施例,捕获直播端的桌面的视频流数据和来自音频采集器的音频流数据包括:使用FFmpeg接口来捕获直播端的桌面直播区域的视频流数据和音频采集器的音频流数据。
在步骤S315中,向观众端传输经视频传输协议编码的视频流数据和音频流数据。
根据一些实施例,向观众端传输经视频传输协议编码的视频流数据和音频流数据包括:使用FFmpeg接口将视频流数据和音频流数据推送到EasyDarwin插件;使用EasyDarwin插件向观众端推送视频流数据和音频流数据。
根据一些实施例,可以将使用FFmpeg接口来捕获直播端的桌面直播区域的视频流数据和音频采集器的音频流数据的操作、使用FFmpeg接口将视频流数据和音频流数据推送到EasyDarwin插件的操作和使用EasyDarwin插件向观众端推送视频流数据和音频流数据的操作封装在同一函数中,而仅对直播者开放开始直播和停止直播的操作的接口。因此,无需直播者去配置FFmpeg接口和EasyDarwin插件,而可以一键式地实现局域网内的视频直播,降低了用户进行直播操作的复杂度。
根据一些实施例,在直播端,可以由FFmpeg生成屏幕推流地址(例如,ffmpeg-fgdigrab-video_size 1920x1080-i desktop-preset:v ultrafast-tune:v zerolatency-f rtsp rtsp://192.168.0.1/desktop),而由EasyDarwin插件提供基于局域网IP地址的流媒体地址(例如,rtsp://192.168.0.1/desktop);观众端访问直播端提供的流媒体地址,以接收来自直播端的视频流数据和音频流数据。
在上述用于局域网内的直播的方法中,由于直播端根据音频采集器的状态而自动地进入图像传输模式或视频传输模式,从而可以适应性地根据直播需求调整数据传输的模式,而无需用户手动设置。
根据一些实施例,视频传输协议包括RTMP协议或RTSP协议。
根据本公开中的示例性实施例,用于局域网内的直播的方法还包括:在首次进入视频传输模式时,在捕获视频流和音频流的操作前:检测直播端是否安装有EasyDarwin插件;响应于检测到直播端没有安装EasyDarwin插件,下载并安装符合预设版本条件的EasyDarwin插件;响应于检测到直播端安装有EasyDarwin插件,确定所安装的EasyDarwin插件的版本是否满足预设版本条件;响应于确定EasyDarwin插件的版本不满足预设版本条件,下载并安装符合预设版本条件的EasyDarwin插件;响应于确定EasyDarwin插件的版本满足预设版本条件,不重新安装EasyDarwin插件。
上述用于局域网内的直播的方法可以确保直播端安装有符合预设版本条件的EasyDarwin插件,而无需用户自行操作,降低了用户进行直播操作的复杂度。
根据一些实施例,预设版本条件包括:EasyDarwin插件的版本号高于预设最低版本号。根据一些实施例,可以从高到低逐位比较版本号,来判断EasyDarwin插件的版本号是否高于预设最低版本号,例如,当EasyDarwin插件的版本号为7.0.5,而预设最低版本号为7.0.4时,先比较第一位(即,最高位);由于两者的第一位均为“7”,继续判断第二位;由于两者的第二位均为“0”,继续判断第三位(即,最低位);由于EasyDarwin插件的版本号的最低位“5”大于预设最低版本号的最低位“4”,因此,判断EasyDarwin插件的版本号高于预设最低版本号,该EasyDarwin插件满足预设版本条件。
根据一些实施例,下载并安装符合预设版本条件的EasyDarwin插件包括:下载具有最高版本号的EasyDarwin插件;或者,下载具有符合版本预设条件的最低版本号的EasyDarwin插件。
根据本公开中的示例性实施例,用于局域网内的直播的方法还包括:在检测音频采集器是否已开启之前:接收来自观众端的观看直播请求,其中,观看直播请求包括观众端的期望分辨率;根据观众端的期望分辨率来设置直播端的桌面的分辨率,或者,根据观众端的期望分辨率来设置所捕获的图像的分辨率。
图4是根据本公开的示例性实施例的用于局域网内的直播的方法400的流程图。该方法适用于直播端(例如,图1中的直播端110)。在以下对方法400进行的描述中,音频采集器例如可以是图1中的音频采集器113,直播端的输入设备例如可以是图1中的输入设备115,观众端例如可以是图1中的观众端120。
在步骤S401中,接收来自观众端的观看直播请求。其中,该观看直播请求包括观众端的期望分辨率,例如,该期望分辨率可以是观众端显示屏的桌面分辨率。
在步骤S403中,根据观众端的期望分辨率来设置直播端的桌面的分辨率,或者,根据观众端的期望分辨率来设置所捕获的图像的分辨率。
在步骤S405中,检测音频采集器是否已开启。根据一些实施例,步骤S405例如可以被实施为与步骤S201类似。
在步骤S407中,响应于检测到音频采集器未开启,进入图像传输模式。根据一些实施例,步骤S407可以被实施为与步骤S203类似。
在步骤S409中,根据来自直播端的输入设备(例如,图1中的输入设备115)的指令或来自观众端(例如,图1中的观众端120)的指令,设置图像捕获周期。根据一些实施例,步骤S409被实施为与步骤S205类似。
在步骤S411中,根据所设置的图像捕获周期,捕获直播端的桌面直播区域的图像。根据一些实施例,步骤S411可以被实施为与步骤S207类似。
在步骤S413中,向观众端发送所捕获的图像的未经视频传输协议编码的原始图像数据。根据一些实施例,步骤S413可以被实施为与步骤S209类似。
在上述用于局域网内的直播的方法中,由于按照观众端的期望分辨率来设置直播端的桌面的分辨率,或者,根据观众端的期望分辨率来设置所捕获的图像的分辨率,保证所捕获的直播图像的分辨率和观众端的期望分辨率相匹配,保证了观众端的直播画面观看效果。
根据本公开中的示例性实施例,提供了一种电子设备(例如下文参照图5描述的电子设备500),电子设备应用于直播端(例如,图1中的直播端110),包括:处理器(如下文参照图5描述的处理器502);以及存储程序的存储器(如下文参照图5描述的存储器504),程序包括指令,指令在由处理器执行时使处理器执行如本公开中所述的方法。
根据本公开中的示例性实施例,提供了一种存储程序的非暂态计算机可读存储介质(如下文参照图5描述的大容量存储装置512或其他类型的存储介质),程序包括指令,指令在由一个或者多个处理器(如下文参照图5描述的处理器502)执行时,致使一个或者多个处理器执行根据如本公开中所述的方法。
根据本公开中的示例性实施例,提供了一种计算机程序产品,包括计算机程序,其中,该计算机程序被处理器执行时实现如本公开中所述的方法的步骤。
下面结合图5来描述这样的电子设备、计算机可读存储介质和计算机程序的示例。图5示出了根据本公开的示例性实施例的用于局域网内的直播的电子设备的示意性框图。
电子设备500可以是各种不同类型的设备,例如服务提供商的服务器、与客户端(例如,客户端设备)相关联的设备、片上系统、和/或任何其它合适的电子设备或计算系统。电子设备500的示例包括但不限于:台式计算机、服务器计算机、笔记本电脑或上网本计算机、移动设备(例如,平板电脑或者phablet设备、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、可穿戴设备(例如,眼镜、手表)、娱乐设备(例如,娱乐器具、通信地耦合到显示设备的机顶盒、游戏机)、电视或其他显示设备、汽车计算机等等。因此,电子设备500的范围可以从具有大量存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限的存储器和/或处理资源的低资源设备(例如,传统的机顶盒、手持游戏控制台)。
电子设备500可以包括能够诸如通过系统总线514或其他适当的连接彼此通信的至少一个处理器502、存储器504、(多个)通信接口506、显示设备508、其他输入/输出(I/O)设备510以及一个或更多大容量存储装置512。
处理器502可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器502可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器502可以被配置成获取并且执行存储在存储器504、大容量存储装置512或者其他计算机可读介质中的计算机可读指令,诸如操作系统516的程序代码、应用程序518的程序代码、其他程序520的程序代码等。
存储器504和大容量存储装置512是用于存储指令的计算机存储介质的示例,所述指令由处理器502执行来实施前面所描述的各种功能。举例来说,存储器504一般可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。此外,大容量存储装置512一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。存储器504和大容量存储装置512在本文中都可以被统称为存储器或计算机存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非瞬时性介质,所述计算机程序代码可以由处理器502作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
多个程序模块可以存储在大容量存储装置512上。这些程序包括操作系统516、一个或多个应用程序518、其他程序520和程序数据522,并且它们可以被加载到存储器504以供执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下组件/功能的计算机程序逻辑(例如,计算机程序代码或指令):方法200、方法300、方法400(包括方法200、300或400的任何适合的步骤)和/或本文描述的另外的实施例。
虽然在图5中被图示成存储在电子设备500的存储器504中,但是模块516、518、520和522或者其部分可以使用可由电子设备500访问的任何形式的计算机可读介质来实施。如本文所使用的,“计算机可读介质”至少包括两种类型的计算机可读介质,也就是计算机存储介质和通信介质。
计算机存储介质包括通过用于存储信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,所述信息诸如是计算机可读指令、数据结构、程序模块或者其他数据。计算机存储介质包括而不限于RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、数字通用盘(DVD)、或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储信息以供电子设备访问的任何其他非传送介质。
与此相对,通信介质可以在诸如载波或其他传送机制之类的已调数据信号中具体实现计算机可读指令、数据结构、程序模块或其他数据。本文所定义的计算机存储介质不包括通信介质。
电子设备500还可以包括一个或更多通信接口506,以用于诸如通过网络、直接连接等等与其他设备交换数据,正如前面所讨论的那样。这样的通信接口可以是以下各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(NIC))、有线或无线(诸如IEEE802.11无线LAN(WLAN))无线接口、全球微波接入互操作(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、BluetoothTM接口、近场通信(NFC)接口等。通信接口506可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如LAN、电缆等等)和无线网络(例如WLAN、蜂窝、卫星等等)、因特网等等。通信接口506还可以提供与诸如存储阵列、网络附属存储、存储区域网等等中的外部存储装置(未示出)的通信。
在一些示例中,可以包括诸如监视器之类的显示设备508,以用于向用户显示信息和图像。其他I/O设备510可以是接收来自用户的各种输入并且向用户提供各种输出的设备,并且可以包括触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等等。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (15)
1.一种用于局域网内的直播的方法,所述方法用于直播端,包括:
检测音频采集器是否已开启;
响应于检测到所述音频采集器未开启,进入图像传输模式,以执行如下步骤:
根据来自所述直播端的输入设备的指令或来自观众端的指令,设置图像捕获周期;
根据所设置的所述图像捕获周期,捕获所述直播端的桌面直播区域的图像;
向所述观众端发送所捕获的图像的未经视频传输协议编码的原始图像数据。
2.如权利要求1所述的方法,其中,所述根据来自所述直播端的输入设备的指令或来自观众端的指令,设置图像捕获周期,包括:
响应于接收到开始直播的指令,将所述图像捕获周期设置为第一周期;
响应于接收到开始内容展示的指令,进入内容展示模式,并将所述图像捕获周期设置为第二周期;
响应于接收到结束内容展示的指令,退出所述内容展示模式,并将所述图像捕获周期设置为所述第一周期,
其中,所述第一周期大于所述第二周期。
3.如权利要求2所述的方法,其中,所述根据来自所述直播端的输入设备的指令或来自观众端的指令,设置图像捕获周期,还包括:
在处于所述内容展示模式时:
响应于接收到演示操作的指令,将所述图像捕获周期设置为第三周期;
响应于在预设时间段内没有接收到所述演示操作的指令,将所述图像捕获周期设置为所述第二周期,
其中,所述第二周期大于所述第三周期。
4.如权利要求3所述的方法,其中,所述向所述观众端发送所捕获的图像的未经视频传输协议编码的原始图像数据包括:
使用TCP协议或UDP协议向所述观众端发送所述原始图像数据。
5.如权利要求1所述的方法,还包括:
响应于检测到所述音频采集器已开启,进入视频传输模式,以执行如下步骤:
捕获所述直播端的桌面直播区域的视频流数据和来自所述音频采集器的音频流数据;
向所述观众端传输经所述视频传输协议编码的所述视频流数据和所述音频流数据。
6.如权利要求5所述的方法,其中,所述捕获所述直播端的桌面的视频流数据和来自所述音频采集器的音频流数据包括:
使用FFmpeg接口来捕获所述直播端的桌面直播区域的视频流数据和所述音频采集器的音频流数据。
7.如权利要求6所述的方法,其中,所述向所述观众端传输经所述视频传输协议编码的所述视频流数据和所述音频流数据包括:
使用所述FFmpeg接口将所述视频流数据和所述音频流数据推送到EasyDarwin插件;
使用所述EasyDarwin插件向观众端推送所述视频流数据和所述音频流数据。
8.如权利要求5-7中任一项所述的方法,其中,所述视频传输协议包括RTMP协议或RTSP协议。
9.如权利要求7所述的方法,还包括:
在首次进入所述视频传输模式时,在所述捕获视频流和音频流的操作前:
检测所述直播端是否安装有所述EasyDarwin插件;
响应于检测到所述直播端没有安装所述EasyDarwin插件,下载并安装符合预设版本条件的EasyDarwin插件;
响应于检测到所述直播端安装有所述EasyDarwin插件,确定所安装的所述EasyDarwin插件的版本是否满足所述预设版本条件;
响应于确定所述EasyDarwin插件的版本不满足所述预设版本条件,下载并安装所述符合预设版本条件的EasyDarwin插件;
响应于确定所述EasyDarwin插件的版本满足所述预设版本条件,不重新安装所述EasyDarwin插件。
10.如权利要求9所述的方法,其中,所述预设版本条件包括:所述EasyDarwin插件的版本号高于预设最低版本号。
11.如权利要求10所述的方法,其中,所述下载并安装符合预设版本条件的EasyDarwin插件包括:
下载具有最高版本号的EasyDarwin插件;或者,
下载具有符合所述版本预设条件的最低版本号的EasyDarwin插件。
12.如权利要求1所述的方法,还包括:
在所述检测音频采集器是否已开启之前:
接收来自所述观众端的观看直播请求,其中,所述观看直播请求包括所述观众端的期望分辨率;
根据所述观众端的期望分辨率来设置所述直播端的桌面的分辨率,或者,根据所述观众端的期望分辨率来设置所述所捕获的图像的分辨率。
13.一种电子设备,包括:
存储器、处理器以及存储在所述存储器上的计算机程序,
其中,所述处理器被配置为执行所述计算机程序以实现权利要求1-12中任一项所述的方法的步骤。
14.一种非暂态计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-12中任一项所述的方法的步骤。
15.一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011409904.1A CN112565807B (zh) | 2020-12-04 | 2020-12-04 | 用于局域网内的直播的方法、设备、介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011409904.1A CN112565807B (zh) | 2020-12-04 | 2020-12-04 | 用于局域网内的直播的方法、设备、介质及计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112565807A true CN112565807A (zh) | 2021-03-26 |
CN112565807B CN112565807B (zh) | 2023-07-04 |
Family
ID=75048633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011409904.1A Active CN112565807B (zh) | 2020-12-04 | 2020-12-04 | 用于局域网内的直播的方法、设备、介质及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112565807B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190340A (zh) * | 2021-04-01 | 2022-10-14 | 华为终端有限公司 | 直播数据的传输方法、直播设备和介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120133727A1 (en) * | 2010-11-26 | 2012-05-31 | Centre De Recherche Informatique De Montreal Inc. | Screen sharing and video conferencing system and method |
CN105706441A (zh) * | 2013-07-31 | 2016-06-22 | 思科技术公司 | 针对通信会话中的内容共享的自适应采样周期 |
CN105791950A (zh) * | 2014-12-24 | 2016-07-20 | 珠海金山办公软件有限公司 | 录制演示文稿视频的方法及装置 |
CN106303329A (zh) * | 2016-08-11 | 2017-01-04 | 广州爱九游信息技术有限公司 | 录屏直播方法和装置、移动设备及直播系统 |
CN107835452A (zh) * | 2017-10-17 | 2018-03-23 | 广东欧珀移动通信有限公司 | 数据处理方法及相关产品 |
CN108012159A (zh) * | 2017-12-05 | 2018-05-08 | 广州华多网络科技有限公司 | 直播视频推送控制方法、装置及相应的终端 |
CN109345892A (zh) * | 2018-10-25 | 2019-02-15 | 安徽创见未来教育科技有限公司 | 一种基于互联网直播的教学平台 |
CN211791776U (zh) * | 2020-04-18 | 2020-10-27 | 厦门潭宏信息科技有限公司 | 一种分布式录播系统 |
CN111918080A (zh) * | 2020-07-31 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 一种直播授课的处理方法及装置 |
-
2020
- 2020-12-04 CN CN202011409904.1A patent/CN112565807B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120133727A1 (en) * | 2010-11-26 | 2012-05-31 | Centre De Recherche Informatique De Montreal Inc. | Screen sharing and video conferencing system and method |
CN105706441A (zh) * | 2013-07-31 | 2016-06-22 | 思科技术公司 | 针对通信会话中的内容共享的自适应采样周期 |
CN105791950A (zh) * | 2014-12-24 | 2016-07-20 | 珠海金山办公软件有限公司 | 录制演示文稿视频的方法及装置 |
CN106303329A (zh) * | 2016-08-11 | 2017-01-04 | 广州爱九游信息技术有限公司 | 录屏直播方法和装置、移动设备及直播系统 |
CN107835452A (zh) * | 2017-10-17 | 2018-03-23 | 广东欧珀移动通信有限公司 | 数据处理方法及相关产品 |
CN108012159A (zh) * | 2017-12-05 | 2018-05-08 | 广州华多网络科技有限公司 | 直播视频推送控制方法、装置及相应的终端 |
CN109345892A (zh) * | 2018-10-25 | 2019-02-15 | 安徽创见未来教育科技有限公司 | 一种基于互联网直播的教学平台 |
CN211791776U (zh) * | 2020-04-18 | 2020-10-27 | 厦门潭宏信息科技有限公司 | 一种分布式录播系统 |
CN111918080A (zh) * | 2020-07-31 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 一种直播授课的处理方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190340A (zh) * | 2021-04-01 | 2022-10-14 | 华为终端有限公司 | 直播数据的传输方法、直播设备和介质 |
CN115190340B (zh) * | 2021-04-01 | 2024-03-26 | 华为终端有限公司 | 直播数据的传输方法、直播设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112565807B (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10284644B2 (en) | Information processing and content transmission for multi-display | |
CN112839250B (zh) | 无线传屏方法及装置 | |
WO2020233142A1 (zh) | 多媒体文件播放方法、装置、电子设备和存储介质 | |
CN102325144B (zh) | 一种媒体设备间互联互通的方法、系统及多媒体设备 | |
CN104918105B (zh) | 媒体文件的多屏播放方法、设备及系统 | |
US10203924B2 (en) | Display apparatus, controlling method thereof and controlling method of display system | |
EP2854342A1 (en) | Multi-screen interaction method, apparatus, and terminal device | |
CN107104947B (zh) | 多屏互动方法 | |
CN103166941A (zh) | 一种数据分享的方法及装置 | |
CN103632332A (zh) | 题目问答方法、装置及系统 | |
JP5982079B2 (ja) | 画像伝送の方法、装置、プログラム及び記録媒体 | |
US20130080560A1 (en) | System and Method for Sharing Digital Data on a Presenter Device to a Plurality of Participant Devices | |
CN102918835A (zh) | 可控制的设备伴侣数据 | |
CN113055624B (zh) | 课程回放的方法、服务器、客户端及电子设备 | |
US9826572B2 (en) | Wireless enhanced projector | |
CN113329240A (zh) | 投屏的方法及装置 | |
WO2014190655A1 (zh) | 应用同步方法、应用服务器及终端 | |
US20120060202A1 (en) | Content service system, content server, content terminal and content service method | |
CN111131891B (zh) | 一种音视频播放方法、装置、播放设备及系统 | |
CN112565807B (zh) | 用于局域网内的直播的方法、设备、介质及计算机程序产品 | |
CN115145507A (zh) | 基于多设备的在线互动方法、芯片、电子设备及存储介质 | |
CN112565843A (zh) | 基于dlna的投屏控制方法、装置、一体机及存储介质 | |
US11656834B2 (en) | Information processing device, non-transitory recording medium, and information processing system | |
CN111356009B (zh) | 音频数据的处理方法、装置、存储介质以及终端 | |
CN103686045A (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 |