CN115086699B - 基于蜂窝网络的uav实时视频传输码率自适应系统 - Google Patents
基于蜂窝网络的uav实时视频传输码率自适应系统 Download PDFInfo
- Publication number
- CN115086699B CN115086699B CN202210674561.4A CN202210674561A CN115086699B CN 115086699 B CN115086699 B CN 115086699B CN 202210674561 A CN202210674561 A CN 202210674561A CN 115086699 B CN115086699 B CN 115086699B
- Authority
- CN
- China
- Prior art keywords
- video
- code rate
- uav
- code
- rate
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 28
- 230000001413 cellular effect Effects 0.000 title claims abstract description 28
- 230000035515 penetration Effects 0.000 claims abstract description 7
- 230000006978 adaptation Effects 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 5
- 238000000034 method Methods 0.000 abstract description 20
- 238000013507 mapping Methods 0.000 abstract description 6
- 230000000903 blocking effect Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 241000607479 Yersinia pestis Species 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 4
- 241000238631 Hexapoda Species 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008092 positive effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 239000002917 insecticide Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004297 night vision Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
-
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- 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/60—Network 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/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6143—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a satellite
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供的一种基于蜂窝网络的UAV实时视频传输码率自适应系统:通过装载并配置UAV计算机,使得UAV端可以提供多条不同码率的视频流可供拉取;搭建了拥有码率自适应单元的客户端,使得系统可以每个时隙根据网络状况调整视频流的码率;在云服务器端进行内网穿透以及端口映射,实现客户端可以从云服务器端获取UAV实时拍摄的视频流。本发明系统可以实现远端用户通过蜂窝网络实时远端观看UAV拍摄的视频流;可以更好的适应UAV‑用户链路中网络带宽的波动,提供码率自适应的视频流,减小卡顿风险的同时提高带宽利用率。相比于传统固定码率视频传输的架构,码率自适应架构可以更好的应对带宽的波动。
Description
技术领域
本发明涉及UAV视频传输领域,特别是涉及一种基于蜂窝网络的UAV实时视频传输码率自适应系统。
背景技术
近年来,无人机视频传输技术兴起,有潜力应用于各个领域。例如用于灾难响应,在灾难和紧急情况下,如地震、龙卷风等自然灾害的发生。无人机可以快速到达偏远地区,通过使用夜视或红外摄像机,在黑暗中精确定位幸存者的位置。运营中心可以使用从无人机传输到地面站的实时图像来决定和规划搜救;用于农业安全检测,无人机可以用于对发生虫害的农田区域的检测,在很大规模的农田发生局部虫害的情况下,仅靠地面安全人员很难监测。无人机可以被部署来扫描农田,可以提醒农民注意害虫入侵或田间的动物,并在识别出害虫出没的区域后喷洒杀虫剂;用于活动直播,运动场和音乐会场馆一般会部署20–30多个摄像头,以获得活动的各个直播视角。无人机拍摄的视频提供了一个独特的空中视角,这是静态相机无法做到的。福克斯新闻(Fox news)等媒体公司已经开始使用无人机来报道这种直播,这种直播需要将高清视频流可靠地传输到地面站。但目前市场上的航拍无人机,基本都是点对点视频传输,未将无人机接入蜂窝网,且这种航拍无人机飞行距离存在限制,不能很好的实现以上应用场景。
在以上几种场景中,均需要将无人机实时拍摄的视频传输至流媒体服务器,便于进一步分析处理以及转播;然后通过蜂窝网将视频传至客户端,实现用户实时观看无人机拍摄视频的功能。这就需要一个基于蜂窝网络的无人机实时视频传输系统,更好的实现以上功能。
此外,由于UAV飞行场景的特殊性,UAV-用户链路上的带宽可能会波动很大,这使得固定码率进行视频传输的架构产生卡顿的几率大大增加,这是无人机实时视频传输系统需要解决的问题。
发明内容
本发明针对上述问题,提供了一种基于蜂窝网络的UAV实时视频传输码率自适应系统,系统中引入码率自适应单元对于带宽的波动可以进行码率的调整,从而提升用户观看视频的QOE。
本发明提供的一种基于蜂窝网络的UAV实时视频传输码率自适应系统,包括:
UAV端:包括多码率推流模块和SRS流媒体服务器,多码率推流模块用于对UAV实时采集的视频进行多码率编码,并且将编码后的多码率视频推流至SRS流媒体服务器,SRS流媒体服务器用于给多码率视频分配拉流地址;
客户端:包括码率自适应单元,码率自适应单元包括MPD解析模块、下载器模块、播放器模块和码率决策模块,MPD解析模块用于解析视频的MPD文件;下载器模块用于对视频流下载并且收集带宽数据,并将带宽数据传输给码率决策模块;播放器用于对视频进行解码播放,并且收集播放数据传输给码率决策模块;码率决策模块用于结合带宽数据和播放数据使用缓冲区双阈值的ABR算法进行码率决策;
云服务器端:用于将UAV端的视频拉取端口映射到云服务器上,使客户端通过访问云服务器相应端口从UAV端拉取视频流。
在一些实施例中,所述多码率推流模块装载libx264库用于配合ffmpeg提供多码率视频流的推流。
在一些实施例中,利用SRS流媒体服务器提供的API实现不同码率视频关键帧的对齐,用于视频码率的无缝切换。
在一些实施例中,所述下载器模块收集带宽数据,具体包括:每隔一个时间间隔T,统计时间间隔T内客户端实际下载的数据量S,得到一个带宽采样点B=S*8*1000/(T*1024)。
在一些实施例中,码率决策模块用于结合带宽数据和播放数据使用缓冲区双阈值的ABR算法进行码率决策,具体包括:
bh为高阈值,bl为低阈值,bc为当前视频缓冲区水平,令可选择的码率集合R=[r1,r2,…,rn],当前下载的视频码率为rc,GOP长度为D,时隙间隔为T,预测的下一时隙带宽为B;设在做下一时隙码率决策时,当前GOP已下载了d,假设需要下载的GOP码率为r:
当r=rc时,继续下载当前的GOP,一个时隙下载结束后缓冲区视频水平为:
式一:b=bc+D-d-(D-d)*r/B
当r!=rc时,从GOP的第一帧开始下载,一个时隙下载结束后缓冲区视频水平为:
式二:b=bc+D-d-D*r/B
当bc>bh时:
在式二中,若对任意的r>rc,不存在b≤bh,则请求最大码率;
在式二中,若对任意的r>rc,存在b≤bh,则选择满足b≤bh且码率最小的视频进行下载;
当bc<bl时:
在式二中,若对任意的r<rc,不存在b≥bl,则最终请求的视频码率为最低码率。
在式二中,若对任意的r<rc,存在b≥bl,则选择满足b≥bl且码率最大的视频进行下载。
在一些实施例中,所述云服务器端使用frp工具进行内网穿透。
在一些实施例中,所述MPD文件为JSON文件。
本发明提供的一种基于蜂窝网络的UAV实时视频传输码率自适应系统:通过装载并配置机载计算机,使得UAV端可以提供多条不同码率的视频流可供拉取;搭建了拥有码率自适应单元的客户端,使得系统可以每个时隙根据网络状况调整视频流的码率;在云服务器端进行内网穿透以及端口映射,实现客户端可以从云服务器端获取UAV实时拍摄的视频流。本发明的优点与积极效果为:本发明可以实现远端用户通过蜂窝网络实时远端观看UAV拍摄的视频流;本发明实现的系统可以更好的适应UAV-用户链路中网络带宽的波动,提供码率自适应的视频流,减小卡顿风险的同时提高带宽利用率。相比于传统固定码率视频传输的架构,码率自适应架构可以更好的应对带宽的波动。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中基于蜂窝网络的UAV实时视频传输码率自适应系统结构示意图;
图2是本发明实施例中系统UAV端结构示意图;
图3是本发明实施例中系统客户端结构示意图;
图4是本发明实施例中系统码率决策模块使用缓冲区模型结构示意图;
图5是本发明实施例中系统云服务器端口映射示意图。
具体实施方式
为进一步对本发明的技术方案作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的步骤。
本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或硬件获取模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本发明实施例针对一种基于蜂窝网络的UAV实时视频传输码率自适应系统,提供了如下实施例:
本实施例用于说明基于蜂窝网络的UAV实时视频传输码率自适应系统100,如图1所示,为本实施例的系统结构框图,系统100包括:
UAV端110:包括多码率推流模块111和SRS流媒体服务器112,多码率推流模块111用于对UAV实时采集的视频进行多码率编码,并且将编码后的多码率视频推流至SRS流媒体服务器112,SRS流媒体服务器112用于给多码率视频分配拉流地址;
客户端120:包括码率自适应单元121,码率自适应单元121包括MPD解析模块1211、下载器模块1212、播放器模块1213和码率决策模块1214,MPD解析模块1211用于解析视频的MPD文件;下载器模块212用于对视频流下载并且收集带宽数据,并将带宽数据传输给码率决策模块1214;播放器模块1213用于对视频进行解码播放,并且收集播放数据传输给码率决策模块1214;码率决策模块1214用于结合带宽数据和播放数据使用缓冲区双阈值的ABR算法进行码率决策;
云服务器端130:用于将UAV端110的视频拉取端口映射到云服务器上,使客户端通过访问云服务器相应端口从UAV端拉取视频流。
在一些实施例中,多码率推流模块111装载libx264库用于配合ffmpeg提供多码率视频流的推流。
在一些实施例中,SRS流媒体服务112器提供的API实现不同码率视频关键帧的对齐,用于视频码率的无缝切换。
具体实施过程中,使用ffmpeg的libx264库对UAV实时采集的视频进行多码率编码,并且推流至SRS流媒体服务器,SRS流媒体服务器搭建在UAV端,给多码率视频分配拉流地址,并且对齐关键帧以便实现视频的无缝切换。
首先,对UAV机载计算机进行配置,通过给机载计算机连接USB摄像头作为视频采集工具,装载LTE模块以及天线使得视频可以通过蜂窝网络传输;在机载计算机上配置了推流工具ffmpeg,其可以实现对于推流视频的格式、码率、帧率等信息的设置;然后装载libx264库,其配合ffmpeg使用可以提供多码率视频流的推流;由于推流的视频需要暂存一段数据,并且给视频流分配拉流地址以便用户拉取,在传统的直播架构中,这是流媒体服务器的工作,本实施例在机载计算机上搭建了SRS流媒体服务器,进行推流视频的拉流地址分配。
在另一个实施例中,需要在UAV端实现多码率视频流的采集以及推流,并且为多码率视频流分配拉流地址。使用大疆M300作为所用无人机,使用妙算2-C作为所用机载计算机。给机载计算机连接USB摄像头作为视频采集工具,装载LTE模块以及天线使得视频可以通过蜂窝网络传输;对于视频的采集,最常用的方法是使用ffmpeg对视频进行推流,ffmpeg可以对采集视频的格式、码率、帧率等信息进行设置;然后装载libx264库,其配合ffmpeg使用可以提供多码率视频流的推流;由于推流的视频需要暂存一段数据,并且给视频流分配拉流地址以便用户拉取,在传统的直播架构中,这是流媒体服务器的工作,于是通过在机载计算机上搭建了SRS流媒体服务器,进行推流视频的拉流地址分配。UAV端结构示意图如图2所示。
UAV端的视频采集以及推流需要使用推流工具实现,常用的有OSB与ffmpeg。OSB常用于用户发起的直播推流,即有着较为完善的用户交互界面,但不利于在linux系统上开发使用;相反,ffmpeg可以直接在终端窗口启动推流,便于开发,故使用ffmpeg推流。
此外,由于ffmpeg在下载时可能不包括特定的软件编码器,还需要下载并配置libx264编码库来对视频进行软件编码;并且libx264库提供了进行多路编码的api,结合ffmpeg使用可以推送多种码率的视频流。
考虑到无人机上行链路的易波动性,希望UAV-云服务器链路上的视频也满足码率自适应。因此,对于单用户来说,可以实现全局自适应,即UAV-用户整条链路上的码率自适应。这就要求视频流应该在UAV端暂存,所以需要在UAV端搭建流媒体服务器。SRS是国人写的一款非常优秀的开源流媒体服务器,可用于直播/点播/视频客服等多种场景,其定位是运营级的互联网直播服务器集群。因此,在UAV上搭建了SRS,为ffmpeg推来的视频流分配了拉流地址与端口;此外,利用其提供的api实现了不同码率视频关键帧的对齐,从而保证了视频码率的无缝切换。并且对齐关键帧以便实现视频的无缝切换。
具体实施过程中,客户端结构示意图如图3所示,包含四个模块:MPD解析模块1211、下载器模块1212、播放器模块1213、码率决策模块1214。
在一些实施例中,所述MPD文件为JSON文件。具体实施过程中,媒体呈现(MP)是由客户端访问、用于向用户提供流媒体服务的一组数据集合。其中包括了已编码并可传输的媒体流信息。媒体呈现描述(MPD)是一个包含元数据的json文档。客户端通过解析这些元数据来构建获取媒体流的请求,并向用户提供流媒体服务。MPD解析模块负责解析这个json文档,获取视频流信息。
在一些实施例中,下载器模块1212收集带宽数据,具体包括:每隔一个时间间隔T,统计时间间隔T内客户端实际下载的数据量S,得到一个带宽采样点B=S*8*1000/(T*1024)。
具体实施过程中,下载器模块的工作主要有两点:
1.请求生成
(1)启播请求
启播时,依据MPD中的默认初始媒体表示,获取待请求媒体表示对应的url地址,并进行拉流。
(2)切换请求
在媒体播放过程中,如果自适应策略输出的媒体表示与当前正在下载的媒体表示一致,则忽略当前自适应策略的输出,不用生成新的请求。如果不一致,则依据自适应策略输出的媒体表示的id,获取对应的url,进行视频下载的切换。
2.网络状态收集
下载器在媒体下载的同时,负责收集网络状态。每隔一个固定时间T(ms),统计该时间段内客户端实际下载的数据量S(Bytes),从而得到一个带宽采样点B(kbps)=S*8*1000/(T*1024),该带宽为UAV-用户链路上的实际带宽。
具体实施过程中,播放器模块1213的工作主要有两点:一是解码,解码时,以高质量优先为原则,即当发生码率切换时,如果高低码率存在重叠的情况,则优先播放高码率的媒体表示。此外,在高低码率切换时,依据pts进行对齐,从而达到无缝切换;二是播放状态收集,播放器在解码时,每隔一定时间间隔,将播放器的相关状态信息传递给码率自适应模块。这里与下载器采用的时间间隔T一致,即采用同一个定时器触发。播放器收集的状态信息包括当前视频缓冲区水平、卡顿次数、卡顿时长、丢帧数等。
具体实施过程中,码率决策模块1214使用缓冲区双阈值的ABR算法在每个时隙做出码率决策,缓冲区模型如图4所示。其中bh为高阈值、bl为低阈值、bc为当前视频缓冲区水平。
在一些实施例中,码率决策模块1214用于结合带宽数据和播放数据使用缓冲区双阈值的ABR算法进行码率决策,具体包括:
bh为高阈值,bl为低阈值,bc为当前视频缓冲区水平,令可选择的码率集合R=[r1,r2,…,rn],当前下载的视频码率为rc,GOP长度为D,时隙间隔为T,预测的下一时隙带宽为B;设在做下一时隙码率决策时,当前GOP已下载了d,假设需要下载的GOP码率为r:
当r=rc时,继续下载当前的GOP,一个时隙下载结束后缓冲区视频水平为:
式一:b=bc+D-d-(D-d)*r/B
当r!=rc时,从GOP的第一帧开始下载,一个时隙下载结束后缓冲区视频水平为:
式二:b=bc+D-d-D*r/B
当bc>bh时:
在式二中,若对任意的r>rc,不存在b≤bh,则请求最大码率;
在式二中,若对任意的r>rc,存在b≤bh,则选择满足b≤bh且码率最小的视频进行下载;
当bc<bl时:
在式二中,若对任意的r<rc,不存在b≥bl,则最终请求的视频码率为最低码率。
在式二中,若对任意的r<rc,存在b≥b,则选择满足b≥bl且码率最大的视频进行下载。
具体实施过程中,在搭建客户端之前需要引入las.js,las.js是一个JavaScript库,可实现flv直播多码率Web端。它依靠HTML5 video和MediaSource扩展进行播放;是通过将flv传输流转换为fragmented mp4来工作的,支持使用web worker;并且可以直接在标准的HTML<video>元素上运行。
通过在本地搭建dev-server服务器,webpack-dev-server是一个小型的Node.jsExpress服务器,它使用webpack-dev-middleware来服务于webpack的包;使得播放器的HTML网页可以运行在本地服务器上,从而使得js文件可以被打包并且实时编译;在运行播放器的时候,播放器会自动刷新,更新视频数据。
具体实现步骤如下,首先将HTML源文件放在app文件夹下,并通过webpack将其打包到build文件夹下的bundle.js中;配置package.json文件,使用本地的8081端口作为播放器的访问端口;配置--inline:true,使其能够热刷新;通过命令行的npm run start命令(需要先下载并配置Node和npm)运行dev-sever服务器。然后就可以通过8081端口访问播放器了。
MPD描述文件为JSON文件,其中包含了推流端设置的多码率视频流的码率、帧率、清晰度等信息,以及拉流地址和起播清晰度的设置。这些信息会通过构造的解析函数传入浏览器中,并且进行验证;解析后的信息会传入码率决策器,提供可切换的视频码率index列表,并将起播清晰度传给下载器进行视频的加载。
当用户访问本地的8081端口时,下载器根据起播清晰度的视频地址load视频流,通过使用video标签的src属性对相应地址的视频进行播放。视频播放过程中,下载器负责记录下载带宽数据;播放器负责记录缓冲区视频水平等信息。然后将数据export给码率决策模块进行码率决策,获取下一时隙码率的index,并将结果传递给下载器执行下载码率的切换,切换码率严格在GOP的关键帧位置执行,实现无缝切换。
码率决策模块使用import关键字接收带宽数据与缓冲区数据后,首先对过去5个时隙的带宽求调和平均值,作为下一个时隙的带宽预测值;然后结合缓冲区信息使用双阈值的ABR算法模型进行决策,给出下一时隙码率的index。
在一些实施例中,所述云服务器端使用frp工具进行内网穿透。
具体实施过程中,若要实现码率自适应,要求无人机端可以提供多种清晰度的视频可供拉取,但由于UAV端没有自己的公网IP,远端用户无法找到UAV,也就无法进行视频的拉取;故需要进行内网穿透,将妙算视频流的监听端口映射到云端相应端口;因此远端用户从云端对应端口拉流即可实现通过蜂窝网拉流UAV拍摄视频。
具体地,frp工作过程包括:
(1)云服务器端监听一个主端口,等待UAV端的连接;
(2)UAV端连接到云服务器的主端口,同时告诉服务器要监听的端口和转发类型;
(3)服务器端开启新的进程监听UAV端指定的端口;
(4)客户端连接到服务器相应端口,服务器端通过和UAV的连接将数据转发到客户端。
一个云服务器端口映射具体示例如图5所示。将妙算视频流的监听端口1995映射到云服务器端口2000;将控制端口22映射到云服务器的端口3000。因此远端用户可以通过访问云服务器端口3000对UAV进行控制、访问端口2000获取视频流,即可实现客户端通过蜂窝网实时获取UAV采集的视频。
本发明实施例提供的一种基于蜂窝网络的UAV实时视频传输码率自适应系统:通过装载并配置机载计算机,使得UAV端可以提供多条不同码率的视频流可供拉取;搭建了拥有码率自适应单元的客户端,使得系统可以每个时隙根据网络状况调整视频流的码率;在云服务器端进行内网穿透以及端口映射,实现客户端可以从云服务器端获取UAV实时拍摄的视频流。本发明的优点与积极效果为:本发明可以实现远端用户通过蜂窝网络实时远端观看UAV拍摄的视频流;本发明实现的系统可以更好的适应UAV-用户链路中网络带宽的波动,提供码率自适应的视频流,减小卡顿风险的同时提高带宽利用率。相比于传统固定码率视频传输的架构,码率自适应架构可以更好的应对带宽的波动。
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的步骤、方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种步骤、方法所固有的要素。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (7)
1.一种基于蜂窝网络的UAV实时视频传输码率自适应系统,其特征在于,包括:
UAV端:包括多码率推流模块和SRS流媒体服务器,多码率推流模块用于对UAV实时采集的视频进行多码率编码,并且将编码后的多码率视频推流至SRS流媒体服务器,SRS流媒体服务器用于给多码率视频分配拉流地址;
客户端:包括码率自适应单元,码率自适应单元包括MPD解析模块、下载器模块、播放器模块和码率决策模块,MPD解析模块用于解析视频的MPD文件;下载器模块用于对视频流下载并且收集带宽数据,并将带宽数据传输给码率决策模块;播放器用于对视频进行解码播放,并且收集播放数据传输给码率决策模块;码率决策模块用于结合带宽数据和播放数据使用缓冲区双阈值的ABR算法进行码率决策;
云服务器端:用于将UAV端的视频拉取端口映射到云服务器上,使客户端通过访问云服务器相应端口从UAV端拉取视频流;
其中,码率决策模块用于结合带宽数据和播放数据使用缓冲区双阈值的ABR算法进行码率决策,具体包括:
bh为高阈值,bl为低阈值,bc为当前视频缓冲区水平,令可选择的码率集合R=[r1,r2,…,rn],当前下载的视频码率为rc,GOP长度为D,时隙间隔为T,预测的下一时隙带宽为B;设在做下一时隙码率决策时,当前GOP已下载了d,假设需要下载的GOP码率为r:
当r=rc时,继续下载当前的GOP,下载结束后缓冲区视频水平为:
式一:b=bc+D-d-(D-d)*r/B
当r!=rc时,从GOP的第一帧开始下载,下载结束后缓冲区视频水平为:
式二:b=bc+D-d-D*r/B
当bc>bh时:
在式二中,若对任意的r>rc,不存在b≤bh,则请求最大码率;
在式二中,若对任意的r>rc,存在b≤bh,则选择满足b≤bh且码率最小的视频进行下载;
当bc<bl时:
在式二中,若对任意的r<rc,不存在b≥bl,则最终请求的视频码率为最低码率;
在式二中,若对任意的r<rc,存在b≥bl,则选择满足b≥bl且码率最大的视频进行下载。
2.根据权利要求1所述的基于蜂窝网络的UAV实时视频传输码率自适应系统,其特征在于,所述多码率推流模块装载libx264库用于配合ffmpeg提供多码率视频流的推流。
3.根据权利要求1所述的基于蜂窝网络的UAV实时视频传输码率自适应系统,其特征在于,利用SRS流媒体服务器提供的API实现不同码率视频关键帧的对齐,用于视频码率的无缝切换。
4.根据权利要求1所述的基于蜂窝网络的UAV实时视频传输码率自适应系统,其特征在于,所述下载器模块收集带宽数据,具体包括:每隔一个时间间隔T,统计时间间隔T内客户端实际下载的数据量S,得到一个带宽采样点B=S*8*1000/(T*1024)。
6.根据权利要求1所述的基于蜂窝网络的UAV实时视频传输码率自适应系统,其特征在于,所述云服务器端使用frp工具进行内网穿透。
7.根据权利要求1所述的基于蜂窝网络的UAV实时视频传输码率自适应系统,其特征在于,所述MPD文件为JSON文件。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210674561.4A CN115086699B (zh) | 2022-06-15 | 2022-06-15 | 基于蜂窝网络的uav实时视频传输码率自适应系统 |
US18/210,142 US20240098319A1 (en) | 2022-06-15 | 2023-06-15 | Real-time video transmission system for cellular-connected uav based on adaptive bitrate |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210674561.4A CN115086699B (zh) | 2022-06-15 | 2022-06-15 | 基于蜂窝网络的uav实时视频传输码率自适应系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086699A CN115086699A (zh) | 2022-09-20 |
CN115086699B true CN115086699B (zh) | 2023-05-30 |
Family
ID=83250972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210674561.4A Active CN115086699B (zh) | 2022-06-15 | 2022-06-15 | 基于蜂窝网络的uav实时视频传输码率自适应系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240098319A1 (zh) |
CN (1) | CN115086699B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763896A (zh) * | 2016-05-12 | 2016-07-13 | 山东大学 | 一种多用户动态自适应视频码率分配系统 |
CN112367490A (zh) * | 2020-09-11 | 2021-02-12 | 北京邮电大学 | 面向交互视频传输质量提升的混合学习方法、装置及设备 |
-
2022
- 2022-06-15 CN CN202210674561.4A patent/CN115086699B/zh active Active
-
2023
- 2023-06-15 US US18/210,142 patent/US20240098319A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763896A (zh) * | 2016-05-12 | 2016-07-13 | 山东大学 | 一种多用户动态自适应视频码率分配系统 |
CN112367490A (zh) * | 2020-09-11 | 2021-02-12 | 北京邮电大学 | 面向交互视频传输质量提升的混合学习方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115086699A (zh) | 2022-09-20 |
US20240098319A1 (en) | 2024-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9843775B2 (en) | Surveillance video playback method, device, and system | |
CN103647954B (zh) | 基于3g信道与智能终端的移动视频监控系统 | |
CN102571979B (zh) | 多屏互动设备及其绑定方法 | |
CN110121059B (zh) | 监控视频处理方法、装置及存储介质 | |
US20100097473A1 (en) | Device for connecting video cameras to networks and clients | |
US20110317022A1 (en) | Method and apparatus for live capture image-live streaming camera | |
CN106412530A (zh) | 一种物联网视频监控系统及方法 | |
CN106375783A (zh) | 用于在超文本传输协议上的质量知晓自适应流传输的方法 | |
KR101547679B1 (ko) | 품질 통계의 수집 방법 및 품질 통계의 수집의 대응하는 관리 방법 | |
CN103716584A (zh) | 基于上下文感知的智能移动终端现场监测方法 | |
US20100153566A1 (en) | Monitoring requested content | |
CN103024528A (zh) | 在移动终端上实现流媒体数据发送的方法及移动终端 | |
WO2007108638A1 (en) | Platform for personal media broadcaster based on xml and method for setting up ip automatically | |
CN112104918A (zh) | 基于卫星网络的图像传输方法及装置 | |
CN112584194A (zh) | 视频码流的推送方法、装置、计算机设备和存储介质 | |
CN110557686A (zh) | 实现移动终端播放卫星小码率直播节目的系统及方法 | |
CN115086699B (zh) | 基于蜂窝网络的uav实时视频传输码率自适应系统 | |
US8204987B2 (en) | Providing reports of received multimedia programs | |
CN104639979A (zh) | 视频分享方法及系统 | |
US20220263573A1 (en) | Visual Impairment Detector for Free-Space Optical Communication Systems | |
CN105872480A (zh) | 基于手机实时摄像在led屏播放的控制系统及方法 | |
Nguyen et al. | Adaptive home surveillance system using HTTP streaming | |
US20190200070A1 (en) | Streaming methods and systems using tuner buffers | |
CN112423033A (zh) | 一种远程监播平台、系统及方法 | |
CA3042326A1 (en) | Method and system for flow-rate regulation in a content-controlled streaming network |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |