CN113747191A - 基于无人机的视频直播方法、系统、设备及存储介质 - Google Patents
基于无人机的视频直播方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN113747191A CN113747191A CN202111061182.XA CN202111061182A CN113747191A CN 113747191 A CN113747191 A CN 113747191A CN 202111061182 A CN202111061182 A CN 202111061182A CN 113747191 A CN113747191 A CN 113747191A
- Authority
- CN
- China
- Prior art keywords
- data
- aerial vehicle
- unmanned aerial
- video stream
- live broadcast
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 239000000872 buffer Substances 0.000 claims abstract description 60
- 230000005540 biological transmission Effects 0.000 claims abstract description 41
- 238000006243 chemical reaction Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 abstract description 10
- 238000011161 development Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- 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, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
Abstract
本发明实施例公开了一种基于无人机的视频直播方法、系统、设备及存储介质。该方法包括:获取无人机发送的原始视频流数据;对原始视频流数据进行编解码得到输出缓冲数据;将输出缓冲数据转换为WebRtc协议支持的视频帧;将视频帧通过WebRtc传输通道发送至预设服务器,以使预设服务器根据视频帧进行直播显示。本发明实施例借助终端实现以WebRtc传输通道进行数据传输,降低了直播画面的延迟,并且无人机上无需设置WebRtc转换装置和网络通信装置,降低了无人机的硬件成本,并且基于终端进行的数据转换方案其底层架构成熟易于实现,开发成本低,仅借助软件上的改造即可对现有无人机系统进行改造,应用场景广泛。
Description
技术领域
本发明涉及无人机数据传输技术领域,尤其涉及一种基于无人机的视频直播方法、系统、设备及存储介质。
背景技术
随着无人机技术的发展,其应用场景越来越广泛,在电力巡线、交通救援以及海关边防等场景中发挥了巨大作用,而应用场景的扩展对无人机的性能提出了更高的要求,例如针对需要无人机实时传输直播画面的任务,由于无人机的作业特性和作业环境,其直播延迟往往很高,从而影响了任务的完成。
目前的无人机系统,在需要直播的应用场景中,主要的直播方式包括两种:一种是将用于查看直播的客户端和无人机置于同一个网络中,但是这种情况下只有该网络内的客户端才能进行观看直播,并且其通常采用hls、hlv等协议的视频传输方式实时性差、时延高;另一种是将无人机拍摄的原始视频发送至安装有直播软件的终端设备,借助终端设备实现直播,但是直播软件在直播时通常使用TCP作为传输层协议,一旦出现丢包后续的所有包都会被缓冲,造成直播卡顿、延迟,而无人机飞行需要实时控制时容易出现事故。因此需要一种针对无人机的新型直播方式,以确保无人机直播画面的低延时、不易卡顿。
发明内容
有鉴于此,本发明提供了一种基于无人机的视频直播方法、系统、设备及存储介质,以借助WebRtc协议进行基于无人机的视频直播,降低了直播延迟,避免了卡顿情况。
为解决上述技术问题,本发明采用以下技术方案:
第一方面,本发明提供了一种基于无人机的视频直播方法,该方法包括:
获取无人机发送的原始视频流数据;
对所述原始视频流数据进行编解码得到输出缓冲数据;
将所述输出缓冲数据转换为WebRtc协议支持的视频帧;
将所述视频帧通过WebRtc传输通道发送至预设服务器,以使所述预设服务器根据所述视频帧进行直播显示。
可选的,在一些实施例中,所述原始视频流数据包括H264数据,所述对所述原始视频流数据进行编解码得到输出缓冲数据,包括:
将所述H264数据写入编解码器输入缓存区并提交至编解码器;
编解码器将所述H264数据进行编解码生成ByteBuffer视频流数据并写入编解码输出缓存区。
可选的,在一些实施例中,所述将所述输出缓冲数据转换为WebRtc协议支持的视频帧,包括:
自所述编解码输出缓存区读取所述ByteBuffer视频流数据;
基于所述ByteBuffer视频流数据进行解码和数据转换得到VideoFrame数据。
可选的,在一些实施例中,所述将所述视频帧通过WebRtc传输通道发送至预设服务器之前,还包括:
检测网络信号强度;
根据所述网络信号强度按照第一规则确定当前分辨率;
根据所述当前分辨率调整所述视频帧的视频流分辨率。
可选的,在一些实施例中,根据所述网络信号强度按照第一规则确定当前分辨率包括:
判断所述网络信号强度是否大于等于第一信号强度;
若大于等于第一信号强度,则确定当前分辨率为1920x1080p;
若小于第一信号强度,则确定当前分辨率为1080x720p。
可选的,在一些实施例中,所述获取无人机发送的原始视频流数据之前,还包括:
检测网络信号强度;
根据所述网络信号强度按照第二规则确定视频流码率;
将所述视频流码率发送至无人机,以使无人机基于所述视频流码率发送原始视频流数据。
可选的,在一些实施例中,所述WebRtc传输通道包括RTCPeerConnection通道和/或RTCDataChannel通道。
第二方面,本发明提供了一种基于二维码的页面引导装置,包括:
数据接收模块,用于获取无人机发送的原始视频流数据;
编解码模块,用于对所述原始视频流数据进行编解码得到输出缓冲数据;
数据转换模块,用于将所述输出缓冲数据转换为WebRtc协议支持的视频帧;
WebRtc传输模块,用于将所述视频帧通过WebRtc传输通道发送至预设服务器,以使所述预设服务器根据所述视频帧进行直播显示。
第三方面,本发明提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明任一实施例提供的的基于无人机的视频直播方法。
第四方面,本发明提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被执行时实现如本发明任一实施例提供的的基于无人机的视频直播方法。
同现有技术相比,本发明实施例提供的基于无人机的视频直播方法,应用于与无人机保持通信的终端,先获取无人机发送的原始视频流数据,再对原始视频流数据进行编解码得到输出缓冲数据,对输出缓冲数据进行数据转换得到WebRtc协议支持的视频帧,最终将视频帧通过WebRtc传输通道发送至预设服务器,由预设服务器根据视频帧进行直播显示,该方法在无人机直播过程中借助终端实现了基于WebRtc协议的实时直播,大大降低了直播画面的延迟,并且无人机上无需设置WebRtc转换装置和网络通信装置,降低了无人机的硬件成本,终端的运算性能也远远超出无人机直播过程中数据转换的算力需求,并且基于终端进行的数据转换底层架构成熟易于实现,开发成本低,仅借助软件即可对现有无人机系统进行改造,应用场景广泛。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本申请的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的一种基于无人机的视频直播方法的流程图;
图2是本发明实施例一提供的基于无人机的视频直播方法的子流程图;
图3是本发明实施例一提供的基于无人机的视频直播方法的子流程图;
图4是本发明实施例二提供的基于无人机的视频直播方法的流程图;
图5是本发明实施例二提供的基于无人机的视频直播方法的子流程图;
图6是本发明实施例二提供的基于无人机的视频直播方法的流程图;
图7是本发明实施例三提供的一种基于无人机的视频直播系统的结构示意图;
图8是本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施中的技术方案进行清楚、完整的描述。可以理解的是,此处所描述的具体实施例仅仅是本申请一部分实施例,而不是全部的实施例,仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一用例称为第二用例,且类似地,可将第二用例称为第一用例。第一用例和第二用例两者都是用例,但其不是同一用例。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个特征的组合。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。需要说明的是,当一个部被称为“固定于”另一个部,它可以直接在另一个部上也可以存在居中的部。当一个部被认为是“连接”到另一个部,它可以是直接连接到另一个部或者可能同时存在居中部。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述,只是为了说明的目的,并不表示是唯一的实施方式。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
参见图1,本实施例提供了一种基于无人机的视频直播方法,该方法可以应用于无人机系统,该系统包括无人机、终端和预设服务器,其中:无人机为由遥控设备或自备程序控制装置操纵,带任务载荷的不载人航空器;终端为与遥控设备连接的电子设备,通过遥控设备与无人机保持通信,用于无人机和预设服务器之间的数据传输中继,通常采用手机、平板等设备;预设服务器与所述终端保持通信连接。本实施例提供的基于无人机的视频直播方法具体可以由无人机或终端执行,也可以由终端和无人机之间交互完成,本实施例中以终端为例进行具体说明。如图1所示,该方法包括以下步骤:
S110、获取无人机发送的原始视频流数据。
本实施例中,无人机上设置有飞控模块和图像采集模块,其中飞控模块用于对无人机飞行和任务进行监控和操纵,图像采集模块用于在无人机飞行过程中进行图像采集,原始视频流数据即由图像采集模块采集并传输至终端的数据。
具体的,本实施例中,图像采集模块采集与遥控设备通过专用通信链路(通常为通过遥控设备的天线和无人机建立的无线电通信链路)连接,图像采集模块采集的数据先由无人机传输至遥控设备,再由遥控设备传输至终端,终端最终获取的原始视频流数据通常为H264数据,在一些替代实施例中,原始视频流数据也能够采用其他数据格式,此处不作限制。
S120、对所述原始视频流数据进行编解码得到输出缓冲数据。
输出缓冲数据是由多媒体编解码器对原始视频流数据进行的特殊封装,以便后续将其进一步转换成能够通过WebRtc传输通道传输的特殊数据(即后文所指的WebRtc协议支持的视频帧)。与现有技术不同,本实施例中在进行基于无人机的视频直播时,采用WebRtc协议作为终端和预设服务器之间的数据传输协议,其不需要安装任何插件,通过简单的JavaScript API就可以使得实时通信变成一种标准功能,并且不会出现因为一条消息出问题引发所有消息出问题导致直播卡顿的问题。但是,现有技术中WebRtc协议在应用时都是直接对摄像头采集的画面进行处理和传输的,而本实施例中无人机采集的画面需要通过专用通信链路传输到终端,终端获取的是原始视频流数据,其并不能直接通过WebRtc协议传输,因此,本实施例中需要对原始视频里数据进行编解码等处理得到符合WebRtc协议的数据。具体的,步骤S120中对原始视频流数据的编解码实际是将其转换为高效率的处理字节封装类数据,也即输出缓冲数据,这是因为在对原始视频流数据进行底层的视频流编码使其符合WebRtc协议时,处理的是字节,如果单纯借助字节数组来进行操作的话,首先效率有很大的问题,其次是数组最大的问题就是越界报异常等信息,因此使用了高效率的处理字节的封装类。并且由于后续仍要对该数据进行进一步处理,因此编解码器处理完成后将输出缓冲数据放在输出缓存区,以待后续使用。
具体的,在一些实施例中,终端为采用Android的手机或平板设备时,以所述原始视频流数据包括H264数据为例,其编解码过程具体如图2所示,包括步骤S121-122:
S121、将所述H264数据写入编解码器输入缓存区并提交至编解码器。
本实施例中编解码器采用MediaCodec提供的编解码器,MediaCodec是Android低层多媒体架构的一部分,通常与MediaExtractor、MediaMuxer、AudioTrack结合使用,能够编解码诸如H.264、H.265、AAC、3gp等常见的音视频格式。
S122、编解码器将所述H264数据进行编解码生成ByteBuffer视频流数据并写入编解码输出缓存区。
具体来说,MediaCodec在编解码的过程中使用了一组输入/输出缓存区来同步或异步处理数据:首先,终端向获取到的编解码输入缓存区写入要编解码的数据(也即原始视频流数据)并将其提交给编解码器,待编解码器处理完毕后生成ByteBuffer视频流数据,将ByteBuffer视频流数据转存到编码输出缓存区,同时收回客户端对输入缓存区的所有权;然后,终端从获取到编解码输出缓存区读取编码好的数据进行处理(非步骤S122中的内容),待处理完毕后编解码器收回客户端对输出缓存区的所有权。
S130、将所述输出缓冲数据转换为WebRtc协议支持的视频帧。
视频帧为WebRtc协议支持的VideoFrame数据对象,其能够通过WebRtc提供的推流接口进行推流。步骤S120中得到的输出缓冲数据仅能实现高效的数据处理,依然不能通过WebRtc协议直接进行传输,因此通过步骤S130对其进行进一步转换:终端不断从编解码输出缓存区中读取输出缓冲数据进行转换,得到能够通过WebRtc协议传输的视频帧。
具体的,继续以上述采用Android的手机或平板设备作为终端的示例为例,在一些实施例中,输出缓冲数据的转换过程也即步骤S130,如图3所示包括步骤S131-132:
S131、自所述编解码输出缓存区读取所述ByteBuffer视频流数据。
S132、基于所述ByteBuffer视频流数据进行解码和数据转换得到VideoFrame数据。
前文已经提及ByteBuffer视频流数据在生成后直接写入编解码输出缓存区,无人机系统在进行直播显示时,终端从编解码输出缓存区不断读取ByteBuffer视频流数据,并设置好视频流解码出来每一帧图像的宽、高和时间戳等信息,封装形成VideoFrame数据。
S140、将所述视频帧通过WebRtc传输通道发送至预设服务器,以使所述预设服务器根据所述视频帧进行直播显示。
WebRtc传输通道为WebRtc提供的推流接口连接的两个设备间的数据通路,本实施中由WebRtc提供的推流接口连接的是终端和预设服务器,WebRtc传输通道实际是借助网络信号实现的,例如4网络。具体的,在得到WebRtc协议支持的视频帧之后,终端即可通过WebRtc传输通道将视频帧传输至预设服务器,预设服务器接收视频帧后将其以视频直播的形式进行显示。
在一些具体实施例中,所述WebRtc传输通道包括RTCPeerConnection通道和/或RTCDataChannel通道。RTCPeerConnection通道是由RTCPeerConnetion API搭建的数据通路,能够实现高效和稳定的数据流通信;RTCDataChannel是由RTCDataChannel API搭建的数据通路,能够实现低延时和高吞吐量的点对点的交换数据。
本实施例提供的基于无人机的视频直播方法,应用于与无人机保持通信的终端,先获取无人机发送的原始视频流数据,再对原始视频流数据进行编解码得到输出缓冲数据,对输出缓冲数据进行数据转换得到WebRtc协议支持的视频帧,最终将视频帧通过WebRtc传输通道发送至预设服务器,由预设服务器根据视频帧进行直播显示,该方法在无人机直播过程中借助终端实现了基于WebRtc协议的实时直播,大大降低了直播画面的延迟,在实际应用中,基于本实施例提供的基于无人机的视频直播方法实现了通过公网预览时,直播画面延迟小于200ms,而常规技术的无人机直播延迟都在1s以上,并且本实施例中无人机上无需设置WebRtc转换装置和网络通信装置,降低了无人机的硬件成本,终端的运算性能也远远超出无人机直播过程中数据转换的算力需求,并且基于终端进行的数据转换底层架构成熟易于实现,开发成本低,仅借助软件即可对现有无人机系统进行改造,应用场景广泛。
实施例二
实施例二提供了一种基于无人机的视频直播方法,其可以在实施例一的基础上实现,对实施例一中的部分内容进行了具体的补充或举例,例如提供了根据网络信号强度进行分辨率调整的过程,具体包括:
如图4所示,本实施例提供的基于无人机的视频直播方法包括:
S210、获取无人机发送的原始视频流数据。
S220、对所述原始视频流数据进行编解码得到输出缓冲数据。
S230、将所述输出缓冲数据转换为WebRtc协议支持的视频帧。
S240、检测网络信号强度。
网络信号强度表示终端当前用于连接预设服务器的网络信号强度,例如终端当前能够使用4G网络和5G网络,但是终端与预设服务器是通过4G网络连接的,那么网络信号强度表示的是终端当前的4G信号强度。
S250、根据所述网络信号强度按照第一规则确定当前分辨率。
当前分辨率表示视频帧中直播图像的分辨率,是一个根据网络信号强度自适应调整的分辨率值,用于确保数据传输速度不会影响直播延迟。可以理解的是,当网络信号强度低时,其数据传输速度慢,而分辨率高的直播图像其数据量必然比分辨率低的直播图像数据量大,则数据传输不及时必然会导致直播出现更高的延迟。因此,本实施例中设置用于根据网络信号强度调整当前分辨率的第一规则,其能够根据网络信号强度自动选择与之适应的分辨率值作为当前分辨率。
在一个具体实施例中,如图5所示步骤S250具体包括步骤S251-253:
S251、判断所述网络信号强度是否大于等于第一信号强度。
S252、若大于等于第一信号强度,则确定当前分辨率为1920x1080p。
S253、若小于第一信号强度,则确定当前分辨率为1080x720p。
步骤S251-253仅为一确定当前分辨率的具体举例,第一信号强度为一个具体的信号强度值,例如-67dBm,根据实际需求自行设置此处不作限制。图5仅给出了根据第一信号强度在两种分辨率值间调整的过程,而实际应用中还可以设置第二信号强度、第三信号强度,当前分辨率除了1080p(1920x1080p)和720p(1080x720p)之外,还可以设置360p和4k等分辨率值,当然在一些实施例中,为了确保显示清晰度,通常720p即为最低清晰度。
S260、根据所述当前分辨率调整所述视频帧的视频流分辨率。
视频流分辨率是视频帧的一项参数,用于确定视频帧能够生成的图像的分辨率。在确定了当前分辨率之后,终端根据当前分辨率对视频帧的视频流分辨率进行调整,实际就是在调整最终传输的数据量大小。
S270、将所述视频帧通过WebRtc传输通道发送至预设服务器,以使所述预设服务器根据所述视频帧进行直播显示。
更具体的,在一些实施例中,如图6所示,还包括根据网络信号强度对原始视频流数据进行码率调整的过程:
S201、检测网络信号强度。
与步骤S240类似的,网络信号强度表示终端当前用于连接预设服务器的网络信号强度。
S202、根据所述网络信号强度按照第二规则确定视频流码率。
第二规则表示根据网络信号强度的升高和降低对应增加或减小视频流码率的规则,本实施例中视频流码率随着网路信号强的增大而增大。在一些具体实施例中,第二规则能够是一个以网络信号强度和视频流码率为关联量的正比例关系式,表示二者(网络信号强度和视频流码率)成正比关系。视频流码率用于表示无人机与终端间进行图传时的图像清晰度,随着网络信号强度的变化而变化,是一个不断波动的值,其决定了原始视频流数据的数据量大小。可以理解的是,原始视频流数据的数据量越大,终端在处理转换时耗费的时间也就越多,而当网络信号强度比较低时,其在转化成视频帧时还需要调整分辨率,进一步增加了处理时间。因此本实施中进一步根据网络信号强度自动调整无人机与终端间进行图传时的视频流码率,以降低整体的直播延迟。
S203、将所述视频流码率发送至无人机,以使无人机基于所述视频流码率发送原始视频流数据。
终端在根据网络信号强度确定了当前适合的视频流码率后,将该信息发送至无人机,无人机随后按照视频流码率向终端传输原始视频流数据。
S204、获取无人机发送的原始视频流数据。
S205、对所述原始视频流数据进行编解码得到输出缓冲数据。
S206、将所述输出缓冲数据转换为WebRtc协议支持的视频帧。
S207、将所述视频帧通过WebRtc传输通道发送至预设服务器,以使所述预设服务器根据所述视频帧进行直播显示。
本实施例进一步提供了根据网络信号强度对视频帧的视频流分辨率的调整过程,以及对原始视频流数据的视频流码率调整过程,是的视频流分辨率、视频流码率与网络信号强度相适应,避免了数据量和数据传输速度不匹配导致的直播延迟。
实施例三
图7为本发明实施例三提供的一种基于无人机的视频直播系统300的结构示意图,如图7所述,该系统300包括:
数据接收模块310,用于获取无人机发送的原始视频流数据;
编解码模块320,用于对所述原始视频流数据进行编解码得到输出缓冲数据;
数据转换模块330,用于将所述输出缓冲数据转换为WebRtc协议支持的视频帧;
WebRtc传输模块340,用于将所述视频帧通过WebRtc传输通道发送至预设服务器,以使所述预设服务器根据所述视频帧进行直播显示。
可选的,在一些实施例中,所述原始视频流数据包括H264数据,编解码模块320具体用于:
将所述H264数据写入编解码器输入缓存区并提交至编解码器;
编解码器将所述H264数据进行编解码生成ByteBuffer视频流数据并写入编解码输出缓存区。
可选的,在一些实施例中,数据转换模块330具体用于:
自所述编解码输出缓存区读取所述ByteBuffer视频流数据;
基于所述ByteBuffer视频流数据进行解码和数据转换得到VideoFrame数据。
可选的,在一些实施例中,还包括:
网络检测模块,用于检测网络信号强度;
分辨率确认模块,用于根据所述网络信号强度按照第一规则确定当前分辨率;
视频帧调整模块,用于根据所述当前分辨率调整所述视频帧的视频流分辨率。
可选的,在一些实施例中,分辨率确认模块具体用于:
判断所述网络信号强度是否大于等于第一信号强度;
若大于等于第一信号强度,则确定当前分辨率为1920x1080p;
若小于第一信号强度,则确定当前分辨率为1080x720p。
可选的,在一些实施例中,包括:
网络检测模块,用于检测网络信号强度;
码率确认模块,用于根据所述网络信号强度按照第二规则确定视频流码率;
码率调整模块,用于将所述视频流码率发送至无人机,以使无人机基于所述视频流码率发送原始视频流数据。
可选的,在一些实施例中,所述WebRtc传输通道包括RTCPeerConnection通道和/或RTCDataChannel通道。
本实施例提供了一种基于无人机的视频直播系统,应用于与无人机保持通信的终端,先获取无人机发送的原始视频流数据,再对原始视频流数据进行编解码得到输出缓冲数据,对输出缓冲数据进行数据转换得到WebRtc协议支持的视频帧,最终将视频帧通过WebRtc传输通道发送至预设服务器,由预设服务器根据视频帧进行直播显示,该方法在无人机直播过程中借助终端实现了基于WebRtc协议的实时直播,大大降低了直播画面的延迟,并且无人机上无需设置WebRtc转换装置和网络通信装置,降低了无人机的硬件成本,终端的运算性能也远远超出无人机直播过程中数据转换的算力需求,并且基于终端进行的数据转换底层架构成熟易于实现,开发成本低,仅借助软件即可对现有无人机系统进行改造,应用场景广泛。
实施例四
图8为本发明实施例四提供的一种可以实现基于无人机的视频直播方法的电子设备400的结构示意图,如图8所示,该设备包括存储器410、处理器420,设备中处理器420的数量可以是一个或多个,图8中以一个处理器420为例;设备中的存储器410、处理器420可以通过总线或其他方式连接,图8中以通过总线连接为例。
存储器410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于无人机的视频直播方法对应的程序指令/模块(例如,基于无人机的视频直播系统中的数据接收模块310、编解码模块320、数据转换模块330和WebRtc传输模块340)。处理器420通过运行存储在存储器410中的软件程序、指令以及模块,从而执行基于二维码的页面引导第二页面引导模块的各种功能应用以及数据处理,即实现上述的基于无人机的视频直播方法。
其中,所述处理器420用于运行存储在存储器410中的计算机可执行程序,以实现如下步骤:步骤S110、获取无人机发送的原始视频流数据;步骤S120、对所述原始视频流数据进行编解码得到输出缓冲数据;步骤S130、将所述输出缓冲数据转换为WebRtc协议支持的视频帧;步骤S140、将所述视频帧通过WebRtc传输通道发送至预设服务器,以使所述预设服务器根据所述视频帧进行直播显示。
当然,本发明实施例所提供的一种基于无人机的视频直播装置,该装置不限于如上所述的方法操作,还可以执行本发明实施例任意实施例所提供的基于无人机的视频直播方法中的相关操作。
存储器410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例五
本发明实施例五还提供一种包括计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种基于无人机的视频直播方法,该基于无人机的视频直播方法包括:
获取无人机发送的原始视频流数据;
对所述原始视频流数据进行编解码得到输出缓冲数据;
将所述输出缓冲数据转换为WebRtc协议支持的视频帧;
将所述视频帧通过WebRtc传输通道发送至预设服务器,以使所述预设服务器根据所述视频帧进行直播显示。
当然,本发明实施例所提供的一种包括计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于无人机的视频直播方法中的相关操作。
通过以上关于实施方式的描述,所述领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是个人计算机,设备,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述授权系统的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种基于无人机的视频直播方法,其特征在于,包括:
获取无人机发送的原始视频流数据;
对所述原始视频流数据进行编解码得到输出缓冲数据;
将所述输出缓冲数据转换为WebRtc协议支持的视频帧;
将所述视频帧通过WebRtc传输通道发送至预设服务器,以使所述预设服务器根据所述视频帧进行直播显示。
2.根据权利要求1所述的基于无人机的视频直播方法,其特征在于,所述原始视频流数据包括H264数据,所述对所述原始视频流数据进行编解码得到输出缓冲数据,包括:
将所述H264数据写入编解码器输入缓存区并提交至编解码器;
编解码器将所述H264数据进行编解码生成ByteBuffer视频流数据并写入编解码输出缓存区。
3.根据权利要求2所述的基于无人机的视频直播方法,其特征在于,所述将所述输出缓冲数据转换为WebRtc协议支持的视频帧,包括:
自所述编解码输出缓存区读取所述ByteBuffer视频流数据;
基于所述ByteBuffer视频流数据进行解码和数据转换得到VideoFrame数据。
4.根据权利要求1所述的基于无人机的视频直播方法,其特征在于,所述将所述视频帧通过WebRtc传输通道发送至预设服务器之前,还包括:
检测网络信号强度;
根据所述网络信号强度按照第一规则确定当前分辨率;
根据所述当前分辨率调整所述视频帧的视频流分辨率。
5.根据权利要求4所述的基于无人机的视频直播方法,其特征在于,根据所述网络信号强度按照第一规则确定当前分辨率包括:
判断所述网络信号强度是否大于等于第一信号强度;
若大于等于第一信号强度,则确定当前分辨率为1920x1080p;
若小于第一信号强度,则确定当前分辨率为1080x720p。
6.根据权利要求1所述的基于无人机的视频直播方法,其特征在于,所述获取无人机发送的原始视频流数据之前,还包括:
检测网络信号强度;
根据所述网络信号强度按照第二规则确定视频流码率;
将所述视频流码率发送至无人机,以使无人机基于所述视频流码率发送原始视频流数据。
7.根据权利要求2所述的基于无人机的视频直播方法,其特征在于:
所述WebRtc传输通道包括RTCPeerConnection通道和/或RTCDataChannel通道。
8.一种基于无人机的视频直播系统,其特征在于,包括:
数据接收模块,用于获取无人机发送的原始视频流数据;
编解码模块,用于对所述原始视频流数据进行编解码得到输出缓冲数据;
数据转换模块,用于将所述输出缓冲数据转换为WebRtc协议支持的视频帧;
WebRtc传输模块,用于将所述视频帧通过WebRtc传输通道发送至预设服务器,以使所述预设服务器根据所述视频帧进行直播显示。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7任意一项所述的基于无人机的视频直播方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被执行时,实现如权利要求1-7任意一项所述的基于无人机的视频直播方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111061182.XA CN113747191A (zh) | 2021-09-10 | 2021-09-10 | 基于无人机的视频直播方法、系统、设备及存储介质 |
PCT/CN2022/117900 WO2023036258A1 (zh) | 2021-09-10 | 2022-09-08 | 基于无人机的视频直播方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111061182.XA CN113747191A (zh) | 2021-09-10 | 2021-09-10 | 基于无人机的视频直播方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113747191A true CN113747191A (zh) | 2021-12-03 |
Family
ID=78738017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111061182.XA Pending CN113747191A (zh) | 2021-09-10 | 2021-09-10 | 基于无人机的视频直播方法、系统、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113747191A (zh) |
WO (1) | WO2023036258A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023036258A1 (zh) * | 2021-09-10 | 2023-03-16 | 深圳市道通智能航空技术股份有限公司 | 基于无人机的视频直播方法、系统、设备及存储介质 |
WO2024032566A1 (zh) * | 2022-08-12 | 2024-02-15 | 亿航智能设备(广州)有限公司 | 无人机图传方法、系统及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108319629A (zh) * | 2017-01-16 | 2018-07-24 | 远程媒体有限责任公司 | 媒体内容分享系统、路由管理系统和社交媒体平台方法 |
CN110830777A (zh) * | 2019-11-29 | 2020-02-21 | 公安部第一研究所 | 基于WebRTC协议的跨浏览器预览GB/T28181标准监控视频的方法 |
CN111386708A (zh) * | 2017-10-19 | 2020-07-07 | 拉扎尔娱乐公司 | 用于广播直播媒体流的系统和方法 |
CN111901630A (zh) * | 2020-06-17 | 2020-11-06 | 视联动力信息技术股份有限公司 | 一种数据传输方法、装置、终端设备和存储介质 |
CN112788050A (zh) * | 2021-01-25 | 2021-05-11 | 山东云缦智能科技有限公司 | 基于内容分发网络实现低延时直播的系统及方法 |
US11100197B1 (en) * | 2020-04-10 | 2021-08-24 | Avila Technology Llc | Secure web RTC real time communications service for audio and video streaming communications |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8819757B2 (en) * | 2011-01-11 | 2014-08-26 | Manolo Fabio Rivera | Advanced wireless IPTV set top box |
CN104253814B (zh) * | 2014-09-12 | 2018-02-23 | 清华大学 | 一种流媒体处理方法、服务器及浏览器 |
CN104244108A (zh) * | 2014-09-24 | 2014-12-24 | 上海网达软件股份有限公司 | 一种直播方法及系统 |
CN106209949A (zh) * | 2015-05-07 | 2016-12-07 | 北京大学 | 基于WebRTC的交互式直播方法及装置 |
CN108206833B (zh) * | 2018-01-11 | 2021-04-27 | 福建星网锐捷通讯股份有限公司 | 音视频数据传输方法及其系统 |
CN109587510B (zh) * | 2018-12-10 | 2021-11-02 | 广州虎牙科技有限公司 | 一种直播方法、装置、设备和存储介质 |
CN109862386A (zh) * | 2019-03-27 | 2019-06-07 | 北京奇艺世纪科技有限公司 | 直播数据传输方法及装置 |
CN113747191A (zh) * | 2021-09-10 | 2021-12-03 | 深圳市道通智能航空技术股份有限公司 | 基于无人机的视频直播方法、系统、设备及存储介质 |
-
2021
- 2021-09-10 CN CN202111061182.XA patent/CN113747191A/zh active Pending
-
2022
- 2022-09-08 WO PCT/CN2022/117900 patent/WO2023036258A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108319629A (zh) * | 2017-01-16 | 2018-07-24 | 远程媒体有限责任公司 | 媒体内容分享系统、路由管理系统和社交媒体平台方法 |
CN111386708A (zh) * | 2017-10-19 | 2020-07-07 | 拉扎尔娱乐公司 | 用于广播直播媒体流的系统和方法 |
CN110830777A (zh) * | 2019-11-29 | 2020-02-21 | 公安部第一研究所 | 基于WebRTC协议的跨浏览器预览GB/T28181标准监控视频的方法 |
US11100197B1 (en) * | 2020-04-10 | 2021-08-24 | Avila Technology Llc | Secure web RTC real time communications service for audio and video streaming communications |
CN111901630A (zh) * | 2020-06-17 | 2020-11-06 | 视联动力信息技术股份有限公司 | 一种数据传输方法、装置、终端设备和存储介质 |
CN112788050A (zh) * | 2021-01-25 | 2021-05-11 | 山东云缦智能科技有限公司 | 基于内容分发网络实现低延时直播的系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023036258A1 (zh) * | 2021-09-10 | 2023-03-16 | 深圳市道通智能航空技术股份有限公司 | 基于无人机的视频直播方法、系统、设备及存储介质 |
WO2024032566A1 (zh) * | 2022-08-12 | 2024-02-15 | 亿航智能设备(广州)有限公司 | 无人机图传方法、系统及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023036258A1 (zh) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017129090A1 (zh) | 移动终端的数据传输方法和装置 | |
WO2023036258A1 (zh) | 基于无人机的视频直播方法、系统、设备及存储介质 | |
CN103493481A (zh) | 基于场景的适应性比特率控制 | |
CN104333762A (zh) | 一种视频解码方法 | |
CN108307202B (zh) | 实时视频转码发送方法、装置及用户终端 | |
CN102404578A (zh) | 一种多通道视频传输系统及方法 | |
CN110958431A (zh) | 多路视频压缩后传系统及方法 | |
CN102802024A (zh) | 在服务器端实现的转码方法以及转码系统 | |
CN111641804A (zh) | 视频数据处理方法和装置、终端、摄像头及视频会议系统 | |
WO2021052500A1 (zh) | 视频图像的传输方法、发送设备、视频通话方法和设备 | |
CN112887679A (zh) | 无损视频远程采集方法和系统 | |
CN111629278B (zh) | 图像传输方法、装置、可移动平台、服务器及存储介质 | |
CN103428493A (zh) | 轻型化高清视频无线传输系统 | |
US10225586B2 (en) | Method for transmitting video surveillance images | |
US20230007282A1 (en) | Image transmission method and apparatus | |
CN111093082A (zh) | 一种流媒体直播的方法及系统 | |
CN104639979A (zh) | 视频分享方法及系统 | |
CN217240799U (zh) | 一种数据传输处理装置及车辆 | |
CN115022656B (zh) | 一种基于机器人操作系统的远程支援方法及设备 | |
CN111083450A (zh) | 车机端图像远程输出方法、装置及系统 | |
WO2023045364A1 (zh) | 图像显示方法、装置、存储介质及电子装置 | |
CN111212285A (zh) | 硬件视频编码系统和硬件视频编码系统的控制方法 | |
CN114928754A (zh) | 用于实景三维数据的数据处理方法及电子设备 | |
CN113727073A (zh) | 一种基于云计算实现车载视频监控的方法及系统 | |
CN113709517A (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 |