您当前的位置:首页 > 手机百科 > 5G

5G时代-WebRTC音视频高级开发

时间:2020-07-26 11:25:57  来源:  作者:

目录

1,自定义摄像头分辨率

2,码率限制

3,调整编码器顺序

4,Mesh模型多方通话

5,Janus框架分析

6,Janus Web源码分析

7,Janus Android源码分析

8,基于Janus实现会议系统

自定义摄像头分辨率

一、videocapture类的介绍

1、Class for video capturing from video files, image sequences or cameras.

2、The class provides C++ API for capturing video from cameras or for reading video files and image sequences.

二、参数设置函数 set() 函数的使用

1、代码

//

#include "cartoon.h"

 

int main()

{

VideoCapture capture(0);

if (!capture.isOpened()) { //判断能够打开摄像头

cout<<"can not open the camera"<<endl;

cin.get();

exit(1);

}

 

capture.set(CV_CAP_PROP_FRAME_WIDTH, 640);

capture.set(CV_CAP_PROP_FRAME_HEIGHT, 480);

 

int count=0;

 

while (1) {

Mat frame;

capture>>frame; //载入图像

 

if (frame.empty()) { //判断图像是否载入

cout<<"can not load the frame"<<endl;

} else {

count++;

if (count == 1) {

cout<<frame.cols<<" "<<frame.rows<<endl;

}

 

imshow("camera", frame);

char c=waitKey(30); //延时30毫秒

if (c == 27) //按ESC键退出

break;

}

}

}

//

码率控制算法

码率控制算法根据视频应用要求与目的的不同可分为以下两种,

第一种

是恒定比特率 CBR(constant bitrate)的码率控制算法, CBR 的输入不仅要有视频源, 还要另外设置一个目标比特率。它能够动态地调节量化参数,主要依据是不同视频的内容复杂度差异、网络带宽的不同和解码缓冲区的大小等, 使得在给定的码率限制下, 图像的质量最佳。编码过程中, CBR 的码率围绕着目标码率基本不变。

第二种

是可变比特率 VBR( variable bitrate) 的码率控制算法, VBR 的输入当然也要包括视频源, 此外还要设置量化参数 QP。输出的比特率会在一定范围内变化, 原因有很多, 比如实际视频序列中的图像内容复杂度的差异, 又比如运动的快慢不同等, 所以在传输信道有波动的条件下常常使用 VBR 算法。

调整编码器顺序

一、视频编码格式初始配置

webrtcmediaengineinternalencoderfactory.cc

按照Push顺序,优先选取第一个编解码格式。

二、视频分辨率初始配置

webrtcpcvideocapturertracksource.cc

选取的原则是,在kVideoFormats里面找参数与kDefaultFormat默认值最接近的一组参数,作为本端的编码能力。

三、视频码率默认值

webrtcmediaenginewebrtcvideoengine.cc

EncoderStreamFactory::CreateEncoderStreams

四、默认QP、帧率最大值配置

webrtcmediaenginewebrtcvideoengine.cc

static const int kDefaultQpMax = 56;

const int kDefaultVideoMaxFramerate = 60;

五、使能SRTP

webrtcsrcwebrtcapipeerconnectioninterface.h

disable_encryption = true 取消SRTP

disable_encryption = false 开启SRTP

配置密钥:

bool Conductor::CreatePeerConnection(bool dtls)配置是否生成密钥。

六、生效新的帧率码率流程

在webrtc里面函数实现如下:

->VideoStreamEncoder::EncodeVideoFrame->VideoSender::AddVideoFrame----

在这个函数中读取全局变量encoder_params_,判断是否需要调整视频参数。->VideoSender::SetEncoderParameters

->VCMGenericEncoder::SetEncoderParameters

->H264EncoderImpl::SetRateAllocation---传递新的帧率码率到编码器。

七、H264打包模式

codec.cc VideoCodec::SetDefaultParameters

Janus框架分析

模块结构

本文介绍的Janus版本为0.6.0。

5G时代-WebRTC音视频高级开发

 

上图是Janus主要的模块结构,有一些通用工具模块这里没有列出。

媒体模块

Janus不是简单转发WebRTC的媒体流,还有一定的控制能力,因此需要支持WebRTC的媒体能力,其媒体功能包含以下基本模块:

ICE:打洞,负责与Peer的连通,Janus可以部署在NAT后面,使用了libnice;

DTLS:UDP版的TLS,就是加密的UDP,WebRTC用来传递SRTP的密钥,使用了OpenSSL/BoringSSL;

RTP/RTCP:提供RTP/RTCP封/解包的接口,需要发送一些WebRTC支持的RTCP包,例如FIR、PLI、RR等;

SRTP:加密的RTP,开启后WebRTC传输的RTP负载都是加密的;

SDP:提供SDP封/解包的接口,用于协商媒体的协议,可以用SDP对WebRTC的一些功能进行设定;

SCTP:WebRTC的数据通道使用的协议,就是加上了流控的UDP,可以传输任意数据。

信令模块

除了媒体协议,Janus还要提供信令交互的协议,传统的信令协议有SIP、XMPP等,Janus上的信令应用协议可以定制,底层主要的传输协议有

HTTP(s);

WebSocket(s);

MQTT;

NanoMsg;

RabbitMQ。

其中WebSocket使用了libwebsockets,HTTP使用了libmicrohttpd。

Janus Web源码分析

5G时代-WebRTC音视频高级开发

 

总结;需要资料的可以关注+私信‘资料’可以送大家 一起学习

对于自然界中的音频信号,如果转换成数字信号,进行音频编码,那么只能无限接近,不可能百分百还原。所以说实际上任何信号转换成数字信号都会“有损”。但是在计算机应用中,能够达到最高保真水平的就是PCM编码。因此,PCM约定俗成了无损编码。我们而习惯性的把MP3列入有损音频编码范畴,是相对PCM编码的。强调编码的相对性的有损和无损

5G时代-WebRTC音视频高级开发

 



Tags:5G   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
IT之家 12 月 23 日消息,百度地图今日宣布,第二代车道级导航正式上线。据介绍,百度地图第二代车道借助北斗 + 5G,在实现全程车道级导航效果的基础上,全面升级最优车道推荐、全 /...【详细内容】
2021-12-24  Tags: 5G  点击:(10)  评论:(0)  加入收藏
2021年12月6日至17日,3GPP召开RAN#94-e次会议,完成了5G-Advanced第一个版本Rel-18标准的首批项目立项。日前,3GPP RAN4首席代表、中国移动研究院无线与终端技术研究所主任研究...【详细内容】
2021-12-21  Tags: 5G  点击:(6)  评论:(0)  加入收藏
前言网盘大多数人都知道,不过NAS认识的人不多,尤其是对于普通大众,NAS的门槛还是有些偏高,不够无脑,所以不少轻NAS登场,面向的就是普通消费者,放个硬盘,手机设置一下,就可以实现照片...【详细内容】
2021-12-14  Tags: 5G  点击:(6)  评论:(0)  加入收藏
在今天上午召开的 AWS re:Invent 会议上,亚马逊宣布以预览版的形式推出“AWS Private 5G”。这项新服务皆在使部署和管理自己的私人网络变得容易,解决企业在利用 5G 方面面临...【详细内容】
2021-12-01  Tags: 5G  点击:(21)  评论:(0)  加入收藏
中国为什么要把新能源汽车列为国家战略,很大一个原因是因为在传统车领域我们已经无法超越国外车企,毕竟国外车企已经发展了100多年,而我们的汽车工业起步很晚。汽车这个东西不...【详细内容】
2021-10-25  Tags: 5G  点击:(173)  评论:(0)  加入收藏
我们平时使用的无线网络也就是WIFI会出现两个名称,一个是普通的WIFI名称,一个是在WIFI名称后面加个5G,普通的WIFI就是2.4G的,在路由设置可以看到,那2.4G与5G到底有什么区别,今天...【详细内容】
2021-10-25  Tags: 5G  点击:(175)  评论:(0)  加入收藏
鸿蒙系统是支持5g网络的,开启5g网络之后我们可以享受到更优质的网速以及上网体验。那鸿蒙系统具体该怎么启用5g教程呢?不清楚的朋友就跟着小编一起看看吧!鸿蒙系统启用5g网络教...【详细内容】
2021-10-21  Tags: 5G  点击:(287)  评论:(0)  加入收藏
边缘计算是什么?近年来,物联网设备数量呈线性增长趋势。根据艾瑞测算, 2020年,中国物联网设备的数量达74亿,预计2025年突破150亿个。同时,设备本身也变得越来越智能化,AI与互联网在...【详细内容】
2021-09-22  Tags: 5G  点击:(54)  评论:(0)  加入收藏
更新到了最新的鸿蒙,没有卡和发烫的问题,但下拉没有了5G开关,好像也不好添加,只有到设置移动数据里开关了!因为有时候手机卡壳时关了5G速度反而会快点,转换没有以前方便了! ...【详细内容】
2021-09-01  Tags: 5G  点击:(1052)  评论:(0)  加入收藏
网络切片Network Slice在5G系统中,网络将被进一步抽象为“网络切片”&mdash;Network Slice:这种连接服务是通过许多定制软件实现的功能定义。这些软件功能包括地理覆盖区域、...【详细内容】
2021-08-17  Tags: 5G  点击:(906)  评论:(0)  加入收藏
▌简易百科推荐
2021年12月6日至17日,3GPP召开RAN#94-e次会议,完成了5G-Advanced第一个版本Rel-18标准的首批项目立项。日前,3GPP RAN4首席代表、中国移动研究院无线与终端技术研究所主任研究...【详细内容】
2021-12-21    C114通信网  Tags:5G   点击:(6)  评论:(0)  加入收藏
网络切片Network Slice在5G系统中,网络将被进一步抽象为“网络切片”&mdash;Network Slice:这种连接服务是通过许多定制软件实现的功能定义。这些软件功能包括地理覆盖区域、...【详细内容】
2021-08-17  开元5G网络    Tags:5G   点击:(906)  评论:(0)  加入收藏
科研人员足不出户就能看到试验现场?操作人员远程可以精准操控工业设备?无人机和机器人替代安保人员保障安全?听起来是不是像科幻电影中的情节?但这些,都将是5G与工业互联网碰撞出...【详细内容】
2021-07-28    人民网  Tags:5G   点击:(101)  评论:(0)  加入收藏
目前,5G 技术已经开始商用,也有越来越多的朋友使用上了 5G 手机,或许有些朋友还有些疑惑,5G 是什么,与之前的 4G 有什么区别,为什么要用 5G。本文想通过自己对 5G 的了解,尝试为大...【详细内容】
2021-07-05  Mumu爱好学习    Tags:5G 技术   点击:(63)  评论:(0)  加入收藏
随着移动通信行业的迅猛发展,目前5G已经成为全球关注的超级热门话题,与2G、3G、4G相比,未来光纤通信行业5G地位不容小觑,在5G网络时代,不管什么样的5G承载方案都离不开5G通信光模...【详细内容】
2021-05-27  飞速FS    Tags:5G通信光模块   点击:(101)  评论:(0)  加入收藏
最新出版的权威期刊《电信科学》发表了题为《通信人工智能的下一个十年》的刊首文章,给人们展示了完全不同的5G通信——未来的通信网络是可以高度自治的。就像自动驾驶的汽车,通过与人工智能的深度融合,实现“三自”,即参...【详细内容】
2021-04-20  张佳星  科技日报  Tags:5G   点击:(132)  评论:(0)  加入收藏
很多人都知道5G网速快,一部超高清电影只需要几十秒就可以下载好,用测速软件跑一跑,发现5G的下载速度是4G的10倍&hellip;&hellip;在惊呼5G比4G快很多的同时,我们也不能忽视5G“低...【详细内容】
2021-04-16    环球网  Tags:网络延迟   点击:(163)  评论:(0)  加入收藏
移动通信系统从第一代移动通信系统(1G)开始逐渐发展,目前已经发展到第四代移动通信系统(4G),第五代移动通信系统(5G)也已经开始标准化,预计2020年商用。  本文分别总结2G、3G、4G和...【详细内容】
2021-01-26      Tags:基站   点击:(486)  评论:(0)  加入收藏
船、卫星等一切无线通讯设备,都得靠电磁波传送信息。手机把信号码进电磁波里,发给基站,基站再通过网络发给另一部手机。信息就被读出来了。 为避免干扰和冲突,人们按频率给电磁...【详细内容】
2021-01-25      Tags:5G   点击:(208)  评论:(0)  加入收藏
随着高速通信标准“5G”的登场和远程办公的普及,全球的通信量持续增长,2020年代之内光纤(optical fiber)通信网陷入容量不足的风险已经出现。此前通过改进现有光纤或增加缆线数...【详细内容】
2021-01-12      Tags:5G   点击:(178)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条