[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN109168031B - 流媒体推送方法及装置、流媒体平台 - Google Patents

流媒体推送方法及装置、流媒体平台 Download PDF

Info

Publication number
CN109168031B
CN109168031B CN201811312574.7A CN201811312574A CN109168031B CN 109168031 B CN109168031 B CN 109168031B CN 201811312574 A CN201811312574 A CN 201811312574A CN 109168031 B CN109168031 B CN 109168031B
Authority
CN
China
Prior art keywords
data
audio
video
streaming media
pushing
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
Application number
CN201811312574.7A
Other languages
English (en)
Other versions
CN109168031A (zh
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.)
Hangzhou Yunyi Network Technology Co.,Ltd.
Original Assignee
Hangzhou Yunyi Network 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 Hangzhou Yunyi Network Technology Co ltd filed Critical Hangzhou Yunyi Network Technology Co ltd
Priority to CN201811312574.7A priority Critical patent/CN109168031B/zh
Publication of CN109168031A publication Critical patent/CN109168031A/zh
Application granted granted Critical
Publication of CN109168031B publication Critical patent/CN109168031B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/60Network 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/63Control 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • 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/47217End-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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提供了一种流媒体推送方法,包括:当接收到网页端发送的推送请求时,获取当前环境中的视频数据及音频数据;分别对获取的所述视频数据、音频数据进行编码;将经过编码的视频数据和音频数据封装成实时消息传输协议RTMP格式的报文数据,并将所述报文数据推送至流媒体服务器。本发明提供的方法中,网页端在需要进行流媒体推送时,发送推送请求给服务器,由服务器获取当前环境中视频设备及音频设备采集的音视频数据,并将获取的音视频数据进行编码后封装为报文数据,推送至流媒体服务器,不再使用第三方插件进行推送,避免了由于浏览器版本与第三方插件由于兼容性问题,导致推送不及时的问题,提升了流媒体的推送效率。

Description

流媒体推送方法及装置、流媒体平台
技术领域
本发明涉及计算机技术领域,特别涉及一种流媒体推送方法及装置、流媒体平台及存储介质、电子设备。
背景技术
随着互联网+流媒体时代的到来,流媒体在云计算、大数据环境下迅速发展起来,流媒体的应用场景也越来越广泛。商家将需要传送的音视频节目以数据包的形式发出,传送到网络上。用户通过对数据包解压,使节目像发送前那样显示出来,极大的方便的了人们的工作和生活。流媒体在直播平台、视频点播、网络电台、网络视频等方面都有广泛的应用。
目前在推送流媒体的方案中,商家一般借助第三方直播平台或流媒体平台,在网页端嵌入第三方插件,通过第三方插件将需要推送的音视频推送给用户。发明人经过研究发现,由于网页端的浏览器版本多样化,与嵌入的第三方插件存在不兼容问题,导致流媒体不能及时的推送给用户,影响了推送效率。
发明内容
本发明所要解决的技术问题是提供一种流媒体推送方法,以避免由于浏览器版本与第三方插件不兼容,导致的流媒体不能及时推送给用户,提升流媒体的推送效率。
本发明还提供了一种流媒体装置,用以保证上述方法在实际中的实现及应用。
一种流媒体推送方法,包括:
当接收到网页端发送的推送请求时,获取当前环境中的视频数据及音频数据;
分别对获取的所述视频数据、音频数据进行编码;
将经过编码的视频数据和音频数据封装成实时消息传输协议RTMP格式的报文数据,并将所述报文数据推送至流媒体服务器。
上述的方法,可选的,所述获取当前环境中的视频数据及音频数据,包括:
启用预先创建的采集线程,循环遍历所述当前环境中的各个视频设备及音频设备;
调用已遍历到的各个视频设备,对所述当前环境中的视频数据进行采集,并调用已遍历到的各个音频设备,对所述当前环境中的音频数据进行采集;
分别获取所述各个视频设备采集的视频数据,及各个音频设备采集的音频数据,并将获取的视频数据及音频数据,输入至接口服务Sample Grabber中。
上述的方法,可选的,所述分别对获取的所述视频数据、音频数据进行编码,包括:
启用预先创建的视频编码线程,循环的从所述Sample Grabber中的视频数据中取出视频帧,并对取出的视频帧进行编码,并将经过编码的视频帧提交至预先建立的数据缓存队列;同时,启用预先创建的音频编码线程,循环的从所述Sample Grabber中的音频数据中取出音频帧,并对取出的音频帧进行编码,并将经过编码的音频帧提交至所述预先建立的数据缓存队列;
启用预先创建的推流线程,从所述预先创建的数据缓存队列中获取视频数据和音频数据分别对应的各个编码数据,并将获取的各个编码数据封装成RTMP格式的报文数据。
上述的方法,可选的,所述将获取的各个编码数据封装成RTMP格式的报文数据,包括:
依据当前环境中每个视频设备的设备标识,对获取的各个视频编码数据分别进行组合,确定与每个视频设备对应的视频编码数据队列;并依据当前环境中每个音频设备的设备标识,对获取的各个音频编码数据分别进行组合,确定与每个音频设备对应的音频编码数据队列;
将各个所述视频编码数据队列及各个音频编码数据队列,依据其各自对应的采集时间点,组合封装为RTMP格式的报文数据。
上述的方法,可选的,还包括:
当完成对所述报文数据的推送时,向所述网页端返回推送成功的消息,以触发所述网页端回调所述流媒体服务器的推流地址,对已推送至所述流媒体服务器中的报文数据进行拉取,以实现对所述已推送流媒体的预览与录制。
上述的方法,可选的,在接收到网页端发送的推送请求,获取当前环境中的视频数据及音频数据之前,还包括:
依据预设的验证规则,对所述推送请求的合法性进行验证。
一种流媒体推送装置,包括:
获取单元,用于当接收到网页端发送的推送请求时,获取当前环境中的视频数据及音频数据;
编码单元,用于分别对获取的所述视频数据、音频数据进行编码;
推送单元,用于将经过编码的视频数据和音频数据封装成实时消息传输协议RTMP格式的报文数据,并将所述报文数据推送至流媒体服务器。
上述的装置,可选的,所述获取单元,包括:
遍历子单元,用于启用预先创建的采集线程,循环遍历所述当前环境中的各个视频设备及音频设备;
采集子单元,用于调用已遍历到的各个视频设备,对所述当前环境中的视频数据进行采集,并调用已遍历到的各个音频设备,对所述当前环境中的音频数据进行采集;
输入子单元,用于分别获取所述各个视频设备采集的视频数据,及各个音频设备采集的音频数据,并将获取的视频数据及音频数据,输入至接口服务Sample Grabber中。
上述的装置,可选的,所述编码单元,包括:
编码子单元,用于启用预先创建的视频编码线程,循环的从所述Sample Grabber中的视频数据中取出视频帧,并对取出的视频帧进行编码,并将经过编码的视频帧提交至预先建立的数据缓存队列;同时,启用预先创建的音频编码线程,循环的从所述SampleGrabber中的音频数据中取出音频帧,并对取出的音频帧进行编码,并将经过编码的音频帧提交至所述预先建立的数据缓存队列;
封装子单元,用于启用预先创建的推流线程,从所述预先创建的数据缓存队列中获取视频数据和音频数据分别对应的各个编码数据,并将获取的各个编码数据封装成RTMP格式的报文数据。
上述的装置,可选的,所述封装子单元,包括:
第一组合模块,用于依据当前环境中每个视频设备的设备标识,对获取的各个视频编码数据分别进行组合,确定与每个视频设备对应的视频编码数据队列;并依据当前环境中每个音频设备的设备标识,对获取的各个音频编码数据分别进行组合,确定与每个音频设备对应的音频编码数据队列;
第二组合模块,用于将各个所述视频编码数据队列及各个音频编码数据队列,依据其各自对应的采集时间点,组合封装为RTMP格式的报文数据。
上述的装置,可选的,还包括:
触发单元,用于当完成对所述报文数据的推送时,向所述网页端返回推送成功的消息,以触发所述网页端回调所述流媒体服务器的推流地址,对已推送至所述流媒体服务器中的报文数据进行拉取,以实现对所述已推送流媒体的预览与录制。
上述的装置,可选的,还包括:
验证单元,用于在接收到网页端发送的推送请求,获取当前环境中的视频数据及音频数据之前,依据预设的验证规则,对所述推送请求的合法性进行验证。
一种流媒体平台,包括:
网页端、本地服务器和流媒体服务器;
所述网页端与所述本地服务器通过WebSocket协议或http协议进行通信;
其中:
所述本地服务器用于,当接收到网页端发送的推送请求时,获取当前环境中的视频数据及音频数据;分别对获取的所述视频数据、音频数据进行编码;将经过编码的视频数据和音频数据封装成实时消息传输协议RTMP格式的报文数据,并将所述报文数据推送至流媒体服务器。
上述的流媒体平台,可选的,所述本地服务器还用于:
当完成对所述报文数据的推送时,向所述网页端返回推送成功的消息,以触发所述网页端回调所述流媒体服务器的推流地址,对已推送至所述流媒体服务器中的报文数据进行拉取,以实现对所述已推送流媒体的预览与录制。
一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的设备执行上述的流媒体推送方法。
一种电子设备,包括存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的流媒体推送方法。
与现有技术相比,本发明包括以下优点:
本发明提供了一种流媒体推送方法,包括:当接收到网页端发送的推送请求时,获取当前环境中的视频数据及音频数据;分别对获取的所述视频数据、音频数据进行编码;将经过编码的视频数据和音频数据封装成实时消息传输协议RTMP格式的报文数据,并将所述报文数据推送至流媒体服务器。本发明提供的方法中,网页端在需要进行流媒体推送时,发送推送请求给服务器,由服务器获取当前环境中视频设备及音频设备采集的音视频数据,并将获取的音视频数据进行编码后封装为报文数据,推送至流媒体服务器,不再使用第三方插件进行推送,避免了由于浏览器版本与第三方插件由于兼容性问题,导致推送不及时的问题,提升了流媒体的推送效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的流媒体推送方法的方法流程图;
图2为本发明提供的流媒体推送方法的又一方法流程图;
图3为本发明提供的流媒体推送方法的原理架构图;
图4为本发明提供的流媒体推送方法的一示例图;
图5为本发明提供的流媒体推送方法的又一示例图;
图6为本发明提供的流媒体推送装置的结构示意图;
图7为本发明提供的流媒体平台的结构示意图;
图8为本发明提供的流媒体平台的又一结构示意图;
图9为本发明提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种流媒体推送方法,所述方法可以应用于流媒体平台,其执行主体可以为所述流媒体平台中的本地服务器,所述方法的方法流程图如图1所示,包括:
S101:当接收到网页端发送的推送请求时,获取当前环境中的视频数据及音频数据;
本发明实施例提供的方法中,网页端的浏览器需要推送流媒体时,可以发送推送请求给本地服务器,所述本地服务器在接收到所述推送请求时,获取当前环境中需要推流的视频数据和音频数据。
S102:分别对获取的所述视频数据、音频数据进行编码;
本发明实施例提供的方法中,本地服务器分别对需要进行推流的视频数据进行相应的视频编码,对需要进行推流的音频数据进行相应的音频编码。
S103:将经过编码的视频数据和音频数据封装成实时消息传输协议RTMP格式的报文数据,并将所述报文数据推送至流媒体服务器。
本发明实施例提供的方法中,所述本地服务器将经过编码的视频数据和音频数据封装成RTMP格式的报文数据,然后将封装好的报文数据推送至所述流媒体服务器,以完成对当前采集的音视频数据的推流。本发明实施例中,所述RTMP为实时消息传输协议。
本发明实施例提供的方法中,依托流媒体平台,网页端的浏览器在对音视频进行推流时,不再通过第三方插件进行,直接向本地服务器发送推送请求,本地服务器在接收到所述推送请求时,所述本地服务器获取当前环境中各个视频设备采集的视频数据,及各个音频设备采集的音频数据,由所述本地服务器对获取的视频数据和音频数据分别进行编码,并对经过编码的音视频数据进行封装后,进行推送。本发明实施例提供的方法中,由本地服务器进行流媒体的推送,避免了由于浏览器版本与第三方插件可能存在不兼容,导致流媒体推送不及时的问题,提升了推送效率。
本发明实施例提供的流媒体推送方法,可以应用于流媒体平台,本发明实施例提供的流媒体平台可以包括:网页端、本地服务器和流媒体服务器,所述网页端与所述本地服务器可以通过WebSocket协议或http协议进行通信。本发明实施例提供的方法中,所述网页端可以为浏览器应用端,所述网页端设置有浏览器,所述浏览器可以为任意版本的浏览器。当用户需要通过所述浏览器对流媒体进行推送时,所述网页端向本地服务器发送推送请求。本发明实施例提供的方法中,所述本地服务器为设置在用户当前所在环境中的服务器。
本发明实施例提供的流媒体推送方法中,所述获取当前环境中的视频数据及音频数据,包括:
启用预先创建的采集线程,循环遍历所述当前环境中的各个视频设备及音频设备;
调用已遍历到的各个视频设备,对所述当前环境中的视频数据进行采集,并调用已遍历到的各个音频设备,对所述当前环境中的音频数据进行采集;
分别获取所述各个视频设备采集的视频数据,及各个音频设备采集的音频数据,并将获取的视频数据及音频数据,输入至接口服务Sample Grabber中。
本发明实施例提供的流媒体推送方法中,所述Sample Grabber为所述本地服务器中的接口服务。
本发明实施例提供的方法中,在需要进行推流的情况下,启用本地服务器中的预先创建的采集线程,循环遍历本地的各个视频设备和音频设备。本发明实施例提供的方法中,所述视频设备可以为摄像头,所述音频设备可以为麦克风。在实际应用中,与所述流媒体平台处于连接状态的视频设备可以为多个,音频设备也可以为多个。在实际的直播平台中,可以设置多个摄像头及多个麦克风,例如在直播过程中,可以设置两个摄像头采集直播人员的不同场景的视频,可以设置一个麦克风采集直播人员的音频。
本发明实施例提供的方法中,本地服务器启用采集线程,循环遍历各个视频设备和音频设备,调用处于正常运行状态的视频设备和音频设备对本地的视频数据及音频数据进行采集。
本发明实施例提供的方法中,本地服务器启用采集线程,循环遍历与所述流媒体平台相连接的各个视频设备和音频设备,所述循环遍历可以理解为,周期性的对与所述流媒体平台相连接的各个视频设备和音频设备进行遍历,例如,在第一遍历周期内启用两个视频设备,若在第二遍历周期内遍历到第三个视频设备,则对第三个视频设备也进行启用过程。所述循环遍历还可以理解为依次对与所述流媒体平台相连接的各个视频设备和音频设备进行遍历,本发明实施例提供的方法中,优选的,在推流过程中,调用将与流媒体平台相连接的,各个处于正常运行状态的视频设备和各个音频设备进行音视频数据的采集。
参考图2,示出了本发明实施例提供的流媒体推送方法中,分别对获取的所述视频数据、音频数据进行编码的具体过程,包括:
启用预先创建的视频编码线程,循环的从所述Sample Grabber中的视频数据中取出视频帧,并对取出的视频帧进行编码,并将经过编码的视频帧提交至预先建立的数据缓存队列;同时,启用预先创建的音频编码线程,循环的从所述Sample Grabber中的音频数据中取出音频帧,并对取出的音频帧进行编码,并将经过编码的音频帧提交至所述预先建立的数据缓存队列;
启用预先创建的推流线程,从所述预先创建的数据缓存队列中获取视频数据和音频数据分别对应的各个编码数据,并将获取的各个编码数据封装成RTMP格式的报文数据。
本发明实施例提供的流媒体推送方法中,优选的,对从所述Sample Grabber中的视频数据中取出视频帧进行H.264编码。对从所述Sample Grabber中的音频数据中取出音频帧进行AAC编码。
本发明实施例提供的方法中,本地服务器启用视频编码线程,循环的从SampleGrabber中取出视频帧,同时,启用音频编码线程从Sample Grabber中取出音频帧。本发明实施例中,所述Sample Grabber中缓存有各个视频设备采集的视频数据,及各个音频设备采集的音频数据。所述视频编码线程从所述Sample Grabber中的视频数据中,取出视频帧,所述循环的取出,可以理解为可以一帧一帧的取出,也可以几帧为一组取出,对取出的视频帧进行H.264编码。所述音频编码线程取出音频帧的过程,与所述视频编码线程的执行过程一致。
本发明实施例中,所述推流线程从所述数据缓存队列中获取视频数据对应的编码数据及音频数据对应的编码数据,并将获取的视频编码数据及音频编码数据进行合成,并封装成RTMP格式的报文数据。
本发明实施例中,可选的,还可以将经过编码的视频帧提交至预先建立的视频数据缓存队列,将经过编码的音频帧提交至预先建立的音频数据缓存队列,然后,在推流线程进行封装的过程中,分别从视频数据缓存队列获取视频编码数据,从所述音频数据缓存队列中,获取音频编码数据。
本发明实施例提供的方法中,所述将获取的各个编码数据封装成RTMP格式的报文数据的具体过程,可以包括:
依据当前环境中每个视频设备的设备标识,对获取的各个视频编码数据分别进行组合,确定与每个视频设备对应的视频编码数据队列;并依据当前环境中每个音频设备的设备标识,对获取的各个音频编码数据分别进行组合,确定与每个音频设备对应的音频编码数据队列;
将各个所述视频编码数据队列及各个音频编码数据队列,依据其各自对应的采集时间点,组合封装为RTMP格式的报文数据。
本发明实施例提供的方法中,在将获取的各个编码数据封装成报文数据的过程中,不同的视频设备分别采集了不同的视频数据,不同的音频设备分别采集了不同的音频数据,在进行编码的过程中,将各个视频数据的视频帧及各个音频数据中的音频帧进行了拆分,因此,在具体的封装过程中,将从数据缓存队列中获取的经过编码的视频帧及音频帧,根据其对应的设备标识进行组合,组成视频编码数据队列及音频编码数据队列。
例如:假设当前环境下,存在视频设备1、视频设备2及音频设备1,视频设备1采集当前环境中的视频数据1,视频设备2采集当前环境中的视频数据2,音频设备1采集当前环境中的音频数据。
以视频设备1为例,在编码过程中,将视频设备1采集的视频数据1中的每一个视频帧,进行H.264编码,然后将经过编码的视频帧存入数据缓存队列中,由于在编码过程中,视频设备1和视频设备2采集的视频数据均经过编码,且存入到数据缓存队列中的顺序是随机的,因此,在后续封装过程中,需要将取出的各个经过编码的视频帧,重新进行组合,本发明实施例提供的方法中,依据每个设备的设备标识对经过编码的数据进行组合。各个视频设备及音频设备对应的编码数据的组合过程一致。
本发明实施例提供的方法中,视频设备1对应经过编码的视频编码数据队列1,视频设备2对应经过编码的视频编码数据队列2,音频设备1对应经过编码的音频编码数据队列1,将上述各个编码数据队列依据其对应设备的采集时间点进行组合,例如,视频设备1对应的视频编码数据队列的采集时间点为1~10秒,音频设备1对应的音频编码数据队列的采集时间点为5~8秒,则在对各个编码数据队列进行组合封装时,将视频设备1对应的视频编码数据队列中5~8秒的部分与所述音频设备1对应的音频编码数据队列相对应的组合封装,最终将各个编码数据队列组合封装为报文数据。
本发明实施例提供的方法中,当所述本地服务器完成对所述报文数据的推送时,所述本地服务器向网页端返回推送成功的消息,以触发所述网页端的浏览器应用端回调所述流媒体服务器的推流地址,对已推送至所述流媒体服务器中的报文数据进行拉取,以实现对已推送流媒体的预览与录制。
本发明实施例提供的方法中,在接收到网页端发送的推送请求,获取当前环境中的视频数据及音频数据之前,还包括:
依据预设的验证规则,对所述推送请求的合法性进行验证。
本发明实施例提供的方法中,本地服务器在接收到网页端发送的推送请求时,可以根据所述推送请求确定网页端的浏览器类型,对于不满足预设要求的浏览器,不对其所在网页端发送的推送请求进行响应,例如一些不符合法律规定的浏览器申请进行推流时,本发明实施例提供的方法不对其推流请求进行响应。
参考图3,示出了本发明实施例提供的一种流媒体推送方法的原理架构图,由图3可以看出,本发明实施例提供的方法,依托于流媒体平台,所述流媒体平台包括三部分:网页端、本地服务器和流媒体服务器。所述网页端可以为浏览器应用端。
本发明实施例中,浏览器应用端与本地服务器之间的通信数据包格式定义如下:
Figure BDA0001855387490000111
Figure BDA0001855387490000121
本发明实施例中,所述浏览器应用端主要用于与本地服务器进行通信,同时对消息处理、音视频的预览与回放,同时支持视频画中画与多路采集流画面显示的效果。
本发明实施例中,所述本地服务器是核心模块,所述本地服务器是连接浏览器应用端与流媒体服务器两者之间的桥梁。主要包括消息的处理、本地设备的音视频数据采集、音视频数据的编解码、多个音视频数据的合成、音视频数据流的传输等功能。
本发明实施例中,所指的流媒体的推送,具体指对需要传送的音频数据和视频数据进行推送。
本发明实施例中,流媒体服务器是服务端,包括音视频的编码、解码、直播、回放、分发与存储等功能。
本发明实施例提供的方法中,在浏览器应用端的WEB页面中布局音视频预览与回放的功能元素,页面中采用WEBSOCKET协议以WS或者WSS方式通过JavaScript与本地服务器建立通信连接,同时所述本地服务器向网页端提供消息事件。页面上可以触发的消息有推流\录制(0000)、回放\预览(0001)、暂停(0002)与停止(0003)。如果是低版本的IE浏览器WEB页面中还可以支持HTTP/HTTPS协议与本地服务器进行通信,本发明实施例中可以根据不同版本的浏览器来支持不同的通信协议。
本发明实施例提供的方法中,采用ActionScript技术生成音视频的预览插件,并布局在浏览器应用端中,它的功能是实现音视频的实时播放,主要设置流媒体服务的实时流的回调地址。设置形式如下所示:
<source src="rtmp://ip:port/app/streamId"type="rtmp/flv">
本发明实施例提供的方法中,在浏览器应用端的网页页面中使用video.js或者flv.js脚本库来实现音视频流的回放,具体页面配置如下,同时回放也支持跨浏览器。
<script src="rtmp://ip:port/app1/streamID"></script>
本发明实施例提供的方法中,当用户在浏览器应用端的web页面中进行流媒体推流这个功能时,首先是采集摄像头的视频数据与麦克风的音频数据,其次对视频数据进行H.264编码,并对音频数据进行AAC编码,然后将编码后的数据进行封装,封装成流媒体服务器能识别的媒体流。从音视频的采集、编码、封装到推流这一过程,本发明实施例提供的方法中,在网页页面中通过WS或HTTP协议与本地服务器进行通信,并触发推流消息0000,通过0000消息事件来驱动本地服务器。
本发明实施例提供的方法中,本地服务器是以服务形式随着操作系统而启动,服务启动后,会初始化一些本地资源如遍历摄像头、麦克风、扬声器等设备的数量与属性,并确定每个设备的设备能力;对视频设备而言,设置视频的分辨率、码率、帧率;对音频设备而言,设置音频的采样率与音频码率;流媒体服务推流地址的设置等。同时会开启消息事件处理线程来接收浏览器应用端发送的事件消息,当收到0000消息事件后,首先,本地服务器会判断消息的合法性,然后采用DirectShow方式或OpenCV调用本地摄像头与麦克风来捕获音视频数据。通过采集摄像头视频和麦克风等设备的音频数据后,分别进行H.264和AAC编码,然后将编码后的音视频数据封装成RTMP格式的报文数据发送到流媒体服务器,实现视频的实时直播。如果推送RTMP格式的报文数据成功发布到流媒体服务器后,本地服务器会向浏览器应用端返回推流成功的信息。
本发明实施例提供的方法中,浏览器应用端收到本地服务器的返回信息后,浏览器应用端的ActionScrtip插件立即通过原先设置好的JS脚本来回调流媒体服务器的推流地址,从而达到实时拉取RTMP流实现音视频预览与录制的目的。如果用户在浏览器应用端触发停止的消息事件,本地服务器就会收到0003消息事件,收到0003消息后,本地服务器会设置推流线程中的停止标识来结束本次推流,此时,浏览器应用端收到本地服务器的返回信息后就会结束视频预览与录制功能。
本发明实施例中,如果浏览器应用端用户想回放某段历史视频,可以在JS脚本中设置回放媒体流的回放地址就可实现,本发明实施例提供的方法中,支持按码流串ID来回放。
本发明实施例提供的方法中,还实现了本地采集多个音视频数据的同时合成多路音视频流并推送到流媒体服务端。本发明实施例提供的方法中,采用DirectShow来实现IsampleGrabberCB接口,通过回调来保留每个音视频的数据缓存,主要用4个线程来处理,采集线程、视频编码线程与音频编码线程、推流线程。采集线程主要是循环遍历视频设备(摄像头)与音频设备(麦克风)的数据与能力,采集线程中获取的音视频数据会一直往SampleGrabber中送数据。视频编码线程是循环地从SampleGrabber中取出视频帧进行H264方式编码;音频编码线程也会循环地从SampleGrabber中取出音频帧进行AAC方式编码;因为要实现本地音视频数据的合并,所以设计一个数据缓存队列来完成,音视频的编码线程将数据提交给数据缓存队列后立刻返回,此时的推流线程不断地从数据缓存队列中获取音视频的编码数据并封装成RTMP数据包发送给服务端,完成了本地边采集边合成并且推送给流媒体服务器的功能。
本发明实施例中,对于不同视频和音频的合并图示,可以参见,本发明实施例提供的图4及图5,示出了多路音视频数据合成后的显示画面。本发明实施例中,多路音视频数据可以合并为一个总体的显示画面。例如在图4及图5中,两路视频数据可以以画中画的形式进行显示。
与图1所述的方法相对应的,本发明实施例还提供了一种流媒体推送装置,用于对图1中方法的具体实现,本发明实施例提供的流媒体推送装置设置在流媒体平台中的本地服务器中,其结构示意图如图6所示,具体包括:
获取单元201,用于当接收到网页端发送的推送请求时,获取当前环境中的视频数据及音频数据;
编码单元202,用于分别对获取的所述视频数据、音频数据进行编码;
推送单元203,用于将经过编码的视频数据和音频数据封装成实时消息传输协议RTMP格式的报文数据,并将所述报文数据推送至流媒体服务器。
本发明实施例提供的流媒体推送装置,依托流媒体平台,在对音视频进行推流时,不再通过第三方插件进行,直接向本地服务器发送推送请求,并在本地服务器接收到所述推送请求时,获取当前环境中各个视频设备采集的视频数据,及各个音频设备采集的音频数据,对获取的视频数据和音频数据分别进行编码,并对经过编码的音视频数据进行封装后,进行推送。本发明实施例提供的方法中,由本地服务器中的流媒体推送装置进行流媒体的推送,避免了由于浏览器版本与第三方插件可能存在不兼容,导致流媒体推送不及时的问题,提升了推送效率。
本发明实施例提供的流媒体推送装置中,所述获取单元,包括:
遍历子单元,用于启用预先创建的采集线程,循环遍历所述当前环境中的各个视频设备及音频设备;
采集子单元,用于调用已遍历到的各个视频设备,对所述当前环境中的视频数据进行采集,并调用已遍历到的各个音频设备,对所述当前环境中的音频数据进行采集;
输入子单元,用于分别获取所述各个视频设备采集的视频数据,及各个音频设备采集的音频数据,并将获取的视频数据及音频数据,输入至接口服务Sample Grabber中。
所述编码单元,包括:
编码子单元,用于启用预先创建的视频编码线程,循环的从所述Sample Grabber中的视频数据中取出视频帧,并对取出的视频帧进行编码,并将经过编码的视频帧提交至预先建立的数据缓存队列;同时,启用预先创建的音频编码线程,循环的从所述SampleGrabber中的音频数据中取出音频帧,并对取出的音频帧进行编码,并将经过编码的音频帧提交至所述预先建立的数据缓存队列;
封装子单元,用于启用预先创建的推流线程,从所述预先创建的数据缓存队列中获取视频数据和音频数据分别对应的各个编码数据,并将获取的各个编码数据封装成RTMP格式的报文数据。
所述封装子单元,包括:
第一组合模块,用于依据当前环境中每个视频设备的设备标识,对获取的各个视频编码数据分别进行组合,确定与每个视频设备对应的视频编码数据队列;并依据当前环境中每个音频设备的设备标识,对获取的各个音频编码数据分别进行组合,确定与每个音频设备对应的音频编码数据队列;
第二组合模块,用于将各个所述视频编码数据队列及各个音频编码数据队列,依据其各自对应的采集时间点,组合封装为RTMP格式的报文数据。
本发明实施例提供的流媒体推送装置中,还包括:
触发单元,用于当完成对所述报文数据的推送时,向所述网页端返回推送成功的消息,以触发所述网页端回调所述流媒体服务器的推流地址,对已推送至所述流媒体服务器中的报文数据进行拉取,以实现对所述已推送流媒体的预览与录制。
验证单元,用于在接收到网页端发送的推送请求,获取当前环境中的视频数据及音频数据之前,依据预设的验证规则,对所述推送请求的合法性进行验证。
与图1所述的方法相对应的,本发明实施例还提供了一种流媒体平台,用于对图1中方法的硬件实现,本发明实施例提供的流媒体平台,其结构示意图如图7所示,具体包括:
网页端301、本地服务器302和流媒体服务器303,所述网页端301与所述本地服务器302通过WebSocket协议或http协议进行通信;所述本地服务器302,用于所述本地服务器用于,当接收到网页端发送的推送请求时,获取当前环境中的视频数据及音频数据;分别对获取的所述视频数据、音频数据进行编码;将经过编码的视频数据和音频数据封装成实时消息传输协议RTMP格式的报文数据,并将所述报文数据推送至流媒体服务器303。
本发明实施例提供的流媒体平台,网页端在对音视频进行推流时,不再通过第三方插件进行,直接向本地服务器发送推流消息事件,本地服务器在接收到所述推流消息事件时,所述本地服务器获取本地各个视频设备采集的视频数据,及本地各个音频设备采集的音频数据,由所述本地服务器对获取的视频数据和音频分别进行编码,并对经过编码的音视频数据进行封装后,进行推送。本发明实施例提供的流媒体平台,由本地服务器进行流媒体的推送,避免了由于浏览器版本与第三方插件可能存在不兼容,导致流媒体推送不及时的问题,提升了推送效率。
参考图8,示出了本发明实施例提供的流媒体平台的又一结构示意图,所述本地服务器包括:
触发单元304,用于当所述本地服务器完成对所述报文数据的推送时,所述本地服务器向所述浏览器应用端返回推送成功的消息,以触发所述浏览器应用端回调所述流媒体服务器的推流地址,对已推送至所述流媒体服务器中的报文数据进行拉取,以实现对已推送流媒体的预览与录制。
验证单元305,用于当所述本地服务器接收到所述网页端发送的推流消息事件时,对所述推流消息事件的合法性进行验证。
本发明实施例提供的流媒体平台中,所述本地服务器中包含的触发单元和验证单元,与上述实施例中提及的流媒体推送装置中涉及的触发单元及验证单元相同。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的设备执行上述一种流媒体推送方法,所述方法包括:
当接收到网页端发送的推送请求时,获取当前环境中的视频数据及音频数据;
分别对获取的所述视频数据、音频数据进行编码;
将经过编码的视频数据和音频数据封装成实时消息传输协议RTMP格式的报文数据,并将所述报文数据推送至流媒体服务器。
上述的方法,优选的,所述获取当前环境中的视频数据及音频数据,包括:
启用预先创建的采集线程,循环遍历所述当前环境中的各个视频设备及音频设备;
调用已遍历到的各个视频设备,对所述当前环境中的视频数据进行采集,并调用已遍历到的各个音频设备,对所述当前环境中的音频数据进行采集;
分别获取所述各个视频设备采集的视频数据,及各个音频设备采集的音频数据,并将获取的视频数据及音频数据,输入至接口服务Sample Grabber中。
上述的方法,优选的,所述分别对获取的所述视频数据、音频数据进行编码,包括:
启用预先创建的视频编码线程,循环的从所述Sample Grabber中的视频数据中取出视频帧,并对取出的视频帧进行编码,并将经过编码的视频帧提交至预先建立的数据缓存队列;同时,启用预先创建的音频编码线程,循环的从所述Sample Grabber中的音频数据中取出音频帧,并对取出的音频帧进行编码,并将经过编码的音频帧提交至所述预先建立的数据缓存队列;
启用预先创建的推流线程,从所述预先创建的数据缓存队列中获取视频数据和音频数据分别对应的各个编码数据,并将获取的各个编码数据封装成RTMP格式的报文数据。
上述的方法,优选的,所述将获取的各个编码数据封装成RTMP格式的报文数据,包括:
依据当前环境中每个视频设备的设备标识,对获取的各个视频编码数据分别进行组合,确定与每个视频设备对应的视频编码数据队列;并依据当前环境中每个音频设备的设备标识,对获取的各个音频编码数据分别进行组合,确定与每个音频设备对应的音频编码数据队列;
将各个所述视频编码数据队列及各个音频编码数据队列,依据其各自对应的采集时间点,组合封装为RTMP格式的报文数据。
上述的方法,优选的,还包括:
当完成对所述报文数据的推送时,向所述网页端返回推送成功的消息,以触发所述网页端回调所述流媒体服务器的推流地址,对已推送至所述流媒体服务器中的报文数据进行拉取,以实现对所述已推送流媒体的预览与录制。
上述的方法,优选的,在接收到网页端发送的推送请求,获取当前环境中的视频数据及音频数据之前,还包括:
依据预设的验证规则,对所述推送请求的合法性进行验证。
本发明实施例还提供了一种电子设备,其结构示意图如图9所示,具体包括存储器401,以及一个或者一个以上的程序402,其中一个或者一个以上程序402存储于存储器401中,且经配置以由一个或者一个以上处理器403执行所述一个或者一个以上程序402包含用于进行以下操作的指令:
当接收到网页端发送的推送请求时,获取当前环境中的视频数据及音频数据;
分别对获取的所述视频数据、音频数据进行编码;
将经过编码的视频数据和音频数据封装成实时消息传输协议RTMP格式的报文数据,并将所述报文数据推送至流媒体服务器。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种流媒体推送方法及装置、流媒体平台进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种流媒体推送方法,其特征在于,应用于本地服务器,包括:
当接收到网页端发送的推送请求时,获取当前环境中的视频数据及音频数据;
分别对获取的所述视频数据、音频数据进行编码;
将经过编码的视频数据和音频数据封装成实时消息传输协议RTMP格式的报文数据,并将所述报文数据推送至流媒体服务器,其中包括:依据当前环境中每个视频设备的设备标识,对获取的各个视频编码数据分别进行组合,确定与每个视频设备对应的视频编码数据队列;并依据当前环境中每个音频设备的设备标识,对获取的各个音频编码数据分别进行组合,确定与每个音频设备对应的音频编码数据队列;将各个视频编码数据队列及各个音频编码数据队列,依据其各自对应的采集时间点,组合封装为RTMP格式的报文数据;
当完成对所述报文数据的推送时,向所述网页端返回推送成功的消息,以触发所述网页端回调所述流媒体服务器的推流地址,对已推送至所述流媒体服务器中的报文数据进行拉取,以实现实时对所述已推送流媒体的预览与录制。
2.根据权利要求1所述的方法,其特征在于,所述获取当前环境中的视频数据及音频数据,包括:
启用预先创建的采集线程,循环遍历所述当前环境中的各个视频设备及音频设备;
调用已遍历到的各个视频设备,对所述当前环境中的视频数据进行采集,并调用已遍历到的各个音频设备,对所述当前环境中的音频数据进行采集;
分别获取所述各个视频设备采集的视频数据,及各个音频设备采集的音频数据,并将获取的视频数据及音频数据,输入至接口服务Sample Grabber中。
3.根据权利要求2所述的方法,其特征在于,所述分别对获取的所述视频数据、音频数据进行编码,包括:
启用预先创建的视频编码线程,循环的从所述Sample Grabber中的视频数据中取出视频帧,并对取出的视频帧进行编码,并将经过编码的视频帧提交至预先建立的数据缓存队列;同时,启用预先创建的音频编码线程,循环的从所述Sample Grabber中的音频数据中取出音频帧,并对取出的音频帧进行编码,并将经过编码的音频帧提交至所述预先建立的数据缓存队列;
启用预先创建的推流线程,从所述预先创建的数据缓存队列中获取视频数据和音频数据分别对应的各个编码数据,并将获取的各个编码数据封装成RTMP格式的报文数据。
4.根据权利要求1所述的方法,其特征在于,在接收到网页端发送的推送请求,获取当前环境中的视频数据及音频数据之前,还包括:
依据预设的验证规则,对所述推送请求的合法性进行验证。
5.一种流媒体推送装置,其特征在于,应用于本地服务器,包括:
获取单元,用于当接收到网页端发送的推送请求时,获取当前环境中的视频数据及音频数据;
编码单元,用于分别对获取的所述视频数据、音频数据进行编码;
推送单元,用于将经过编码的视频数据和音频数据封装成实时消息传输协议RTMP格式的报文数据,并将所述报文数据推送至流媒体服务器;
触发单元,用于当完成对所述报文数据的推送时,向所述网页端返回推送成功的消息,以触发所述网页端回调所述流媒体服务器的推流地址,对已推送至所述流媒体服务器中的报文数据进行拉取,以实现对所述已推送流媒体的预览与录制;
其中,所述封装子单元,包括:
第一组合模块,用于依据当前环境中每个视频设备的设备标识,对获取的各个视频编码数据分别进行组合,确定与每个视频设备对应的视频编码数据队列;并依据当前环境中每个音频设备的设备标识,对获取的各个音频编码数据分别进行组合,确定与每个音频设备对应的音频编码数据队列;
第二组合模块,用于将各个所述视频编码数据队列及各个音频编码数据队列,依据其各自对应的采集时间点,组合封装为RTMP格式的报文数据。
6.根据权利要求5所述的装置,其特征在于,所述获取单元,包括:
遍历子单元,用于启用预先创建的采集线程,循环遍历所述当前环境中的各个视频设备及音频设备;
采集子单元,用于调用已遍历到的各个视频设备,对所述当前环境中的视频数据进行采集,并调用已遍历到的各个音频设备,对所述当前环境中的音频数据进行采集;
输入子单元,用于分别获取所述各个视频设备采集的视频数据,及各个音频设备采集的音频数据,并将获取的视频数据及音频数据,输入至接口服务Sample Grabber中。
7.根据权利要求6所述的装置,其特征在于,所述编码单元,包括:
编码子单元,用于启用预先创建的视频编码线程,循环的从所述Sample Grabber中的视频数据中取出视频帧,并对取出的视频帧进行编码,并将经过编码的视频帧提交至预先建立的数据缓存队列;同时,启用预先创建的音频编码线程,循环的从所述Sample Grabber中的音频数据中取出音频帧,并对取出的音频帧进行编码,并将经过编码的音频帧提交至所述预先建立的数据缓存队列;
封装子单元,用于启用预先创建的推流线程,从所述预先创建的数据缓存队列中获取视频数据和音频数据分别对应的各个编码数据,并将获取的各个编码数据封装成RTMP格式的报文数据。
8.根据权利要求5所述的装置,其特征在于,还包括:
验证单元,用于在接收到网页端发送的推送请求,获取当前环境中的视频数据及音频数据之前,依据预设的验证规则,对所述推送请求的合法性进行验证。
9.一种流媒体平台,其特征在于,包括:
网页端、本地服务器和流媒体服务器;
所述网页端与所述本地服务器通过WebSocket协议或http协议进行通信;
其中:
所述本地服务器用于,当接收到网页端发送的推送请求时,获取当前环境中的视频数据及音频数据;分别对获取的所述视频数据、音频数据进行编码;将经过编码的视频数据和音频数据封装成实时消息传输协议RTMP格式的报文数据,并将所述报文数据推送至流媒体服务器,其中包括:依据当前环境中每个视频设备的设备标识,对获取的各个视频编码数据分别进行组合,确定与每个视频设备对应的视频编码数据队列;并依据当前环境中每个音频设备的设备标识,对获取的各个音频编码数据分别进行组合,确定与每个音频设备对应的音频编码数据队列;将各个视频编码数据队列及各个音频编码数据队列,依据其各自对应的采集时间点,组合封装为RTMP格式的报文数据;当完成对所述报文数据的推送时,向所述网页端返回推送成功的消息,以触发所述网页端回调所述流媒体服务器的推流地址,对已推送至所述流媒体服务器中的报文数据进行拉取,以实现实时对所述已推送流媒体的预览与录制。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的设备执行如权利要求1~4任意一项所述的流媒体推送方法。
11.一种电子设备,其特征在于,包括存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1~4任意一项所述的流媒体推送方法。
CN201811312574.7A 2018-11-06 2018-11-06 流媒体推送方法及装置、流媒体平台 Active CN109168031B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811312574.7A CN109168031B (zh) 2018-11-06 2018-11-06 流媒体推送方法及装置、流媒体平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811312574.7A CN109168031B (zh) 2018-11-06 2018-11-06 流媒体推送方法及装置、流媒体平台

Publications (2)

Publication Number Publication Date
CN109168031A CN109168031A (zh) 2019-01-08
CN109168031B true CN109168031B (zh) 2021-12-24

Family

ID=64876728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811312574.7A Active CN109168031B (zh) 2018-11-06 2018-11-06 流媒体推送方法及装置、流媒体平台

Country Status (1)

Country Link
CN (1) CN109168031B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109765823A (zh) * 2019-01-21 2019-05-17 吉林大学 基于手臂肌电信号的地面履带式无人车控制方法
CN111355768B (zh) * 2019-04-24 2023-05-30 深圳市鸿合创新信息技术有限责任公司 一种视频数据传输方法、装置与电子设备
CN110446010A (zh) * 2019-08-02 2019-11-12 江西航天鄱湖云科技有限公司 基于web的视频监控方法、装置、存储介质、服务器及系统
CN112770188B (zh) * 2019-11-01 2022-09-02 杭州海康威视系统技术有限公司 一种视频播放方法及装置
CN111083167A (zh) * 2019-12-31 2020-04-28 深圳市思博慧数据科技有限公司 一种跨浏览器的h.265视频播放方法
CN113067997B (zh) * 2020-01-02 2024-08-16 北京沃东天骏信息技术有限公司 一种实时视频通话的方法和装置
CN111629277B (zh) * 2020-04-15 2024-06-14 视联动力信息技术股份有限公司 视频数据传输方法、装置及计算机可读存储介质
CN111814761A (zh) * 2020-08-24 2020-10-23 国网湖南省电力有限公司 储能电站安全智能监控方法
CN112437263A (zh) * 2020-11-12 2021-03-02 成都麦赛科技有限公司 一种视频推流方法及系统
CN112752143A (zh) * 2020-12-30 2021-05-04 北京真视通信息科技发展有限公司 流媒体服务器编码优化方法及装置
CN112929686B (zh) * 2021-02-04 2022-12-20 北京华宇信息技术有限公司 线上实时回放录制视频的方法及装置
CN112887426B (zh) * 2021-03-02 2023-05-30 北京百度网讯科技有限公司 信息流的推送方法、装置、电子设备以及存储介质
CN115086778B (zh) * 2021-03-15 2024-05-24 中移(上海)信息通信科技有限公司 视频流的ai处理方法及装置
CN113079347B (zh) * 2021-03-15 2021-12-24 中移智行网络科技有限公司 一种远程驾驶的实现方法及实现装置
CN112804564A (zh) * 2021-03-29 2021-05-14 浙江华创视讯科技有限公司 视频会议的媒体流加工方法、装置、设备及可读存储介质
CN113778856B (zh) * 2021-07-27 2023-12-08 浙江大学 基于流媒体语义服务器的app检测方法和系统
CN113691752A (zh) * 2021-09-01 2021-11-23 上海云从企业发展有限公司 基于终端设备的视频采集方法
CN114025196B (zh) * 2021-10-09 2024-08-27 咪咕文化科技有限公司 编码方法、解码方法、编解码装置及介质
CN113873337A (zh) * 2021-10-27 2021-12-31 猫岐智能科技(上海)有限公司 一种图像查看方法
CN114257575B (zh) * 2021-12-16 2024-04-16 平安壹账通云科技(深圳)有限公司 一种客户端数据的处理方法、装置、电子设备及存储介质
CN114584538B (zh) * 2022-03-01 2024-03-22 北京智慧星光信息技术股份有限公司 移动流媒体数据传输方法、装置及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986706A (zh) * 2010-11-16 2011-03-16 重庆瑞斯凯特科技有限责任公司 移动终端视频发布系统、方法及其应用
CN102131084A (zh) * 2010-01-19 2011-07-20 深圳市在线通网络科技开发有限公司 音视频流媒体rtmp推送装置和音视频流媒体rtmp推送方法
CN103327417A (zh) * 2013-07-11 2013-09-25 亿览在线网络技术(北京)有限公司 一种实时远程音视频的直播方法及其装置
CN103414751A (zh) * 2013-07-16 2013-11-27 广东工业大学 一种pc屏幕内容分享互动控制方法
CN103856727A (zh) * 2014-03-24 2014-06-11 北京工业大学 一种多路实时视频拼接处理系统
CN105025327A (zh) * 2015-07-14 2015-11-04 福建富士通信息软件有限公司 一种移动终端现场直播的方法及系统
CN105791884A (zh) * 2016-03-07 2016-07-20 读者出版传媒股份有限公司 一种流媒体直播方法及系统
CN106162062A (zh) * 2015-04-10 2016-11-23 深圳市视高电子技术有限公司 获取监控视频的方法和系统
CN106358050A (zh) * 2016-08-30 2017-01-25 华南理工大学广州学院 基于安卓的音频视频流推送方法及装置、播放方法及装置
CN106537925A (zh) * 2014-08-04 2017-03-22 利奇传媒公司 使得能够在经由移动设备访问的互联网网页上嵌入、流传送和显示视频广告和内容的系统和方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090013288A1 (en) * 2007-07-05 2009-01-08 One On One Ads, Inc. Video Promotion for Online Directory Listings and Other Search Engine Websites that List Advertisers
CN201282536Y (zh) * 2008-10-21 2009-07-29 深圳市大视野网络号科技有限公司 免插件视频转换装置
TWI435568B (zh) * 2009-02-02 2014-04-21 Wistron Corp 多媒體影音之轉換及傳輸的方法以及系統
US8719855B2 (en) * 2011-04-21 2014-05-06 Paramjit Singh Bedi Methods and systems for distributing content over a network
CN105791431B (zh) * 2016-04-26 2019-02-19 北京邮电大学 一种在线分布式监控视频处理任务调度方法及装置
KR102063463B1 (ko) * 2016-10-31 2020-01-09 베이징 시아오미 모바일 소프트웨어 컴퍼니 리미티드 멀티미디어 정보 재생 방법 및 시스템, 표준화 서버, 생방송 단말기
CN108366119A (zh) * 2018-02-12 2018-08-03 天津天地伟业信息系统集成有限公司 一种基于嵌入式设备cgi实现设备控制的方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102131084A (zh) * 2010-01-19 2011-07-20 深圳市在线通网络科技开发有限公司 音视频流媒体rtmp推送装置和音视频流媒体rtmp推送方法
CN101986706A (zh) * 2010-11-16 2011-03-16 重庆瑞斯凯特科技有限责任公司 移动终端视频发布系统、方法及其应用
CN103327417A (zh) * 2013-07-11 2013-09-25 亿览在线网络技术(北京)有限公司 一种实时远程音视频的直播方法及其装置
CN103414751A (zh) * 2013-07-16 2013-11-27 广东工业大学 一种pc屏幕内容分享互动控制方法
CN103856727A (zh) * 2014-03-24 2014-06-11 北京工业大学 一种多路实时视频拼接处理系统
CN106537925A (zh) * 2014-08-04 2017-03-22 利奇传媒公司 使得能够在经由移动设备访问的互联网网页上嵌入、流传送和显示视频广告和内容的系统和方法
CN106162062A (zh) * 2015-04-10 2016-11-23 深圳市视高电子技术有限公司 获取监控视频的方法和系统
CN105025327A (zh) * 2015-07-14 2015-11-04 福建富士通信息软件有限公司 一种移动终端现场直播的方法及系统
CN105791884A (zh) * 2016-03-07 2016-07-20 读者出版传媒股份有限公司 一种流媒体直播方法及系统
CN106358050A (zh) * 2016-08-30 2017-01-25 华南理工大学广州学院 基于安卓的音频视频流推送方法及装置、播放方法及装置

Also Published As

Publication number Publication date
CN109168031A (zh) 2019-01-08

Similar Documents

Publication Publication Date Title
CN109168031B (zh) 流媒体推送方法及装置、流媒体平台
CN113423018B (zh) 一种游戏数据处理方法、装置及存储介质
WO2019205886A1 (zh) 字幕数据推送方法、字幕展示方法、装置、设备及介质
WO2017063399A1 (zh) 一种视频播放方法和装置
WO2019205870A1 (zh) 视频流处理方法、装置、计算机设备及存储介质
CN105991962B (zh) 连接方法、信息展示方法、装置及系统
US10200723B2 (en) Converting live streaming content to video-on-demand streaming content
CN111010614A (zh) 一种显示直播字幕的方法、装置、服务器及介质
CN102263959B (zh) 直播中转方法和系统
CN108200447B (zh) 直播数据传输方法、装置、电子设备、服务器及存储介质
CN112073423A (zh) 基于WebRTC进行浏览器推流的方法及系统
JP2018513583A (ja) オーディオビデオファイルのライブストリーミング方法、システム及びサーバー
CN107197386B (zh) 一种无客户端的跨平台视频播放实现方法
WO2008061416A1 (fr) Procédé et système permettant d&#39;accepter des données media de divers formats de codage
CN109587514B (zh) 一种视频播放方法、介质和相关装置
CN107819809B (zh) 对内容进行同步操作的方法及装置
CN112203106B (zh) 直播教学方法、装置、计算机设备和存储介质
CN110740386A (zh) 直播切换方法、装置及存储介质
CN101848367A (zh) 基于文件的动态影像网络直播方法
CN111818383B (zh) 视频数据的生成方法、系统、装置、电子设备及存储介质
CN109756744B (zh) 数据处理方法、电子设备及计算机存储介质
TWI531219B (zh) 即時影音傳輸方法及其系統
CN110113298B (zh) 数据传输方法、装置、信令服务器和计算机可读介质
CN104639979A (zh) 视频分享方法及系统
WO2015089790A1 (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200820

Address after: 310000 2 6th Floor, No. 3588 Jiangnan Avenue, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou Yunyi Network Technology Co.,Ltd.

Address before: 310053 9 floor, 2 building, 3588 Jiangnan Road, Binjiang District, Hangzhou, Zhejiang.

Applicant before: HANGZHOU YUN-IN NETWORK TECHNOLOGY Co.,Ltd.

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Chen Zhonghuo

Inventor after: Zhou Xing

Inventor before: Chen Zhonghuo

GR01 Patent grant
GR01 Patent grant