摄像头webrtc对讲方案之metaRTC+ZLMediaKit

这篇具有很好参考价值的文章主要介绍了摄像头webrtc对讲方案之metaRTC+ZLMediaKit。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

网络摄像头可以通过网络远程查看实时视频图像,也可以和浏览器与手机APP等对讲,对讲方案有P2P/SFU/MCU等。metaRTC+ZLMediaKit是一个比较适合的SFU对讲方案。

语音编码

考虑摄像头算力低以及拾音器采样率等因素,G711比OPUS更适合。

  1. metaRTC支持G711A(PCMA)/G711U(PCMU)
  2. metaRTC采用缓存等技术实现G711A/G711U占用CPU算力极低
  3. ZLMediaKit支持G711 webRTC推拉流

视频编码

考虑到市面上摄像头硬编码大多支持H264/H265,视频编码H264/H265是比较适合的选项。

综上所述推荐G711+H264/H265音视频编码。

语音处理

摄像头对讲语音处理是其中非常重要的模块,实现流畅、清晰、稳定的对讲需要多种声音处理模块。

回声消除AEC(Acoustic Echo Chancellor)

AEC会监测扬声器和麦克风拾音器输入之间的回声,并使用算法来抵消回声信号,避免出现回声和延迟以提高语音对讲质量。

YangRtcAec *aec;
//aecLib 1:webrtc aec 0:speexdsp aec 2:内置AEC或其他AEC实现
yang_create_rtcaec(session->aec,aecLib);

aec->echoPlayback(aec->session,pcm); 
aec->echoCapture(aec->session, input, pcm);

自适应增益控制AGC(Automatic Gain Control)

AGC可以自动检测音频信号强度和自动调整输入和输出音频信号的音量,防止音频音量忽大忽小,保证音频采集和播放的稳定性。

YangAgc* agc;
agc->agcProcess(agc->session,pcm);

背景噪音抑制ANS(Automatic Noise Suppression)

ANS可探测出背景固定频率的杂音并消除背景噪音,例如:风扇、空调声等杂音会自动滤除,使声音更清晰。

YangRtcAns* ans;
ans->preprocess_run(ans->session,pcm);

语音动态侦测VAD(Voice Activity Detection)

VAD算法的作用是检测是否是人的语音,可作为其他音频处理的参考。

YangVad* vad;
vad->voiceActivity(vad->session,pcm,frameSize,sampleRate);

舒适噪音生成CNG(Comfort Noise Generation)

CNG是一个在对讲过程中出现短暂静音时用来为对讲产生背景噪声的模块,常用在VAD检测没有人声时处理。

YangCng* cng;
cng->voiceGenerate(cng->session,pcm,frameSize,sampleRate);

视频处理

对讲时受网络影响视频会有花屏绿屏、卡顿等情形发生,花屏绿屏影响尤甚,花屏会被非专业用户误认为是产品质量问题而非网络问题。

视频处理模块非常重要的一项功能是减少或者消除花屏绿屏情形。

音视频流

考虑到ZLMediaKit等SFU只接收单向传输流,对讲需建立推拉两个流。文章来源地址https://www.toymoban.com/news/detail-457097.html

  1. 推流:采集摄像头视频和拾音器(麦克风)音频推流到ZLMediaKit。
  2. 拉流:从ZLMediaKit拉流播放远端视频和声音。

到了这里,关于摄像头webrtc对讲方案之metaRTC+ZLMediaKit的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android-WebRTC-实现摄像头显示

    EglBase是什么? 它提供了一个接口,用于在Android平台上创建和管理EGL(嵌入式系统图形库)上下文,以便在WebRTC中进行图像和视频的处理和渲染。 Capturer, Source, Track, Sink分别是什么? Capturer(采集器)是指用于采集音频或视频数据的设备或软件。它可以是麦克风、摄像头或其

    2024年02月15日
    浏览(53)
  • LiveNVR监控流媒体Onvif/RTSP功能-支持语音对讲支持非国标摄像头SDK语音对讲GB28181级联国标平台非国标转国标语音对讲

    可以访问摄像头自己的页面,看是否能够对讲。可以看摄像头的音频编码页面,看看音频输入有没有mic的 音频输入 。如下: 确认摄像头的视频类型,是否是复合流。 LiveNVR - 通道配置,添加配置通道,通过 SDK类型接入 。音频输出选择 原始音频 ,如下: 播放后,可以看到云

    2024年02月11日
    浏览(78)
  • metaRTC+ZLMediaKit实现webrtc的推拉流

    ZLMediaKit是一个基于C++11的高性能运营级流媒体服务框架,是一个支持webrtc SFU的优秀的流媒体服务器系统。 metaRTC新版本支持whip/whep协议,支持whip/whep协议的ZLMediaKit推拉流。 ZLMediaKit新版本支持whip和whep协议,支持两种API。 metaRTC封装了HTTP API,只需将参数mediaServer设置为zlm即可

    2024年02月07日
    浏览(43)
  • web端调用本地摄像头麦克风+WebRTC腾讯云,实现直播功能

    视频直播技术大全、直播架构、技术原理和实现思路方案整理 视频采集端: 1、视频采集:使用摄像头设备获取实时视频流。 2、视频处理: 对采集到的视频进行处理,可以包括美颜、滤镜、水印等效果的添加。 3、音视频编码压缩: 将处理后的音视频数据进行编码压缩,常

    2024年02月10日
    浏览(50)
  • 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

    目前市面上有很多开源的流媒体服务器解决方案,常见的有SRS、EasyDarwin、ZLMediaKit和Monibuca等。 1、SRS GitHub - ossrs/srs: SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181. 2、EasyDarwin https://github.com/EasyDarwin/EasyDarwin 3、Monibuca Monibuca ·

    2023年04月16日
    浏览(60)
  • 海康摄像头4G内网连接方案

    放在内网中的海康摄像头需要通过4G路由器远程访问,调研了几种方案: 这个是海康特有的方案,其他摄像头是否有类似的方案未知。 在萤石云注册账号,过程略 我注册账号以后,登陆时提示: 当前浏览器版本不支持视频插件,请采用IE浏览器(ie8以上)或者下载萤石工作

    2024年02月10日
    浏览(136)
  • windows驱动开发8:虚拟摄像头方案

    一、摄像头框架 在业务场景中,有许多是需要应用能够通过摄像头的方式来访问相关的音视频数据,比如美颜、摄像头多路复用、IP摄像头接入视频会议等。这些功能通过虚拟摄像头的方式来实现,是一个比较通用的解决方案。那么如何及选用哪种技术方案来开发虚拟摄像头

    2024年02月02日
    浏览(43)
  • Qt推流程序(视频文件/视频流/摄像头/桌面转成流媒体rtmp+hls+webrtc)可在网页和播放器远程观看

    推流直播就是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号从手机端,电脑端,摄影机端打包传到服务器的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验比较糟糕。主流

    2024年02月04日
    浏览(73)
  • 联想电脑thinkpad x13摄像头打不开,史上最全的针对联想电脑摄像头的解决方案

    最近面试,临近面试的前30min,发现摄像头打不开。具体情况如下: 这可没把我吓坏,我可是要露脸的,最后在我的不屑努力下,我选择了手机视频面试,很干。未来的几天都在琢磨这玩意儿了,现在说说常见的解决方案。 现在的电脑,大部分都添加了物理开启摄像头的操作

    2024年02月02日
    浏览(51)
  • Qt推流程序自动生成网页远程查看实时视频流(视频文件/视频流/摄像头/桌面转成流媒体rtmp+hls+webrtc)

    推流程序将视频流推送到流媒体服务器后,此时就等待验证拉流播放,一般可以选择ffplay命令行播放或者vlc等播放器打开播放,也可以选择网页直接打开拉流地址播放,一般主流的浏览器都支持网页直接播放hls/m3u8/webrtc类型的视频流,而且推流的主要目的可能就是为了能够在

    2024年02月05日
    浏览(81)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包