p2p视频通话和p2p语音对讲的实现

小灰灰 2024-03-25 20:44 184阅读 0赞

qq视频聊天和语音聊天功能是我们日常生活中经常使用到的功能。如果我们要实现手机与智能摄像头, 可视门铃, 可视猫眼等智能家居的视频对讲功能,如果以前没有接触过这些方面,难度和复杂度都不小。

需要在以下方面有知识沉淀和深入研究:

1、首先要解决p2p视频传输的问题:视频对讲流量大,通过服务器中转的话,既浪费服务器昂贵的宽带资源,视频延时长也严重影响用户体验。通过p2p打洞,手机直接连接智能设备,可减少视频延时又节省服务器宽带资源。

2、视频推流、拉流、编解码;音频编解码。

3、手机APP实时视频显示。

4、手机声音采集、声音澡音处理,回声处理。

网络上能够找到的库非常少,webrtc算是比较全面的解决方案,但是它却非常复杂,编译后的库也很大,不适合在嵌入式智能家居设备上使用。下面将详细描述如何解决以上各方面的难点。

首先看看实现后的效果图:

d880cd01877249d4ba1fa1d2219f40cc.png

fbd1066f1f304520912dadfaecdc647c.png

  1. p2p视频传输这块,我们使用深圳市好游科技有限公司开发的p2p sdk,接口非常简单,穿透能力强,双对称型 NAT也能打洞成功。编译后的库也非常小,linux不到500kb,windows下不到200kb.

  2. 音视频推流、拉流、编解码;我们使用好游科技实现的多媒体库liveMedia,视频方面用H264、音频方面用的是aac。在设备端和手机端都接入此库。手机app上查看设备时,首先拉取了设备上的视频流,音频流虽然开了,但是默认是静音的,没有传输音频数据。用户可以在APP上单独开启声音,此后音频数据才会开始传输。当用户点通话按扭时,开启手机上的rtsp库,并开始录音。此后设备端开始从手机上拉取视频流和音频流。

  3. 手机视频显示方面,我们用unity3D+NGUI开发,创建了一个纹理UITexture来显示。通过GLES把每帧的视频绘制到纹理上。也可以对此纹理做各种后期处理。

4、采集方面ios使用的是 Aduio Unit,安卓方面使用的是AudioRecord

5、音频噪声处理和回声处理上,ios方面使用的是 api自带的效果就已经比较好了。设备端使用的是webrtc里面的声音处理模块。

后面再详细介绍每个模块的主要代码,有疑问的朋友可联系QQ: 390090739 由于代码较复杂,代码量也巨大,只能挑重点讲解每个部份的内容。

发表评论

表情:
评论列表 (有 0 条评论,184人围观)

还没有评论,来说两句吧...

相关阅读

    相关 p2p视频通话p2p语音实现

    qq视频聊天和语音聊天功能是我们日常生活中经常使用到的功能。如果我们要实现手机与智能摄像头, 可视门铃, 可视猫眼等智能家居的视频对讲功能,如果以前没有接触过这些方面,难度和复

    相关 p2p传输实时视频

    HYP2P是好游科技开发的p2p sdk,利用nat穿透的原理实现p2p打洞,主要用于实时音视频的传输。使用时可以配置成tcp模式或udp模式,tcp模式会自动帮您解决丢包、乱

    相关 P2P技术基础

     导读:   摘 要:分析了P2P基本概念及其基本工作原理,探讨了用JAVA实现p2p网络通信的技术,并用一个实例作了进一步阐述。   关键词:P2P,C/S,J

    相关 P2P原理

    简介   前面文章在分布式计算泛型中介绍过P2P泛型,他是一种是一种无中心服务器的对等网络泛型。P2P即Peer-to-Peer的缩写,翻译为点对点或者端对端,就是我们常

    相关 P2P技术介绍

    > 看到的一篇对P2P技术的介绍 1. 什么是对等网络(P2P)技术? P2P技术属于覆盖层网络的范畴,是相对于客户机/服务器(C/S)模式来说的一种网络信息交换方式。

    相关 P2P介绍

    [为什么80%的码农都做不了架构师?>>> ][80_] ![hot3.png][] 1,什么是P2P 对等网络(P2P)被美国《财富》杂志称为改变因特网发展的四大新技术之

    相关 P2P协议简介

    最近因为有些需要业务大文件分发,传统文件分发策略都是中心化,要么是推送,要么是拉取,中心节点很容易成为瓶颈,而P2P的点对点,去中心化能很好的解决这个问题。 P2P协议