一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种推拉流格式转换方法、装置、电子设备及存储介质与流程

2022-04-09 10:38:19 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,特别是涉及一种推拉流格式转换方法、装置、电子设备及存储介质。


背景技术:

2.小程序是内嵌于app(application,应用程序)的微应用。针对小程序的推流是指把小程序封包好的内容传输到服务器的过程。针对小程序的拉流是指服务器已有直播内容,小程序根据协议类型(如rtmp等)与服务器建立连接并接收服务器发送的数据,进行数据拉取的过程。
3.通常,小程序提供了live-pusher和live-player等组件来进行推拉流。但是目前小程序推拉流仅支持rtmp(实时消息传输协议)格式,针对其他格式的数据流,就无法利用小程序实现推拉流。其中,live-pusher和live-player是小程序内部用于支持音视频上行能力的功能标签。


技术实现要素:

4.本发明实施例的目的在于提供一种推拉流格式转换方法、装置、电子设备及存储介质,以实现通过小程序可以进行各种格式数据的推拉流。
5.第一方面,本发明实施例提供了一种推拉流格式转换方法,应用于流转化服务器,包括:
6.接收目标小程序发送的建立连接请求,并基于所述建立连接请求与所述目标小程序建立连接通道;
7.基于所述连接通道,接收所述目标小程序发送的第一预设格式的第一数据流;
8.将所述第一数据流转换为第二预设格式的第二数据流,并将所述第二数据流发送至目标服务器,以使终端设备从所述目标服务器拉取所述第二数据流。
9.可选的,所述第一预设格式为实时消息传输协议rtmp格式;第二预设格式为实时时钟芯片rtc格式,所述目标服务器为rtc服务器;
10.所述将所述第一数据流转换为第二预设格式的第二数据流,并将所述第二数据流发送至目标服务器,包括:
11.基于应用程序中的视频音频助手ffmpeg,将所述第一数据流转换为rtc格式的第二数据流,并将所述第二数据流发送至所述rtc服务器。
12.可选的,所述基于所述建立连接请求与所述目标小程序建立连接通道,包括:
13.基于所述建立连接请求,通过网络协议websocket的私有信令与所述目标小程序建立连接通道。
14.可选的,所述目标小程序为音视频小程序。
15.第二方面,本发明实施例提供了一种推拉流格式转换装置,应用于流转化服务器,包括:
16.连接建立模块,用于接收目标小程序发送的建立连接请求,并基于所述建立连接请求与所述目标小程序建立连接通道;
17.数据流接收模块,用于基于所述连接通道,接收所述目标小程序发送的第一预设格式的第一数据流;
18.数据流格式转换模块,用于将所述第一数据流转换为第二预设格式的第二数据流,并将所述第二数据流发送至目标服务器,以使终端设备从所述目标服务器拉取所述第二数据流。
19.可选的,所述第一预设格式为实时消息传输协议rtmp格式;第二预设格式为实时时钟芯片rtc格式,所述目标服务器为rtc服务器;
20.所述数据流格式转换模块,具体用于基于应用程序中的视频音频助手ffmpeg,将所述第一数据流转换为rtc格式的第二数据流,并将所述第二数据流发送至所述rtc服务器。
21.可选的,所述连接建立模块,具体用于基于所述建立连接请求,通过网络协议websocket的私有信令与所述目标小程序建立连接通道。
22.可选的,所述目标小程序为音视频小程序。
23.第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
24.存储器,用于存放计算机程序;
25.处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一所述的方法步骤。
26.第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的方法步骤。
27.本发明实施例有益效果:
28.采用本发明实施例提供的方法,接收目标小程序发送的建立连接请求,并基于建立连接请求与目标小程序建立连接通道;基于连接通道,接收目标小程序发送的第一预设格式的第一数据流;将第一数据流转换为第二预设格式的第二数据流,并将第二数据流发送至目标服务器,以使终端设备从目标服务器拉取第二数据流。即可以通过流转化服务器将第一预设格式的第一数据流转换为第二预设格式的第二数据流,便于不能使用第一预设格式进行拉流的终端设备直接拉取对应的第二预设格式的第二数据流。实现了通过小程序可以进行各种格式数据的推拉流。
29.当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
30.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
31.图1为本发明实施例提供的推拉流格式转换方法的一种流程图;
32.图2为本发明实施例提供的推拉流系统示意图;
33.图3为本发明实施例提供的推拉流格式转换装置的一种结构示意图;
34.图4为本发明实施例提供的电子设备的结构示意图。
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本发明保护的范围。
36.为了实现通过小程序可以进行各种格式数据的推拉流,本发明实施例提供了一种推拉流格式转换方法、装置、电子设备、计算机可读存储介质以及计算机程序产品。
37.本发明实施例提供的推拉流格式转换方法可以应用于流转化服务器,流转化服务器可以为任何能够进行小程序数据流格式转换的电子设备,此处不做具体限定。
38.下面对本发明实施例提供的推拉流格式转换方法进行详细介绍。图1为本发明实施例提供的推拉流格式转换方法的一种流程图,如图1所示,所述方法包括:
39.步骤101,接收目标小程序发送的建立连接请求,并基于所述建立连接请求与所述目标小程序建立连接通道。
40.步骤102,基于所述连接通道,接收所述目标小程序发送的第一预设格式的第一数据流。
41.步骤103,将所述第一数据流转换为第二预设格式的第二数据流,并将所述第二数据流发送至目标服务器,以使终端设备从所述目标服务器拉取所述第二数据流。
42.采用本发明实施例提供的方法,接收目标小程序发送的建立连接请求,并基于建立连接请求与目标小程序建立连接通道;基于连接通道,接收目标小程序发送的第一预设格式的第一数据流;将第一数据流转换为第二预设格式的第二数据流,并将第二数据流发送至目标服务器,以使终端设备从目标服务器拉取第二数据流。即可以通过流转化服务器将第一预设格式的第一数据流转换为第二预设格式的第二数据流,便于不能使用第一预设格式进行拉流的终端设备直接拉取对应的第二预设格式的第二数据流。实现了通过小程序可以进行各种格式数据的推拉流。
43.在一种可能的实施方式中,所述第一预设格式为rtmp(实时消息传输协议)格式;第二预设格式为rtc(实时时钟芯片)格式,所述目标服务器为rtc服务器;所述将所述第一数据流转换为第二预设格式的第二数据流,并将所述第二数据流发送至目标服务器,可以包括:基于ffmpeg(应用程序中的视频音频助手),将所述第一数据流转换为rtc格式的第二数据流,并将所述第二数据流发送至所述rtc服务器。
44.在一种可能的实施方式中,所述基于所述建立连接请求与所述目标小程序建立连接通道,可以包括:基于所述建立连接请求,通过websocket(网络协议)的私有信令与所述目标小程序建立连接通道。
45.本发明实施例中,所述目标小程序具体可以为音视频小程序,例如linkv小程序(一种视频直播小程序)等。
46.图2为本发明实施例提供的推拉流系统示意图,如图2所示,该系统包括:目标小程序、流转换服务器、rtc服务器和终端设备。
47.目标小程序可以向流转化服务器发送建立连接请求,该建立连接请求可以包括小程序的属性信息,流转化服务器在接收目标小程序发送的建立连接请求后,可以基于建立连接请求,通过网络协议websocket的私有信令与目标小程序建立连接通道。
48.在连接通道建立后,目标小程序具体可以为linkv小程序,linkv小程序可以向流转化服务器推流,具体的推流过程可以包括如下步骤a1-a5:
49.步骤a1,linkv小程序通过摄像头或录屏功能进行视频采集,以及通过话筒进行音频采集。
50.其中,视频的原始数据格式可以为rgb(红、绿、蓝颜色空间)或yuv(颜色编码采用明亮度和色度来指定像素的颜色,其中,y代表明亮度,u和v表示色度),音频原始数据格式可以为pcm(pulse code modulation,脉冲编码调制)。
51.步骤a2,将采集的视频文件进行编码,以及将采集的音频文件进行编码。
52.具体的,可以将视频格式从yuv或rgb变为h.264(或h.265)。将音频文件格式从pcm变为aac(高级音频编码)。其中,h.264和h.265均为视频编码标准。
53.步骤a3,将视频与音频文件编码为“流媒体”特性生物多媒体容器格式。
54.此时音频和视频(h.264和aac)结合成了flv(视频传播格式)或ts(高清视频的一种封装格式)或rtmp packet(实时消息传输协议),具体可以视传输协议的规定而定。
55.步骤a4,选择一种向服务器推流的协议。
56.其中,应用层协议可以包括:hls、rtsp和rtmp等。如图2所示,可以选择rtmp协议。
57.传输层协议可以包括:rtcp和rtp等。
58.网络层协议可以包括rsvp。
59.步骤a5,传入推流地址(url)定位推流目标。
60.例如应用软件x的主播的推流地址为应用软件x的软件的地址。
61.如图2所示,linkv小程序可以将rtmp格式的第一数据流推给流转化服务器。
62.流转化服务器接收到rtmp格式的第一数据流后,可以基于ffmpeg,将第一数据流转换为rtc格式的第二数据流,并将第二数据流推给至rtc服务器。rtc服务器接收到rtc格式的第二数据流后可以对生成拉流url,终端设备的用户可以使用该upl(用户编程语言)拉流,观看直播。
63.如图2所示,终端设备可以包括安卓应用端,如安卓手机和安卓平板电脑等,终端设备还可以包括ios应用端,如苹果手机、ipad和macbook等,终端设备还可以包括其他pc端应用设备,在此不做具体限定。
64.如图2所示,基于同样的方法,终端设备也可以向rtc服务器推流,即终端设备可以将rtc服务器发送rtc格式的第二数据流,rtc服务器可以将所接收的rtc格式的第二数据流推流至流转化服务器,流转化服务器接收到rtc服务器发送的rtc格式的第二数据流后,可以基于ffmpeg,将rtc格式的第二数据流转换为rtmp格式的第一数据流,目标小程序也可以从流转化服务器拉取rtmp格式的第一数据流。
65.采用本发明实施例提供的方法,使用户可以可以不用下载软件在小程序中即可开发支持音视频的应用。并且做到了多端互动连同,这样使用用户可以在web、ios和安卓的小
程序的任何一端推流时,其他端都可以拉流,极大地方便了用户使用小程序。
66.基于同一发明构思,根据本发明上述实施例提供的推拉流格式转换方法,相应地,本发明另一实施例还提供了一种推拉流格式转换装置,其结构示意图如图3所示,该装置应用于流转化服务器,具体包括:
67.连接建立模块301,用于接收目标小程序发送的建立连接请求,并基于所述建立连接请求与所述目标小程序建立连接通道;
68.数据流接收模块302,用于基于所述连接通道,接收所述目标小程序发送的第一预设格式的第一数据流;
69.数据流格式转换模块303,用于将所述第一数据流转换为第二预设格式的第二数据流,并将所述第二数据流发送至目标服务器,以使终端设备从所述目标服务器拉取所述第二数据流。
70.可见,采用本发明实施例提供的装置,接收目标小程序发送的建立连接请求,并基于建立连接请求与目标小程序建立连接通道;基于连接通道,接收目标小程序发送的第一预设格式的第一数据流;将第一数据流转换为第二预设格式的第二数据流,并将第二数据流发送至目标服务器,以使终端设备从目标服务器拉取第二数据流。即可以通过流转化服务器将第一预设格式的第一数据流转换为第二预设格式的第二数据流,便于不能使用第一预设格式进行拉流的终端设备直接拉取对应的第二预设格式的第二数据流。实现了通过小程序可以进行各种格式数据的推拉流。
71.可选的,所述第一预设格式为实时消息传输协议rtmp格式;第二预设格式为实时时钟芯片rtc格式,所述目标服务器为rtc服务器;
72.所述数据流格式转换模块303,具体用于基于应用程序中的视频音频助手ffmpeg,将所述第一数据流转换为rtc格式的第二数据流,并将所述第二数据流发送至所述rtc服务器。
73.可选的,所述连接建立模块301,具体用于基于所述建立连接请求,通过网络协议websocket的私有信令与所述目标小程序建立连接通道。
74.可选的,所述目标小程序为音视频小程序。
75.可见,采用本发明实施例提供的装置,使用户可以可以不用下载软件在小程序中即可开发支持音视频的应用。并且做到了多端互动连同,这样使用用户可以在web、ios和安卓的小程序的任何一端推流时,其他端都可以拉流,极大地方便了用户使用小程序。
76.本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
77.存储器403,用于存放计算机程序;
78.处理器401,用于执行存储器403上所存放的程序时,实现任一所述推拉流格式转换方法的步骤。
79.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
80.通信接口用于上述电子设备与其他设备之间的通信。
81.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
82.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
83.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一推拉流格式转换方法的步骤。
84.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一推拉流格式转换方法。
85.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
86.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
87.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质和计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
88.以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献