CN116074544A - 多平台直播方法、***、设备及介质 - Google Patents

多平台直播方法、***、设备及介质 Download PDF

Info

Publication number
CN116074544A
CN116074544A CN202211426714.XA CN202211426714A CN116074544A CN 116074544 A CN116074544 A CN 116074544A CN 202211426714 A CN202211426714 A CN 202211426714A CN 116074544 A CN116074544 A CN 116074544A
Authority
CN
China
Prior art keywords
live broadcast
audio
data
platform
push
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
CN202211426714.XA
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.)
Shenzhen Emeet Technology Co ltd
Original Assignee
Shenzhen Emeet 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 Shenzhen Emeet Technology Co ltd filed Critical Shenzhen Emeet Technology Co ltd
Priority to CN202211426714.XA priority Critical patent/CN116074544A/zh
Publication of CN116074544A publication Critical patent/CN116074544A/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/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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • 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/4788Supplemental 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)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种多平台直播方法、多平台直播***、多平台直播设备及计算机存储介质,涉及直播领域,该方法应用于推流应用,包括:确定待推流的目标直播平台支持的分辨率和编码格式;根据分辨率和编码格式创建对应的编码器进行编码处理;基于推流模块将编码处理后的推流数据发送到目标直播平台服务器。检测待推流的目标直播平台支持的分辨率和编码格式,如果不存在符合条件的编码器,就新建一个编码器;如果存在符合条件的编码器,媒体数据就从符合条件的编码器中获取。对于同样参数要求的不同直播平台,通过提高编码器复用率降低硬件消耗,省电环保。从而解决多平台直播方法内存占用高、耗电量大、硬件易损耗的技术问题。

Description

多平台直播方法、***、设备及介质
技术领域
本发明涉及直播领域,尤其涉及一种多平台直播方法、多平台直播***、多平台直播设备及计算机存储介质。
背景技术
直播技术在近几年得到快速发展,一个主播同时在几个平台直播的功能成为刚需。目前,实现多平台直播的方法主要有通过云服务来实现,其思路是主播终端直播的内容发送云端的内容分发服务节点,然后转发到云手机,云手机作为充当虚拟设备推到第三方直播平台。这种方式每一路推流都是使用独立的编码器,这会增加CPU和内存的消耗。还有一种方式就是在不同手机单独运行不同直播平台的App进行直播,这种方式成本高且操作麻烦。
发明内容
本发明的主要目的在于提供一种多平台直播方法、多平台直播***、多平台直播设备及计算机存储介质,旨在解决现有技术中多平台直播方法内存占用高、耗电量大、硬件易损耗的技术问题。
为实现上述目的,本发明提供一种多平台直播方法应用于推流应用,包括以下步骤:
确定待推流的目标直播平台支持的分辨率和编码格式;
根据所述分辨率和编码格式创建对应的编码器进行编码处理;
基于推流模块将编码处理后的推流数据发送到目标直播平台服务器。
可选的,所述根据所述分辨率和编码格式创建对应的编码器进行编码处理的步骤之前,还包括:
基于网络传输接收端接收由网络摄像机的网络传输发送端打包发送的直播音视频数据;
解包所述直播音视频数据,并将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据,基于推流模块将所述推流数据发送到指定直播平台服务器。
进一步地,所述解包所述直播音视频数据的步骤之后,还包括:
将解包所述直播音视频数据得到的编码视频进行视频解码和视频渲染,将解包所述直播音视频数据得到的编码音频进行音频解码和音频播放。
进一步地,所述将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据的步骤之前,还包括:
获取渲染的视频、播放的音频和主播添加的自定义数据
进一步地,所述推流应用基于推流模块将所述推流数据发送到指定直播平台服务器的步骤,包括:
基于推流直播接口层,确定通过预设传输协议推流模块或者预置的第三方直播SDK,将所述推流数据发送到指定直播平台服务器。
此外,为实现上述目的,本发明还提供一种多平台直播***,所述多平台直播***,包括:网络摄像机,推流应用和直播平台;
所述网络摄像机包括网络传输接收端;
所述推流应用包括网络传输接收端和推流模块,;
所述推流应用基于所述网络传输接收端接收由所述网络摄像机的所述网络传输发送端打包发送的直播音视频数据;
所述推流应用解包所述直播音视频数据,并将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据,基于所述推流模块将所述推流数据发送到指定直播平台服务器。
进一步地,所述网络摄像机,还包括:
镜头模组,用于采集原始视频数据;
视频编码模块,用于编码所述原始视频数据,得到编码视频数据;
麦克风阵列,用于采集原始音频数据;
音频编码模块,用于编码所述原始音频数据,得到编码音频数据;
所述网络传输发送端用于将所述编码视频数据和所述编码音频数据打包为直播音视频数据发送至所述推流应用的所述网络传输接收端。
进一步地,所述推流应用的所述网络传输接收端用于接收由所述网络摄像机的所述网络传输发送端打包发送的直播音视频数据,并解包为编码视频数据和编码音频数据;
所述推流应用,还包括:
视频解码模块,用于将所述编码视频数据解码为原始视频数据,并进行视频渲染;
音频解码模块,用于将所述编码音频数据解码为原始音频数据,并进行音频播放;
复用器,用于将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据。
进一步地,所述推流模块包括推流直播接口层、预设传输协议推流模块和预置的第三方直播SDK;
所述推流应用用于,基于所述推流直播接口层,确定经所述预设传输协议推流模块或者所述第三方直播SDK,将推流数据发送到指定直播平台服务器。
此外,为实现上述目的,本发明还提供一种多平台直播设备,所述多平台直播设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上任一项所述的多平台直播方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的多平台直播方法的步骤。
本发明提出的多平台直播方法、多平台直播***、多平台直播设备及计算机存储介质,确定待推流的目标直播平台支持的分辨率和编码格式;根据所述分辨率和编码格式创建对应的编码器进行编码处理;基于推流模块将编码处理后的推流数据发送到目标直播平台服务器。
在申请中,检测待推流的目标直播平台支持的分辨率和编码格式,如果不存在符合条件的编码器,就新建一个编码器;如果存在符合条件的编码器,媒体数据就从符合条件的编码器中获取。对于同样参数要求的不同直播平台,可以复用编码器,降低CPU和内存的使用率,通过提高编码器复用率降低硬件消耗,省电环保。从而解决多平台直播方法内存占用高、耗电量大、硬件易损耗的技术问题。
附图说明
图1是本发明实施例方案涉及终端设备的硬件运行的结构示意图;
图2是本发明一种多平台直播方法一实施例的流程示意图;
图3是本发明一种多平台直播***一实施例的推流模块示意图;
图4是本发明一种多平台直播***一实施例的传统推流示意图;
图5是本发明一种多平台直播***一实施例的当前推流示意图;
图6是本发明一种多平台直播***一实施例的***示意图;
图7是本发明一种多平台直播***一实施例的推流直播接口层示意图;
图8是本发明一种多平台直播装置示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及终端设备的硬件运行环境的结构示意图。
需要说明的是,图1即可为终端设备的硬件运行环境的结构示意图。本发明实施例终端设备可以是针对基于nand f l ash为存储介质的存储设备,执行本发明提供的多平台直播方法的设备,该终端设备具体可以是移动终端、数据存储控制终端、PC或者便携计算机等终端。
如图1所示,该终端设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储设备1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Di sp l ay)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-F I接口)。存储设备1005可以是非易失性存储设备(如,F l ash存储设备)、高速RAM存储设备,也可以是稳定的存储设备(non-vo l at i l e memory),例如磁盘存储设备。存储设备1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储设备1005中可以包括操作***、网络通信模块、用户接口模块以及计算机程序。其中,操作***是管理和控制样本终端设备硬件和软件资源的程序,支持计算机程序以及其它软件或程序的运行。
在图1所示的终端设备中,用户接口1003主要用于与各个终端进行数据通信;网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;而处理器1001可以用于调用存储设备1005中存储的计算机程序,并执行以下操作:
确定待推流的目标直播平台支持的分辨率和编码格式;
根据所述分辨率和编码格式创建对应的编码器进行编码处理;
基于推流模块将编码处理后的推流数据发送到目标直播平台服务器。
进一步地,处理器1001可以调用存储设备1005中存储的计算机程序,还执行以下操作:
基于网络传输接收端接收由网络摄像机的网络传输发送端打包发送的直播音视频数据;
解包所述直播音视频数据,并将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据,基于推流模块将所述推流数据发送到指定直播平台服务器。
进一步地,处理器1001可以调用存储设备1005中存储的计算机程序,还执行以下操作:
所述解包所述直播音视频数据的步骤之后,还包括:
将解包所述直播音视频数据得到的编码视频进行视频解码和视频渲染,将解包所述直播音视频数据得到的编码音频进行音频解码和音频播放。
进一步地,处理器1001可以调用存储设备1005中存储的计算机程序,还执行以下操作:所述将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据的步骤之前,还包括:
获取渲染的视频、播放的音频和主播添加的自定义数据。
进一步地,处理器1001可以调用存储设备1005中存储的计算机程序,还执行以下操作:
所述推流应用基于推流模块将所述推流数据发送到指定直播平台服务器的步骤,包括:
基于推流直播接口层,确定通过预设传输协议推流模块或者预置的第三方直播SDK,将所述推流数据发送到指定直播平台服务器。
请参照图2,图2为本发明多平台直播方法一实施例的流程示意图。
本实施例中,本发明多平台直播方法包括:
步骤S10,确定待推流的目标直播平台支持的分辨率和编码格式;
步骤S20,根据所述分辨率和编码格式创建对应的编码器进行编码处理;
步骤S30,基于推流模块将编码处理后的推流数据发送到目标直播平台服务器。
如图3所示,推流模块的组成如下图所示,具体包含以下模块:(1)直播平台资源管理。保存不同平台的推流参数要求,主要包含以下参数:视频码流大小、分辨率大小、音频码流大小、平台服务器URI,其中UR I包含了传输协议。一般的传输协议有RTMP、SRT等。(2)直播平台参数检测。这个模块主要将不同平台的进行分组,分组的依据是分辨率和编码格式,同样分辨率和编码格式的分为一组。(3)encoder管理,即编码器管理,对于不同平台需要用到的不同编码器进行管理。(4)传输模块管理。这是与直播平台对接的模块,根据推流平台要求的传输协议来配置不同的传输模块,支持RTMP、SRT、WebRTC等等协议。
如图4所示,传统的做法有明显的弊端,其直播推流时每一路推流都是独立的编码器,这会增加CPU和内存的消耗。所以,如图5所示,新增一个直播平台,App要推流到新的平台;检测该平台支持的分辨率和编码格式,如果不存在符合条件的编码器,就新建一个编码器;如果存在符合条件的编码器,媒体数据就从这个编码器获取;检测该平台使用的传输协议,通过传输模块发送媒体数据到指定平台。
可选的,所述根据所述分辨率和编码格式创建对应的编码器进行编码处理的步骤之前,还包括:
基于网络传输接收端接收由网络摄像机的网络传输发送端打包发送的直播音视频数据;
解包所述直播音视频数据,并将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据,根据所述分辨率和编码格式对应的编码器对所述推流数据进行编码处理。
传统推流方式在进行推流时成本太高,必须借助云服务,而且云端虚拟手机,用户无法直接操作,执行不了注册登录,从而无法实现多平台直播。或者是将物理设备通过HAL(Hardware Abstract ion Layer,硬件抽象层)层封装虚拟成多个设备。弊端是在Androi d(安卓)***可实现而在iOS(iPhone Operat ion System,苹果移动设备操作***)实现不了,并且需要修改***HAL层代码。另外,直播App(App l icat ion,应用软件)通常只认可前置和后置摄像头,不会遍历所有摄像头给用户选择,这样就意味着多个直播App会同时访问特定一个或两个摄像头,存在资源抢夺的情况,所以这种方法想要实现多个平台直播,实际是不可行的。而更为普遍的做法是,一个主播买多个手机,运行不同的直播App,从而实现多平台直播。这种方法的弊端就是成本高、操作麻烦,而且多个手机拍摄的角度往往不一样,会出现主播顾此失彼的情况。
本实施例中的推流应用为EMEET Stream App,其基于网络传输接收端接收由网络摄像机I PCamera的网络传输发送端打包发送的在主播直播时录制的直播音视频数据。推流应用可以安装于网络摄像机或者与网络摄像机通讯连接的多媒体设备上,对应的安装设备具有解包、封装、发送等功能。推流应用在接收到直播音视频数据之后对其进行解包,将解包得到的数据和主播主动添加的自定义数据如音频、视频、文字、贴图、动图等各种用于创作的素材数据,一并封装为推流数据,再通过推流模块将推流数据发送至指定直播平台服务器如Twitch、斗鱼的服务器。
可选地,所述解包所述直播音视频数据的步骤之后,还包括:
将解包所述直播音视频数据得到的编码视频进行视频解码和视频渲染,将解包所述直播音视频数据得到的编码音频进行音频解码和音频播放。
推流应用在接收并解包直播音视频数据之后,将解包后得到的编码视频进行视频解码和视频渲染、编码音频进行音频解码和音频播放,从而可以让主播在直播时观看到自身的直播画面和声音。
可选地,所述将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据的步骤之前,还包括:
获取渲染的视频、播放的音频和主播添加的自定义数据。
由于安装有推流应用的直播设备端如网络摄像机的配置、以及可添加的用于创作的素材数据有限,从而借助推流应用供主播进行自定义操作,如直播推流前的注册登录等操作,直播时参照展示的已录制的直播内容来添加比如叠加文字、图片等素材数据完成创作处理之后再推送给观众。主播从而可以通过在推流应用上的直播画面和声音对其直播内容进行自定义创作,在直播时、在将直播内容发送至各个直播平台服务器之前,在推流应用上对直播内容先进行再创作、再加工。所以,在本实施例中可以将解包得到后渲染的视频、播放的音频、以及主播基于视频和/或音频而添加的自定义数据,封装为推流数据。
可选地,所述推流应用基于推流模块将所述推流数据发送到指定直播平台服务器的步骤,包括:
基于推流直播接口层,确定通过预设传输协议推流模块或者预置的第三方直播SDK,将所述推流数据发送到指定直播平台服务器。
在本实施例中,通过集成各个直播平台SDK(Software Deve l opment Ki t软件开发包)和各种传输协议来支持多平台同时直播,其中,集成的直播平台SDK包括但不限定为PC(Persona l Computer,个人电脑)、安卓或I OS等***的SDK。
在本实施例中,基于网络传输接收端接收由网络摄像机的网络传输发送端打包发送的直播音视频数据;解包所述直播音视频数据,并将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据,基于推流模块将所述推流数据发送到指定直播平台服务器。通过推流应用的推流模块将推流数据发送到指定的直播平台服务器,从而不需要借助云端、不需要修改***底层代码、也不需要额外增加物理设备就能实现多平台同时直播,有效降低了主播的工作成本,并且简化了操作,提高了工作效率,还能保持不同直播平台的画面和声音的一致性,且能在不同操作***进行控制。
请参照图6,图6为本发明多平台直播***一实施例的***示意图。
本实施例中,所述多平台直播***,包括:网络摄像机,推流应用和直播平台;
所述网络摄像机包括网络传输接收端;
所述推流应用基于所述网络传输接收端接收由所述网络摄像机的所述网络传输发送端打包发送的直播音视频数据;
所述推流应用解包所述直播音视频数据,并将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据,基于所述推流模块将所述推流数据发送到指定直播平台服务器。
可选地,所述网络摄像机,还包括:
镜头模组,用于采集原始视频数据;
视频编码模块,用于编码所述原始视频数据,得到编码视频数据;
麦克风阵列,用于采集原始音频数据;
音频编码模块,用于编码所述原始音频数据,得到编码音频数据;
所述网络传输发送端用于将所述编码视频数据和所述编码音频数据打包为直播音视频数据发送至所述推流应用的所述网络传输接收端。
可选地,所述推流应用的所述网络传输接收端用于接收由所述网络摄像机的所述网络传输发送端打包发送的直播音视频数据,并解包为编码视频数据和编码音频数据;
所述推流应用,还包括:
视频解码模块,用于将所述编码视频数据解码为原始视频数据,并进行视频渲染;
音频解码模块,用于将所述编码音频数据解码为原始音频数据,并进行音频播放;
复用器,用于将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据。
可选地,所述推流应用包括网络传输接收端和推流模块,所述推流模块包括推流直播接口层、预设传输协议推流模块和预置的第三方直播SDK;
所述推流应用用于,基于所述推流直播接口层,确定经所述预设传输协议推流模块或者所述第三方直播SDK,将推流数据发送到指定直播平台服务器。
在本实施例中,多平台直播***可以分为四个部分。
其中,第一部分,网络摄像机。包括:(1)镜头模组,主要作用是采集原始的视频数据即RAW数据,即CMOS(Comp l ementary Meta l Oxi de Semi conductor,互补金属氧化物半导体)或者CCD(Charge-coup l ed Devi ce,电荷耦合元件)图像感应器将捕捉到的光源信号转化为数字信号的原始数据。镜头模组包含四大件:镜头(l ens)、传感器(sensor)、FPC(F l exi b l ePr i ntedCi rcu it,柔性电路板)、DSP(Di gita l Si gna lProcess i ng,数字信号处理)。Lens:镜片,是透镜,属于光学器件,主要作用是聚集光线。Sensor:传感器,是电子器件,sensor采集环境光转换为电信号,再经过I SP(Image Si gnal Process i ng,图像信号处理)转换成数字图像信号输出到数字信号处理器(DSP)加工处理,转换成标准的GRB、YUV等格式图像信号。这些RGB、YUV就是RAW数据。FPC:软板,是柔性电路板,主要用于跟其他电路板的连接。DSP:数字信号处理器,加工来自于I SP的图像信号,转成GRB、YUV等格式数据。(2)视频编码模块,主要将DSP产生的GRB、YUV等格式的数据编成H264、H265等视频格式。原始视频数据比较大,网络带宽有限,需要将原始视频数据压缩成适合网络传输的格式,这个过程就是编码。(3)麦克风阵列,主要负责拾音,产生PCM(Pu lse Code Modu l at i on,脉冲编码调制)数据。(4)音频编码模块,同样,为了减少带宽占用,需要对音频数据进行编码,这个模块主要作用是将PCM转成AAC格式。(5)网络传输发送端,负责把音视频数据按照传输协议约定的格式打包发送出去,这个模块支持的协议有RTSP(Rea l T ime Streami ng Protoco l,实时流传输协议)、RTMP(Rea l T imeMessagi ng Protoco l,实时消息传输协议)、ND I(Network Dev i ce I nterface,网络设备接口)、SRT(Secure Re l i ab l e Transport,安全可靠传输协议)等。
其中,第二部分,EMEET Stream App。包括:(1)网络传输接收端,接收来自于网络摄像机I PCamera的音视频数据,同样也支持RTSP、RTMP、ND I、SRT等协议,同时将接收到的数据解包成视频帧(H264/H265等格式)、音频帧(AAC格式)。(2)视频解码模块,将H264/H265等视频格式转成RGB/YUV等格式用于播放显示。(3)音频解码模块,将AAC转成PCM数据输出到扬声器播放出来。(4)muxer,复用器,将音频帧、视频帧和主播添加的自定义数据再次打包组合,按照约定的协议或者格式封装起来,比如MP4格式、RTMP协议、SRT协议等,存储到网络摄像机本地文件或者发送到直播平台。(5)推流模块,主要是将音视频数据发送到指定的直播平台服务器。
其中,第三部分,直播平台。其是服务程序,属于第三方的程序。一般为了满足高并发需求,云端的直播服务是服务集群。直播平台负责接收不同主播的音视频内容再转发给观众。
第四部分,推流模块,推流模块的组成包括:(1)推流直播接口层,统一不同推流方式的接口,方便上层操作。如图7所示,Li ve I nterface为接口层,TwitchLi ve、KuaishouLi ve、RTMPLi ve是实现层,分别实现Twitch、快手、RTMP推流直播。其中TwitchLi ve、Kuai shouLi ve分别封装了Twitch平台、快手直播平台的SDK。RTMPLi ve是按照RTMP协议封装推流模块。Li veFactory是创建Li ve I nterface具体实例的模块,即由上层根据实际情况来确定使用Twitch、快手或是RTMP模块。(2)第三方直播SDK,就是直播平台提供的SDK,这是EMEET Stream App需要集成的SDK。根据实际情况增加,比如Twitch、快手、Linked I n等等。(3)RTMP推流模块,按照RTMP协议封装的模块,将音视频数据通过RTMP协议发送到直播平台,与使用直播平台SDK的区别是,SDK是私有协议,RTMP是公用协议。(4)RTMP服务资源管理,管理不同支持RTMP直播平台的服务器资源。由于直播平台通常存在多个服务器,部署在不同国家地区,(这是为了让用户快速接入),所以这些服务器资源需要定期维护更新,这个模块就是为了及时更新这些服务器资源的,比如服务器地址有改变、RTMP推流路径有改变,都要及时更新。(5)SRT推流模块。按照SRT协议封装的模块,将音视频数据通过SRT协议发送到直播平台,与RTMP的区别是,SRT在可靠性、低延迟、高质量方面处理得比RTMP要强。可靠性:适应于任何网络环境,高效处理网络丢包、抖动和带宽波动等干扰;低延迟:由于采用了UDP传输方式,并使用ARQ的丢包恢复机制,并能实现基于公网的低延时传输;高质量:SRT的传输和纠错机制可以最大化利用可用带宽并排除网络错误和干扰,可以在同等网络环境下传输更高码率的视频流,能够在不良的网络状况下保证视频的高质量。
此外,参照图8,本发明实施例还提供一种多平台直播装置,所述装置包括:
确定模块M1,用于确定待推流的目标直播平台支持的分辨率和编码格式;
编码模块M2,用于根据所述分辨率和编码格式创建对应的编码器进行编码处理。
传输模块M3,用于基于推流模块将编码处理后的推流数据发送到目标直播平台服务器。
可选地,多平台直播装置还包括解包模块,用于基于网络传输接收端接收由网络摄像机的网络传输发送端打包发送的直播音视频数据;
解包所述直播音视频数据,并将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据,根据所述分辨率和编码格式对应的编码器对所述推流数据进行编码处理。
可选地,解包模块,还用于将解包所述直播音视频数据得到的编码视频进行视频解码和视频渲染,将解包所述直播音视频数据得到的编码音频进行音频解码和音频播放。
可选地,解包模块,还用于获取渲染的视频、播放的音频和主播添加的自定义数据。
可选地,解包模块,还用于
基于推流直播接口层,确定通过预设传输协议推流模块或者预置的第三方直播SDK,将所述推流数据发送到指定直播平台服务器。
本发明提供的多平台直播装置,采用上述实施例中的多平台直播方法,解决现有技术中多平台直播方法内存占用高、耗电量大、硬件易损耗的技术问题。与现有技术相比,本发明实施例提供的多平台直播装置的有益效果与上述实施例提供的多平台直播方法的有益效果相同,且该多平台直播装置中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
此外,本发明实施例还提出一种多平台直播设备,所述多平台直播设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上任一项所述的多平台直播方法的步骤。
此外,本发明实施例还提出一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的多平台直播方法的步骤。
其中,在所述处理器上运行的计算机程序被执行时所实现的步骤可参照本发明多平台直播方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机存储介质(如F l ash存储设备、ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)中,用于控制该存储介质进行数据读写操作的控制器执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (11)

1.一种多平台直播方法,其特征在于,所述多平台直播方法应用于推流应用,所述多平台直播方法,包括以下步骤:
确定待推流的目标直播平台支持的分辨率和编码格式;
根据所述分辨率和编码格式创建对应的编码器进行编码处理;
基于推流模块将编码处理后的推流数据发送到目标直播平台服务器。
2.如权利要求1所述的多平台直播方法,其特征在于,所述根据所述分辨率和编码格式创建对应的编码器进行编码处理的步骤之前,还包括:
基于网络传输接收端接收由网络摄像机的网络传输发送端打包发送的直播音视频数据;
解包所述直播音视频数据,并将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据,根据所述分辨率和编码格式对应的编码器对所述推流数据进行编码处理。
3.如权利要求2所述的多平台直播方法,其特征在于,所述解包所述直播音视频数据的步骤之后,还包括:
将解包所述直播音视频数据得到的编码视频进行视频解码和视频渲染,将解包所述直播音视频数据得到的编码音频进行音频解码和音频播放。
4.如权利要求2所述的多平台直播方法,其特征在于,所述将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据的步骤之前,还包括:
获取渲染的视频、播放的音频和主播添加的自定义数据。
5.如权利要求2所述的多平台直播方法,其特征在于,所述基于推流模块将所述推流数据发送到指定直播平台服务器的步骤,包括:
基于推流直播接口层,确定通过预设传输协议推流模块或者预置的第三方直播SDK,将所述推流数据发送到指定直播平台服务器。
6.一种多平台直播***,其特征在于,所述多平台直播***,包括:网络摄像机,推流应用和直播平台;
所述网络摄像机包括网络传输接收端;
所述推流应用包括网络传输接收端和推流模块;
所述推流应用基于所述网络传输接收端接收由所述网络摄像机的所述网络传输发送端打包发送的直播音视频数据;
所述推流应用解包所述直播音视频数据,并将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据,基于所述推流模块将所述推流数据发送到指定直播平台服务器。
7.如权利要求6所述的多平台直播***,其特征在于,所述网络摄像机,还包括:
镜头模组,用于采集原始视频数据;
视频编码模块,用于编码所述原始视频数据,得到编码视频数据;
麦克风阵列,用于采集原始音频数据;
音频编码模块,用于编码所述原始音频数据,得到编码音频数据;
所述网络传输发送端用于将所述编码视频数据和所述编码音频数据打包为直播音视频数据发送至所述推流应用的所述网络传输接收端。
8.如权利要求6所述的多平台直播***,其特征在于,所述推流应用的所述网络传输接收端用于接收由所述网络摄像机的所述网络传输发送端打包发送的直播音视频数据,并解包为编码视频数据和编码音频数据;
所述推流应用,还包括:
视频解码模块,用于将所述编码视频数据解码为原始视频数据,并进行视频渲染;
音频解码模块,用于将所述编码音频数据解码为原始音频数据,并进行音频播放;
复用器,用于将解包后的直播音视频数据和主播添加的自定义数据封装为推流数据。
9.如权利要求6所述的多平台直播***,其特征在于,所述推流模块包括推流直播接口层、预设传输协议推流模块和预置的第三方直播SDK;
所述推流应用用于,基于所述推流直播接口层,确定经所述预设传输协议推流模块或者所述第三方直播SDK,将推流数据发送到指定直播平台服务器。
10.一种多平台直播设备,其特征在于,所述多平台直播设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如权利要求1至5中任一项所述的多平台直播方法的步骤。
11.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的多平台直播方法的步骤。
CN202211426714.XA 2022-11-15 2022-11-15 多平台直播方法、***、设备及介质 Pending CN116074544A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211426714.XA CN116074544A (zh) 2022-11-15 2022-11-15 多平台直播方法、***、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211426714.XA CN116074544A (zh) 2022-11-15 2022-11-15 多平台直播方法、***、设备及介质

Publications (1)

Publication Number Publication Date
CN116074544A true CN116074544A (zh) 2023-05-05

Family

ID=86172331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211426714.XA Pending CN116074544A (zh) 2022-11-15 2022-11-15 多平台直播方法、***、设备及介质

Country Status (1)

Country Link
CN (1) CN116074544A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116567356A (zh) * 2023-06-07 2023-08-08 佛山市炫新智能科技有限公司 一种基于多平台推流的直播显示***及其推送方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105491387A (zh) * 2015-12-04 2016-04-13 武汉斗鱼网络科技有限公司 一种基于Intel、AMD和Nvidia三平台的H264硬件编码***
US20170187986A1 (en) * 2015-12-23 2017-06-29 Le Holdings (Beijing) Co., Ltd. Live streaming media method, publish side live, server and terminal
CN107682712A (zh) * 2017-09-30 2018-02-09 安徽联智创新软件有限公司 一种视频直播网络推流管理***
CN108777818A (zh) * 2018-06-15 2018-11-09 成都睿想腾飞科技有限公司 一种直播软件支持同时多路推流的方法
CN110798698A (zh) * 2019-11-25 2020-02-14 盈动电子竞技(海南自贸区)有限公司 一种直播应用程序的多服务器推流方法和设备
CN111064972A (zh) * 2019-11-28 2020-04-24 湖北工业大学 一种基于ipv9的视频直播控制方法
CN111064973A (zh) * 2019-11-28 2020-04-24 湖北工业大学 一种基于ipv9的直播***
CN112929681A (zh) * 2021-01-19 2021-06-08 广州虎牙科技有限公司 视频流图像渲染方法、装置、计算机设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105491387A (zh) * 2015-12-04 2016-04-13 武汉斗鱼网络科技有限公司 一种基于Intel、AMD和Nvidia三平台的H264硬件编码***
US20170187986A1 (en) * 2015-12-23 2017-06-29 Le Holdings (Beijing) Co., Ltd. Live streaming media method, publish side live, server and terminal
CN107682712A (zh) * 2017-09-30 2018-02-09 安徽联智创新软件有限公司 一种视频直播网络推流管理***
CN108777818A (zh) * 2018-06-15 2018-11-09 成都睿想腾飞科技有限公司 一种直播软件支持同时多路推流的方法
CN110798698A (zh) * 2019-11-25 2020-02-14 盈动电子竞技(海南自贸区)有限公司 一种直播应用程序的多服务器推流方法和设备
CN111064972A (zh) * 2019-11-28 2020-04-24 湖北工业大学 一种基于ipv9的视频直播控制方法
CN111064973A (zh) * 2019-11-28 2020-04-24 湖北工业大学 一种基于ipv9的直播***
CN112929681A (zh) * 2021-01-19 2021-06-08 广州虎牙科技有限公司 视频流图像渲染方法、装置、计算机设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"EMEETSTREAM版本0.1.6(build 2)", pages 1 - 3, Retrieved from the Internet <URL:https://www.pgyer.com/T8Av> *
XIEJIASHU: ""OBS(Open Broadcaster Software)桌面视频直播软件、直播推流工具使用方法指南", pages 1 - 13, Retrieved from the Internet <URL:https://blog.csdn.net/xiejiashu/article/details/68483758> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116567356A (zh) * 2023-06-07 2023-08-08 佛山市炫新智能科技有限公司 一种基于多平台推流的直播显示***及其推送方法

Similar Documents

Publication Publication Date Title
CN107846633B (zh) 一种直播方法及***
CN109889543B (zh) 视频传输的方法、根节点、子节点、p2p服务器和***
CN106992959B (zh) 一种3d全景音视频直播***及音视频采集方法
CN110740363A (zh) 投屏方法和***、电子设备
KR100810223B1 (ko) 단말 간 실시간 스트리밍 서비스 제공 시스템 및 방법
TWI435568B (zh) 多媒體影音之轉換及傳輸的方法以及系統
WO2014139423A1 (en) Live system, method based on mobile terminal and mobile terminal
JP6377784B2 (ja) オーディオビデオ同期取込によって一対多オーディオビデオストリーミングを行う方法
CN111092898B (zh) 报文传输方法及相关设备
CN110996122B (zh) 视频帧传输方法、装置、计算机设备及存储介质
CN114339382A (zh) 视频播放方法、装置、设备及计算机存储介质
CN116074544A (zh) 多平台直播方法、***、设备及介质
US20160352798A1 (en) Systems and methods for capture and streaming of video
CN108809924B (zh) 执行网络实时通信的方法和装置
CN1534503A (zh) 实现网络游戏中实时影音会谈的方法、***及储存媒体
CN114630051A (zh) 视频处理方法以及***
CN107276990B (zh) 一种流媒体直播方法及装置
KR101701742B1 (ko) 이동통신 단말기 간 실시간 스트리밍을 위한 장치 및 방법
CN111510720A (zh) 实时流媒体数据的传输方法、电子装置及服务器
MX2007002241A (es) Metodo y aparato de senalizacion de conjunto de codigos de transmision de radiodifusion de datos.
US9838463B2 (en) System and method for encoding control commands
CN110602065A (zh) 直播推流方法和装置
EP3123714A1 (en) Video orientation negotiation
US11943492B2 (en) Method and system for adding subtitles and/or audio
CN108124183B (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