CN114025244A - 音视频推送方法、装置、设备及计算机可读存储介质 - Google Patents

音视频推送方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN114025244A
CN114025244A CN202111173489.9A CN202111173489A CN114025244A CN 114025244 A CN114025244 A CN 114025244A CN 202111173489 A CN202111173489 A CN 202111173489A CN 114025244 A CN114025244 A CN 114025244A
Authority
CN
China
Prior art keywords
audio
video
data
video data
target
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.)
Pending
Application number
CN202111173489.9A
Other languages
English (en)
Inventor
王建凯
程宝平
王欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202111173489.9A priority Critical patent/CN114025244A/zh
Publication of CN114025244A publication Critical patent/CN114025244A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-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/47205End-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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种音视频推送方法、装置、设备及计算机可读存储介质,其中,方法包括:浏览器的导播网页应用实时获取多个视频数据,并实时获取多个音频数据,并展示视频数据以及音频数据;获取选择指令对应的待选择视频数据以及待选择音频数据;基于所述待选择视频数据确定目标视频数据,并对所述待选择音频数据进行混音处理,获得目标音频数据;流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述导播网页应用对应的目标URL推送所述流媒体数据。本发明通过本地浏览器中的导播网页应用直接获取音视频输入数据后即时进行处理,减少云导播过程中的编解码流程,大大降低了导播的时延。

Description

音视频推送方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及流媒体技术领域,尤其涉及一种音视频推送方法、装置、设备及计算机可读存储介质。
背景技术
随着互联网技术的不断发展,实时音视频通信日益受到人们的青睐,越来越多的人通过网络收听音频直播或者收看视频直播。音视频多媒体逐渐成为新的信息载体,在线教育、直播带货、课堂录播、视频监控、远程会议等都是以多媒体技术为核心的行业应用。单一媒体源场景已无法满足各类音视频应用发展的要求,多机位/多音源的需求逐渐成为新的行业趋势,其中如何对多路音视频源进行导播是其中的关键技术之一。
云导播是近年来新出现的一种导播技术,云导播系统即属于一种“SaaS”软件,其特点就是将导播业务中涉及到的媒体采集、图像叠加、场景切换、混音,音视频编码,网络推流等主要处理过程转移到云端服务器实现,本地主机主要用操作控制,从而降低了对本地主机的配置要求及维护成本。
但是,由于音视频输入数据需要经过网络传输才送入云导播平台,其中必须经过编码、流化、传输、解码等处理环节,需要额外的运算、传输开销及处理时延,导致云导播的时延较高。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种音视频推送方法、装置、设备及计算机可读存储介质,旨在解决现有云导播时延高的技术问题。
为实现上述目的,本发明提供一种音视频推送方法,所述音视频推送方法包括以下步骤:
浏览器的导播网页应用从多个视频采集设备实时获取多个视频数据,并从多个音频采集设备实时获取多个音频数据,并展示所述视频数据以及所述音频数据;
在接收到所述视频数据以及所述音频数据对应的选择指令时,获取所述选择指令对应的待选择视频数据以及待选择音频数据;
基于所述待选择视频数据确定目标视频数据,并对所述待选择音频数据进行混音处理,获得目标音频数据;
将所述目标视频数据以及所述目标音频数据发送至流媒体网关,其中,所述流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述导播网页应用对应的目标URL推送所述流媒体数据。
进一步地,所述基于所述待选择视频数据确定目标视频数据的步骤包括:
若所述待选择视频数据包括一个,则在所述导播网页应用的预览画布播放所述待选择视频数据;
若所述待选择视频数据包括多个,则在接收到模板选择指令时,基于所述模板选择指令对应的画中画模板的模板配置信息,在所述预览画布逐层播放多个待选择视频数据;
在接收到视频确认指令时,将所述预览画布的展示界面同步至所述导播网页应用的输出画布;
所述导播网页应用的推流器获取输出画布传送的视频轨对象,并基于所述视频轨对象获取所述目标视频数据。
进一步地,所述对所述待选择音频数据进行混音处理,获得目标音频数据的步骤包括:
通过所述导播网页应用的混音器对象对所述待选择音频数据进行混音处理,获得混音后的音频数据;
所述导播网页应用的推流器获取混音后的音频数据对应的音频轨对象,并基于所述音频轨对象获取所述目标音频数据。
进一步地,所述将所述目标视频数据以及所述目标音频数据发送至流媒体网关的步骤包括:
基于所述目标URL通过所述导播网页应用的推流器与所述流媒体网关建立连接;
通过所述推流器基于WebRTC协议将所述目标视频数据以及所述目标音频数据发送至流媒体网关,其中,所述流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述目标URL推送所述流媒体数据。
进一步地,所述选择指令包括第一选择指令以及第二选择指令,所述在接收到所述视频数据以及所述音频数据对应的选择指令时,获取所述选择指令对应的待选择视频数据以及待选择音频数据的步骤包括:
在接收到所述视频数据对应的第一选择指令时,在各个视频数据中获取所述第一选择指令对应的待选择视频数据;
在接收到所述音频数据对应的第二选择指令时,在各个音频数据中获取所述第二选择指令对应的待选择音频数据。
进一步地,所述展示所述视频数据以及所述音频数据的步骤包括:
通过所述导播网页应用的多个视频播放器分别播放各个视频数据;
基于各个音频数据对应的音量大小,分别创建各个音频数据对应的音频源,并展示各个音频源。
进一步地,所述导播网页应用从多个视频采集设备实时获取多个视频数据的步骤之前,所述音视频推送方法还包括:
基于浏览器发送导播网页应用的访问请求至云端服务器,其中,所述云端服务器基于所述访问请求反馈所述导播网页应用的应用程序;
在所述浏览器运行接收到的应用程序,获得所述导播网页应用,并在所述浏览器展示所述导播网页应用。
此外,为实现上述目的,本发明还提供一种音视频推送装置,所述音视频推送装置包括:
第一获取模块,应用从多个视频采集设备实时获取多个视频数据,并从多个音频采集设备实时获取多个音频数据,并展示所述视频数据以及所述音频数据;
第二获取模块,应用在接收到所述视频数据以及所述音频数据对应的选择指令时,获取所述选择指令对应的待选择视频数据以及待选择音频数据;
确定模块,应用基于所述待选择视频数据确定目标视频数据,并对所述待选择音频数据进行混音处理,获得目标音频数据;
发送模块,应用将所述目标视频数据以及所述目标音频数据发送至流媒体网关,其中,所述流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述导播网页应用对应的目标URL推送所述流媒体数据。
此外,为实现上述目的,本发明还提供一种音视频推送设备,所述音视频推送设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的音视频推送程序,所述音视频推送程序被所述处理器执行时实现前述的音视频推送方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有音视频推送程序,所述音视频推送程序被处理器执行时实现前述的音视频推送方法的步骤。
本发明通过导播网页应用从多个视频采集设备实时获取多个视频数据,并从多个音频采集设备实时获取多个音频数据,并展示所述视频数据以及所述音频数据;接着在接收到所述视频数据以及所述音频数据对应的选择指令时,获取所述选择指令对应的待选择视频数据以及待选择音频数据;而后基于所述待选择视频数据确定目标视频数据,并对所述待选择音频数据进行混音处理,获得目标音频数据;然后将所述目标视频数据以及所述目标音频数据发送至流媒体网关,其中,所述流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述导播网页应用对应的目标URL推送所述流媒体数据。通过本地浏览器中的导播网页应用直接获取音视频输入数据后即时进行处理,减少云导播过程中的编解码流程,大大降低了导播的时延。
同时,无需在用户终端安装任何特定软件或者插件,打开用户终端的浏览器即可使用专业级的音视频多路导播功能,无需用户执行专门的系统升级操作,大大提升了用户体验。并且,通过流媒体网关方案可将导播输出的媒体流转换为各种流媒体协议,能够满足各类第三方平台的不同需求,提升音视频推送的兼容性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境中音视频推送设备的结构示意图;
图2为本发明音视频推送方法第一实施例的流程示意图;
图3为本发明音视频推送装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境中音视频推送设备的结构示意图。
本发明实施例音视频推送设备可以是PC。如图1所示,该音视频推送设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,音视频推送设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。当然,音视频推送设备还可配置气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对音视频推送设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及音视频推送程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的音视频推送程序。
在本实施例中,音视频推送设备包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的音视频推送程序,其中,处理器1001调用存储器1005中存储的音视频推送程序时,并执行以下各个实施例中音视频推送方法的步骤。
本发明还提供一种音视频推送方法,参照图2,图2为本发明音视频推送方法第一实施例的流程示意图。
本实施例中,该音视频推送方法包括以下步骤:
步骤S101,浏览器的导播网页应用从多个视频采集设备实时获取多个视频数据,并从多个音频采集设备实时获取多个音频数据,并展示所述视频数据以及所述音频数据;
本实施例中,该导播网页应用设置于云端服务器,该导播网页应用是采用HTML及JavaScript语言开发的Web应用程序,由于其HTML5技术实现,使得该导播网页应用可兼容各种系统环境(Windows、Linux、Ios、Android)及不同形态的用户终端(PC、手机、平板等)。用户通过用户终端的浏览器访问该云端服务器,通过云端服务器下载导播网页应用的应用程序,然后通过浏览器自动运行该应用程序,获得导播网页应用,并在浏览器展示导播网页应用,无需用户安装任何特定软件或插件。用户每次都可下载(运行)该组件的最新版本,不需要用户执行专门的升级操作。
用户终端设有一个或多个视频采集设备,视频采集设备摄像机或摄像头等,安装在拍摄现场中多个机位,通过USB接口或者HDMI/SDI/DVI等接口(主机需要安装相应接口的采集卡)接入到用户终端。同时,用户终端还设有一个或多个音频采集设备。音频采集设备包括麦克风,例如有无线麦、吊麦、手持麦、全向拾音器等,音频采集设备通过3.5寸音频输入接口(主机默认声卡)或者USB接口(设备自带声卡)接入到用户终端。
本实施例中,导播网页应用从多个视频采集设备实时获取多个视频数据,并展示各个视频数据,具体的,导播网页应用调用Media Devices.enumerate Devices()方法枚举出用户终端当前接入的所有视频采集设备,创建各个视频采集设备对应的视频播放器(即HTML Video Element类型对象),通过Media Devices.getUserMedia()获得各个视频采集设备的视频媒体流Media Stream(即视频数据),然后将视频媒体流对象设置为其对应视频播放器的输入源,进而通过视频播放器在导播网页应用的操作界面实时播放各个视频数据。
同时,导播网页应用从多个音频采集设备实时获取多个音频数据,并展示音频数据;具体地,导播网页应用调用Mediav Devices.enumerateDevices()方法枚举出用户终端当前接入的所有音频采集设备,然后通过Media Devices.get UserMedia()获得各个音频采集设备的音频媒体流MediaStream(音频数据),并通过AudioContext.createMediaStreamSource()为每个音频媒体流对象创建一个音频源(即MediaStreamAudioSourceNode类型对象),在导播网页应用的操作界面展示音频源。
步骤S102,在接收到所述视频数据以及所述音频数据对应的选择指令时,获取所述选择指令对应的待选择视频数据以及待选择音频数据;
本实施例中,用户可以在该导播网页应用所展示的视频数据以及音频数据中进行选择,具体地,用户可以在导播网页应用的操作界面上选择其视频数据以及音频源时,并触发该选择指令,在接收到视频数据以及音频数据对应的选择指令时,导播网页应用获取选择指令对应的待选择视频数据以及待选择音频数据。
具体的,选择指令包括第一选择指令以及第二选择指令,该步骤S102包括:
步骤a,在接收到所述视频数据对应的第一选择指令时,在各个视频数据中获取所述第一选择指令对应的待选择视频数据;
步骤b,在接收到所述音频数据对应的第二选择指令时,在各个音频数据中获取所述第二选择指令对应的待选择音频数据。
本实施例中,通过单独触发第一选择指令以及第二选择指令,提升用户操作的便捷性。
步骤S103,基于所述待选择视频数据确定目标视频数据,并对所述待选择音频数据进行混音处理,获得目标音频数据;
本实施例中,在获得待选择视频数据以及待选择音频数据时,导播网页应用基于待选择视频数据确定目标视频数据,具体根据用户的指令在待选择视频数据确定目标视频数据,然后对待选择音频数据进行混音处理,获得目标音频数据。
步骤S104,将所述目标视频数据以及所述目标音频数据发送至流媒体网关,其中,所述流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述导播网页应用对应的目标URL推送所述流媒体数据。
本实施例中,在得到目标视频数据以及目标音频数据时,将目标视频数据以及目标音频数据发送至流媒体网关,流媒体网关基于目标视频数据以及目标音频数据确定流媒体数据,并基于导播网页应用对应的目标URL推送所述流媒体数据,其中,导播网页应用先与流媒体网关建立连接,然后将目标视频数据以及目标音频数据实时发送至流媒体网关,流媒体网关通过该目标URL对应的流媒体协议推送该流媒体数据。
本实施例提出的音视频推送方法,通过导播网页应用从多个视频采集设备实时获取多个视频数据,并从多个音频采集设备实时获取多个音频数据,并展示所述视频数据以及所述音频数据;接着在接收到所述视频数据以及所述音频数据对应的选择指令时,获取所述选择指令对应的待选择视频数据以及待选择音频数据;而后基于所述待选择视频数据确定目标视频数据,并对所述待选择音频数据进行混音处理,获得目标音频数据;然后将所述目标视频数据以及所述目标音频数据发送至流媒体网关,其中,所述流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述导播网页应用对应的目标URL推送所述流媒体数据。通过本地浏览器中的导播网页应用直接获取音视频输入数据后即时进行处理,减少云导播过程中的编解码流程,大大降低了导播的时延。
同时,无需在用户终端安装任何特定软件或者插件,打开用户终端的浏览器即可使用专业级的音视频多路导播功能,无需用户执行专门的系统升级操作,大大提升了用户体验。并且,通过流媒体网关方案可将导播输出的媒体流转换为各种流媒体协议,能够满足各类第三方平台的不同需求,提升音视频推送的兼容性。
基于第一实施例,提出本发明音视频推送方法的第二实施例,在本实施例中,步骤S103包括:
步骤S201,若所述待选择视频数据包括一个,则在所述导播网页应用的预览画布播放所述待选择视频数据;
步骤S202,若所述待选择视频数据包括多个,则在接收到模板选择指令时,基于所述模板选择指令对应的画中画模板的模板配置信息,在所述预览画布逐层播放多个待选择视频数据;
步骤S203,在接收到视频确认指令时,将所述预览画布的展示界面同步至所述导播网页应用的输出画布;
步骤S204,所述导播网页应用的推流器获取输出画布传送的视频轨对象,并基于所述视频轨对象获取所述目标视频数据。
本实施例中,导播网页应用的操作界面设有预览画布,预览画布用以展示待选择视频数据,具体的,按一定的刷新频率(例如25次/秒)在预览画布上绘制相应视频播放器的实时图像。若所述待选择视频数据包括一个,则在预览画布播放待选择视频数据,即绘制该待选择视频数据队员的视频播放器的实时图像。若目标视频数据包括多个,则在接收到模板选择指令时,基于所述模板选择指令对应的画中画模板的模板配置信息,在所述预览画布逐层播放多个待选择视频数据,即在预览画布上不同位置自底向上逐层绘制多个视频播放器的实时图像,例如,目标视频数据包括两个,则根据用户的选择确定主视频以及小窗口视频,预览画布上不同位置自底向上逐层绘制主视频以及小窗口视频,例如,小窗口视频位于预览画布的角落,且位于主视频的上方,主视频以及小窗口视频的位置关系根据用户选择的画中画模板的模板配置信息进行确定。其中,小窗口视频还可以包括多个。
用户可通过预览画布进行视频的预览,然后确定是否输出当前预览的视频,用户可通过预览画布对应的按键触发确认指令,在接收到视频确认指令时,将预览画布的展示界面同步至所述导播网页应用的输出画布,输出画布按一定的刷新频率(例如25次/秒)在绘制相应视频播放器的实时图像;然后导播网页应用的推流器获取输出画布传送的视频轨对象,并基于视频轨对象获取目标视频数据。
需要说明的是,在预览画布逐展示目标视频数据时,用户可以通过预览画布对应的按键触发待选择视频数据的删除、新增操作等,在待选择视频数据包括多个时,若接收到待删除视频的删除指令,则在待选择视频数据删除该待删除视频,得到新的待选择视频数据,并在预览画布逐展示,在接收到待添加视频的添加指令时,将待添加视频添加至待选择视频数据,得到新的待选择视频数据,并在预览画布逐展示。优选地,用户还可以在输出画布对应的按钮触发全屏输出指令,导播网页应用调用输出画布的requestFullscreen()方法,将输出画布的图像全屏显示。
本实施例提出的音视频推送方法,通过若所述待选择视频数据包括一个,则在所述导播网页应用的预览画布播放所述待选择视频数据;接着若所述待选择视频数据包括多个,则在接收到模板选择指令时,基于所述模板选择指令对应的画中画模板的模板配置信息,在所述预览画布逐层播放多个待选择视频数据;而后在接收到视频确认指令时,将所述预览画布的展示界面同步至所述导播网页应用的输出画布;然后所述导播网页应用的推流器获取输出画布传送的视频轨对象,并基于所述视频轨对象获取所述目标视频数据,通过在预览画布展示视频数据,用户可实时根据展示的视频数据进行再次筛选,提高用户操作的实时性,进而提升用户体验。
基于第一实施例,提出本发明音视频推送方法的第三实施例,在本实施例中,步骤S103包括:
步骤S301,通过所述导播网页应用的混音器对象对所述待选择音频数据进行混音处理,获得混音后的音频数据;
步骤S302,所述导播网页应用的推流器获取混音后的音频数据对应的音频轨对象,并基于所述音频轨对象获取所述目标音频数据。
本实施例中,导播网页应用通过混音器对象对选择音频数据进行混音处理,获得混音后的音频数据,具体的,导播网页应用创建全局Audio Context对象,并调用全局AudioContext对象的createMedia Stream Destination()方法创建混音器对象(即MediaStream Audio Destination Node类型对象),接着通过调用音频源的connect()方法,将该待选择音频数据的音频源关联到混音器对象中,混音器对象自动对所有关联的音频源的待选择音频数据进行混音处理,获得混音后的音频数据。
接着。推流器获取混音后的音频数据对应的音频轨对象,并基于所述音频轨对象获取所述目标音频数据,具体的,导播网页应用从混音后的音频数据获得的音频轨对象,传入推流器,推流器可通过该音频轨对象获取混音器输出的音频数据,进而得到目标音频数据。
需要说的是,当用户在操作界面上取消勾选某个音频源时,导播网页应用通过调用音频源的disconnect()方法,解除该音频源与混音器对象的关联,进而在目标音频数据中消除该音频源对应的音频数据的混音效果。还可以将混音器关联的音频媒体流(即混音器对象的stream属性)设置为监听音频播放器(HTML Audio Element类型对象)的输入源,即可在本地音频输出设备中播放混音音频(目标音频数据),以便于用户可以根据目标音频数据调节混音效果。
本实施例提出的音视频推送方法,通过所述导播网页应用的混音器对象对所述待选择音频数据进行混音处理,获得混音后的音频数据;接着所述导播网页应用的推流器获取混音后的音频数据对应的音频轨对象,并基于所述音频轨对象获取所述目标音频数据,通过导播网页应用实现音频混音,进一步降低导播的延时。
基于第一实施例,提出本发明音视频推送方法的第四实施例,在本实施例中,步骤S104包括:
步骤S401,基于所述目标URL通过所述导播网页应用的推流器与所述流媒体网关建立连接;
步骤S402,通过所述推流器基于WebRTC协议将所述目标视频数据以及所述目标音频数据发送至流媒体网关,其中,所述流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述目标URL推送所述流媒体数据。
本实施例中,导播网页应用基于所述目标URL通过推流器与所述流媒体网关建立连接,具体的,推流器通过流媒体网关的HTTP接口向流媒体网关发送创建推流会话请求,其中,推流会话请求包括推流器的SDP offer以及目标URL等,流媒体网关返回创建成功响应,成功响应包括SDP answer及会话ID,推流器与流媒体网关根据双方的SDP信息进行NAT打洞,建立PeerConnection连接。
接着,导播网页应用通过推流器基于WebRTC协议将所述目标视频数据以及所述目标音频数据发送至流媒体网关,其中,所述流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述目标URL推送所述流媒体数据。
本实施例中,在用户停止推流时,即接收到停止指令时,推流器关闭PeerConnection连接,同时,流媒体网关停止向目标URL推送媒体流,推流器通过HTTP接口向流媒体网关发送关闭会话请求,请求中携带需要关闭的会话ID,流媒体网关释放相关会话资源,返回关闭成功的信息。
本实施例提出的音视频推送方法,通过基于所述目标URL通过所述导播网页应用的推流器与所述流媒体网关建立连接;接着通过所述推流器基于WebRTC协议将所述目标视频数据以及所述目标音频数据发送至流媒体网关,其中,所述流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述目标URL推送所述流媒体数据。通过流媒体网关方案可将导播输出的媒体流转换为各种流媒体协议,能够满足各类第三方平台的不同需求,提升音视频推送的兼容性。
基于第一实施例,提出本发明音视频推送方法的第五实施例,在本实施例中,步骤S101包括:
步骤S501,通过所述导播网页应用的多个视频播放器分别播放各个视频数据;
步骤S502,基于各个音频数据对应的音量大小,分别创建各个音频数据对应的音频源,并展示各个音频源。
本实施例中,导播网页应用创建各个视频采集设备对应的视频播放器,通过MediaDevices.getUserMedia()获得各个视频采集设备的视频媒体流Media Stream(即视频数据),然后将视频媒体流对象设置为其对应视频播放器的输入源,进而通过视频播放器在导播网页应用的操作界面实时播放各个视频数据。
接着,导播网页应用基于各个音频数据对应的音量大小,分别创建各个音频数据对应的音频源,并展示各个音频源,通过Media Devices.get UserMedia()获得各个音频采集设备的音频媒体流MediaStream(音频数据),并通过AudioContext.createMediaStreamSource()为每个音频媒体流对象创建一个音频源,音频源包括音量大小,并在导播网页应用的操作界面展示音频源。
本实施例提出的音视频推送方法,通过所述导播网页应用的多个视频播放器分别播放各个视频数据;接着基于各个音频数据对应的音量大小,分别创建各个音频数据对应的音频源,并展示各个音频源,通过展示音频源以及视频数据,便于用户选择合适的音视频数据进行导播,进一步提升了用户体验。
基于上述各个实施例,提出本发明音视频推送方法的第六实施例,在本实施例中,步骤S101之前,该音视频推送方法还包括:
步骤S601,基于浏览器发送导播网页应用的访问请求至云端服务器,其中,所述云端服务器基于所述访问请求反馈所述导播网页应用的应用程序;
步骤S602,在所述浏览器运行接收到的应用程序,获得所述导播网页应用,并在所述浏览器展示所述导播网页应用。
本实施例中,该导播网页应用设置于云端服务器,该导播网页应用是采用HTML及JavaScript语言开发的Web应用程序。基于浏览器发送导播网页应用的访问请求至云端服务器,云端服务器基于所述访问请求反馈所述导播网页应用的应用程序,即用户可通过用户终端的浏览器访问该云端服务器,通过云端服务器下载导播网页应用的应用程序。
然后,通过浏览器自动运行该应用程序,获得导播网页应用,并在浏览器展示导播网页应用,无需用户安装任何特定软件或插件。用户每次都可下载(运行)该组件的最新版本,不需要用户执行专门的升级操作。
本实施例提出的音视频推送方法,通过基于浏览器发送导播网页应用的访问请求至云端服务器,其中,所述云端服务器基于所述访问请求反馈所述导播网页应用的应用程序;接着在所述浏览器运行接收到的应用程序,获得所述导播网页应用,并在所述浏览器展示所述导播网页应用,通过在浏览器展示该导播网页应用,无需在用户终端安装任何特定软件或者插件,打开用户终端的浏览器即可使用专业级的音视频多路导播功能,无需用户执行专门的系统升级操作,大大提升了用户体验。
本发明还提供一种音视频推送装置,参照图3,所述音视频推送装置包括:
第一获取模块10,应用从多个视频采集设备实时获取多个视频数据,并从多个音频采集设备实时获取多个音频数据,并展示所述视频数据以及所述音频数据;
第二获取模块20,应用在接收到所述视频数据以及所述音频数据对应的选择指令时,获取所述选择指令对应的待选择视频数据以及待选择音频数据;
确定模块30,应用基于所述待选择视频数据确定目标视频数据,并对所述待选择音频数据进行混音处理,获得目标音频数据;
发送模块40,应用将所述目标视频数据以及所述目标音频数据发送至流媒体网关,其中,所述流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述导播网页应用对应的目标URL推送所述流媒体数据。
上述各程序单元所执行的方法可参照本发明音视频推送方法各个实施例,此处不再赘述。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有音视频推送程序,所述音视频推送程序被处理器执行时实现如上所述的音视频推送方法的步骤。
其中,在所述处理器上运行的音视频推送程序被执行时所实现的方法可参照本发明音视频推送方法各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机程序产品,该计算机程序产品上包括音视频推送程序,所述音视频推送程序被处理器执行时实现如上所述的音视频推送方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种音视频推送方法,其特征在于,所述音视频推送方法包括以下步骤:
浏览器的导播网页应用从多个视频采集设备实时获取多个视频数据,并从多个音频采集设备实时获取多个音频数据,并展示所述视频数据以及所述音频数据;
在接收到所述视频数据以及所述音频数据对应的选择指令时,获取所述选择指令对应的待选择视频数据以及待选择音频数据;
基于所述待选择视频数据确定目标视频数据,并对所述待选择音频数据进行混音处理,获得目标音频数据;
将所述目标视频数据以及所述目标音频数据发送至流媒体网关,其中,所述流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述导播网页应用对应的目标URL推送所述流媒体数据。
2.如权利要求1所述的音视频推送方法,其特征在于,所述基于所述待选择视频数据确定目标视频数据的步骤包括:
若所述待选择视频数据包括一个,则在所述导播网页应用的预览画布播放所述待选择视频数据;
若所述待选择视频数据包括多个,则在接收到模板选择指令时,基于所述模板选择指令对应的画中画模板的模板配置信息,在所述预览画布逐层播放多个待选择视频数据;
在接收到视频确认指令时,将所述预览画布的展示界面同步至所述导播网页应用的输出画布;
所述导播网页应用的推流器获取输出画布传送的视频轨对象,并基于所述视频轨对象获取所述目标视频数据。
3.如权利要求1所述的音视频推送方法,其特征在于,所述对所述待选择音频数据进行混音处理,获得目标音频数据的步骤包括:
通过所述导播网页应用的混音器对象对所述待选择音频数据进行混音处理,获得混音后的音频数据;
所述导播网页应用的推流器获取混音后的音频数据对应的音频轨对象,并基于所述音频轨对象获取所述目标音频数据。
4.如权利要求1所述的音视频推送方法,其特征在于,所述将所述目标视频数据以及所述目标音频数据发送至流媒体网关的步骤包括:
基于所述目标URL通过所述导播网页应用的推流器与所述流媒体网关建立连接;
通过所述推流器基于WebRTC协议将所述目标视频数据以及所述目标音频数据发送至流媒体网关,其中,所述流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述目标URL推送所述流媒体数据。
5.如权利要求1所述的音视频推送方法,其特征在于,所述选择指令包括第一选择指令以及第二选择指令,所述在接收到所述视频数据以及所述音频数据对应的选择指令时,获取所述选择指令对应的待选择视频数据以及待选择音频数据的步骤包括:
在接收到所述视频数据对应的第一选择指令时,在各个视频数据中获取所述第一选择指令对应的待选择视频数据;
在接收到所述音频数据对应的第二选择指令时,在各个音频数据中获取所述第二选择指令对应的待选择音频数据。
6.如权利要求1所述的音视频推送方法,其特征在于,所述展示所述视频数据以及所述音频数据的步骤包括:
通过所述导播网页应用的多个视频播放器分别播放各个视频数据;
基于各个音频数据对应的音量大小,分别创建各个音频数据对应的音频源,并展示各个音频源。
7.如权利要求1至6任一项所述的音视频推送方法,其特征在于,所述导播网页应用从多个视频采集设备实时获取多个视频数据的步骤之前,所述音视频推送方法还包括:
基于浏览器发送导播网页应用的访问请求至云端服务器,其中,所述云端服务器基于所述访问请求反馈所述导播网页应用的应用程序;
在所述浏览器运行接收到的应用程序,获得所述导播网页应用,并在所述浏览器展示所述导播网页应用。
8.一种音视频推送装置,其特征在于,所述音视频推送装置包括:
第一获取模块,应用从多个视频采集设备实时获取多个视频数据,并从多个音频采集设备实时获取多个音频数据,并展示所述视频数据以及所述音频数据;
第二获取模块,应用在接收到所述视频数据以及所述音频数据对应的选择指令时,获取所述选择指令对应的待选择视频数据以及待选择音频数据;
确定模块,应用基于所述待选择视频数据确定目标视频数据,并对所述待选择音频数据进行混音处理,获得目标音频数据;
发送模块,应用将所述目标视频数据以及所述目标音频数据发送至流媒体网关,其中,所述流媒体网关基于所述目标视频数据以及所述目标音频数据确定流媒体数据,并基于所述导播网页应用对应的目标URL推送所述流媒体数据。
9.一种音视频推送设备,其特征在于,所述音视频推送设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的音视频推送程序,所述音视频推送程序被所述处理器执行时实现如权利要求1至7中任一项所述的音视频推送方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有音视频推送程序,所述音视频推送程序被处理器执行时实现如权利要求1至7中任一项所述的音视频推送方法的步骤。
CN202111173489.9A 2021-10-08 2021-10-08 音视频推送方法、装置、设备及计算机可读存储介质 Pending CN114025244A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111173489.9A CN114025244A (zh) 2021-10-08 2021-10-08 音视频推送方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111173489.9A CN114025244A (zh) 2021-10-08 2021-10-08 音视频推送方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN114025244A true CN114025244A (zh) 2022-02-08

Family

ID=80055583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111173489.9A Pending CN114025244A (zh) 2021-10-08 2021-10-08 音视频推送方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114025244A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489910A (zh) * 2022-02-10 2022-05-13 北京字跳网络技术有限公司 一种视频会议数据显示方法、装置、设备及介质
CN116980555A (zh) * 2023-06-12 2023-10-31 北京医百科技有限公司 输入信号源的采集方法和系统
CN117119216A (zh) * 2023-10-25 2023-11-24 北京奇点智播科技有限公司 一种直播解说的方法、系统以及直播系统的使用方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101142820A (zh) * 2005-02-11 2008-03-12 维迪亚特企业公司 使用移动终端的远程监视方法及其系统
US20170111680A1 (en) * 2015-10-14 2017-04-20 International Business Machines Corporation Synchronization of live audio and video data streams
CN107995187A (zh) * 2017-11-30 2018-05-04 上海哔哩哔哩科技有限公司 基于html5浏览器的视频主播、直播方法、终端和系统
WO2019019370A1 (zh) * 2017-07-24 2019-01-31 平安科技(深圳)有限公司 一种音视频的直播处理方法、存储介质和一种移动终端
CN112073423A (zh) * 2020-09-15 2020-12-11 杭州二更网络科技有限公司 基于WebRTC进行浏览器推流的方法及系统
CN113163213A (zh) * 2020-01-22 2021-07-23 腾讯科技(深圳)有限公司 比赛直播方法、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101142820A (zh) * 2005-02-11 2008-03-12 维迪亚特企业公司 使用移动终端的远程监视方法及其系统
US20170111680A1 (en) * 2015-10-14 2017-04-20 International Business Machines Corporation Synchronization of live audio and video data streams
WO2019019370A1 (zh) * 2017-07-24 2019-01-31 平安科技(深圳)有限公司 一种音视频的直播处理方法、存储介质和一种移动终端
CN107995187A (zh) * 2017-11-30 2018-05-04 上海哔哩哔哩科技有限公司 基于html5浏览器的视频主播、直播方法、终端和系统
CN113163213A (zh) * 2020-01-22 2021-07-23 腾讯科技(深圳)有限公司 比赛直播方法、设备及存储介质
CN112073423A (zh) * 2020-09-15 2020-12-11 杭州二更网络科技有限公司 基于WebRTC进行浏览器推流的方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489910A (zh) * 2022-02-10 2022-05-13 北京字跳网络技术有限公司 一种视频会议数据显示方法、装置、设备及介质
CN114489910B (zh) * 2022-02-10 2024-05-17 北京字跳网络技术有限公司 一种视频会议数据显示方法、装置、设备及介质
CN116980555A (zh) * 2023-06-12 2023-10-31 北京医百科技有限公司 输入信号源的采集方法和系统
CN116980555B (zh) * 2023-06-12 2024-03-26 北京医百科技有限公司 输入信号源的采集方法和系统
CN117119216A (zh) * 2023-10-25 2023-11-24 北京奇点智播科技有限公司 一种直播解说的方法、系统以及直播系统的使用方法
CN117119216B (zh) * 2023-10-25 2024-01-26 北京奇点智播科技有限公司 一种直播解说的方法、系统以及直播系统的使用方法

Similar Documents

Publication Publication Date Title
US10841636B2 (en) Information processing apparatus, mobile terminal, information processing method, program, and information processing system
CN114025244A (zh) 音视频推送方法、装置、设备及计算机可读存储介质
CN104918105B (zh) 媒体文件的多屏播放方法、设备及系统
EP2933982A1 (en) Media stream transfer method and user equipment
CN104539977A (zh) 直播预览方法及装置
CN111031368A (zh) 多媒体播放方法、装置、设备及存储介质
EP3761308A1 (en) Digital device and speech to text conversion processing method thereof
EP3522546A1 (en) Epg information extension method and device, and computer readable storage medium
US9898443B2 (en) Method and system for webpage processing
CN112911320B (zh) 一种直播方法、装置、计算机设备和存储介质
WO2015180446A1 (zh) 一种多设备联动服务中的连接通道维护系统及方法
EP2775436A1 (en) Method and system for seamless navigation of content across different devices
CN103514219A (zh) 一种在多个终端间分享Web内容的方法及系统
CN105100906A (zh) 一种播放控制方法和设备
CN107241651B (zh) 一种媒体数据播放方法和装置、智能终端
CN114374853A (zh) 内容展示方法、装置、计算机设备和存储介质
CN111654753B (zh) 一种应用程序启动方法及显示设备
KR20160060242A (ko) 클라우드 기반 유저 인터페이스 제공 시스템 및 그 방법
JP5780611B2 (ja) 画像表示方法、映像処理システム、携帯端末、及び携帯端末の操作プログラム
KR20160060244A (ko) 클라우드 기반 유저 인터페이스 제공 시스템 및 그 방법
CN111343498B (zh) 一种静音控制方法、装置及智能电视
CN103533446A (zh) 一种推送图片至视频播放设备的方法和装置
US9900644B2 (en) Device and method for processing an object which provides additional service in connection with a broadcast service in a broadcast receiving device
US11451871B2 (en) Electronic device for providing information related to bookmarked content, and method for controlling electronic device
CN106210867A (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