当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于WebRTC的模拟网络中视频传输方法技术

技术编号:33245378 阅读:24 留言:0更新日期:2022-04-27 17:55
本发明专利技术提供了一种基于WebRTC的模拟网络中视频传输方法,其步骤如下:(1)将视频帧大小转换成数据包形式;(2)根据网络带宽trace集计算网络吞吐量;(3)模拟数据包在网络环境中的接收和丢失;(4)模拟WebRTC的Nack机制,将需要重新发送的数据包打上Nack标记;(5)处理关键帧;(6)更新数据包序列,为下一次请求数据包做准备;(7)计算传输层和编解码层状态参数;(8)重复(1)

【技术实现步骤摘要】
一种基于WebRTC的模拟网络中视频传输方法


[0001]本专利技术涉及视频通信的
,具体涉及一种基于WebRTC的模拟网络中视频传输方法。

技术介绍

[0002]自从全球性的新冠肺炎疫情爆发以来,网络视频的需求量快速增加,出现了越来越多的实时音视频传输(Real Time Communications for Video,RTCV)场景,例如视频通话、屏幕共享、远程桌面访问、云游戏等。但是当下的网络带宽常常有限且存在动态变化,实时视频传输过程中难免会因为网络带宽的限制造成丢包、卡顿的现象,最终导致用户的体验质量(Quality of Experience,QoE)下降。
[0003]在有限的资源下让用户得到更好的观看体验,一直是视频传输方面的热点问题。通常,人们会在客户端做码率的选择,比如自适应比特率(Adaptive bitrate,ABR)模型,就是通过吞吐量预测、缓冲区、综合利用带宽预测以及缓存信息等方法,使得用户所播放的视频块码率尽可能匹配当前网络带宽,从而提升用户的体验质量。或者是在视频的发送端,通过视频编码环节中利用码率控制(Rate Control,RC)技术,直接影响视频后续传输的数据大小,以此获得更好的视频效果。当然,几年来也出现了诸如Pensieve、Oboe等基于神经网络的算法用于进行码率的决策,这些不同方法都在一定程度上取得了不错的表现。
[0004]但无论是什么样的方法,在检验、测试方法有效性的同时,都需要进行大量的网络视频传输实验,特别是结合神经网络进行训练的方法更是如此,大量的数据不仅有利于模型的训练与测试,也是验证模型有效性的一种有效形式。WebRTC(Web Real

Time Communication,网页即时通信)作为万维网联盟的推荐标准,通过使用简单的API为浏览器和移动应用程序提供了实时通信的功能。它有着延迟低、传输速度快,可以应用在实时性要求高的场景等诸多优势。但假如是在真实环境中搭建一个基于WebRTC的网络视频传输模型,不仅需要接收端、发送端两台设备,还需要对传输层和编解码层重要的状态参数进行准确、及时地记录,这无疑大大增加了实验的成本,同时真实环境下的实验无疑是需要花费大量时间的,这对于实验的进行是十分不利的。

技术实现思路

[0005]针对在真实环境中进行大量网络视频传输实验的高成本,本专利技术的目的在于提供一种基于WebRTC的模拟网络中视频传输方法,可以在本地快速模拟视频在网络中传输的过程,同时输出重要的传输层和编解码层状态参数,大大减少了实验所需要的时间。
[0006]为达上述目的,本专利技术采用的技术方案如下:
[0007]一种基于WebRTC的模拟网络中视频传输方法,包括如下步骤:
[0008](1)将视频帧转换成数据包形式:模拟视频在网络环境中以数据包传输的形式,同时考虑音频数据和数据包包头的数据量;
[0009](2)计算网络吞吐量:通过网络带宽trace集计算实时的网络吞吐量;
[0010](3)模拟传输过程:将需要发送的数据包与步骤(2)计算的网络吞吐量相比较,模拟出接收和丢失数据包的情况,同时记录相应的时间戳,用于计算延迟时间;
[0011](4)标记Nack包:模拟WebRTC的Nack机制,对于没有接收到的数据包,接收端会向发送端请求重新发送;
[0012](5)处理关键帧:为了保证视频内容的时效性,当出现一个新的关键帧,选择不再接收之前的视频包;
[0013](6)更新包序列:当一次传输完成后,对于长时间未接收、多次发送仍未接收的数据包进行筛选,为下一次请求数据包做准备;
[0014](7)计算传输层和编解码层状态参数:根据步骤(1)

(6)中产生并记录的数据计算传输层和编解码层状态参数,用于描述视频在当前网络中的传输情况;
[0015](8)重复步骤(1)

(7),直到完成一个计算周期,输出网络状态。
[0016]进一步地,所述步骤(1)中,使用视频帧大小trace集将视频帧的大小转换为统一的数据包个数。
[0017]进一步地,所述步骤(7)中,传输层和编解码层状态参数包括平均往返时间、丢包率、接收码率、丢包数量、视频码率、接收缓冲区占用和卡顿帧率占比。
[0018]进一步地,所述步骤(8)中,网络状态的输出可以达到1秒钟一次输出。
[0019]本专利技术的方法通过模拟视频在网络中传输的方式,与搭建真实环境相比,大大节约了时间成本,十分有利于基于大量数据的码率决策算法来进行训练和测试。同时,本专利技术仅需要网络带宽数据集和视频帧大小数据集就可以进行模拟传输,大大降低了数据量的规模,提供了便捷的启动方式。不仅如此,本专利技术可以快速输出视频传输过程中重要的传输层和编解码层参数,有利于对于网络环境进行进一步的分析。
附图说明
[0020]图1是本专利技术实施例中模拟真实环境的系统示意图;
[0021]图2是本专利技术方法的计算流程图;
[0022]图3是本专利技术的网络带宽计算示意图;
[0023]图4是本专利技术的视频帧状态记录示意图,(a)发送端;(b)传输中;(c)接收端。
[0024]图5是本专利技术的接收缓冲区和播放缓冲区的处理过程示意图。
具体实施方式
[0025]本实施例首先搭建一个模拟真实环境的系统,如图1所示。输入数据是网络带宽trace集和视频帧大小trace集,网络带宽trace集以时间帧

带宽大小记录网络的带宽变化情况,视频帧大小trace集记录每一帧视频的大小情况。输出的结果为平均往返时间(avgRttMs)、丢包率(Packet_loss_rate)、接收码率(Received_bit_rate)、丢包数量(Total_nack_sent_count)、视频码率(Video_bitrate)、接收缓冲区占用(Buffer_size)和卡顿帧率占比(Stalling_ratio)7个反映网络状态和播放器状态的参数。实时音视频传输要求视频帧按一定速率持续发送,以保证可以在接收端播放低延迟的视频,所以本专利技术以视频帧的更新作为最小时间单位,在此基础上模拟视频在网络中的传输情况。
[0026]本实施例模拟网络中视频传输的流程图如图2所示。首先,通过网络带宽trace集
和视频帧大小trace集代替真实的网络环境和视频文件,从而达到降低实验成本、简化环境的作用;接着,仿照视频在网络中以数据包传输的形式,在模拟环境中进行接收或者丢弃数据包的情景模拟;同时,参考WebRTC的Nack(Negative Acknowledgement)机制,模拟接收端向发送端请求重传、关键帧请求、重传次数上限等一系列的行为;最后,将模拟过程中的参数进行记录、整理,输出相关的传输层和编解码层状态参数,用于描述视频在当前网络中的传输情况。其具体工作流程如下:
[0027](1)将视频帧转换成数据包形式
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于WebRTC的模拟网络中视频传输方法,其特征在于,包括如下步骤:(1)将视频帧转换成数据包形式:模拟视频在网络环境中以数据包传输的形式,同时考虑音频数据和数据包包头的数据量;(2)计算网络吞吐量:通过网络带宽trace集计算实时的网络吞吐量;(3)模拟传输过程:将需要发送的数据包与步骤(2)计算的网络吞吐量相比较,模拟出接收和丢失数据包的情况,同时记录相应的时间戳,用于计算延迟时间;(4)标记Nack包:模拟WebRTC的Nack机制,对于没有接收到的数据包,接收端会向发送端请求重新发送;(5)处理关键帧:为了保证视频内容的时效性,当出现一个新的关键帧,选择不再接收之前的视频包;(6)更新包序列:当一次传输完成后,对于长时间未接收、多次发送仍未接收的数据包进行筛选,为下一次请求数据包做准备;(7)计算传输层和编解码层状态参数:根...

【专利技术属性】
技术研发人员:曹春潼冯小星陈浩张子丞马展
申请(专利权)人:南京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1