![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
webRTC
文章平均质量分 87
FlyerGo
一个渴望蜕变的码农
展开
-
WebRTC之端对端通话
前言在前面《WebRTC之服务器搭建》 我们已经搭建好了WebRTC所需的服务器环境,主要是三个服务器:房间服务器、信令服务器以及TURN穿透服务器。下面我们就使用搭建好的服务器来使用WebRTC实现Android端的1对1实时通话。WebRTC通信流程通过上图可以看出WebRTC的通信流程还是很繁琐的,总结下来主要是三大步骤:信令服务注册、SDP协商以及ICE交换三大过程。下文的解析主要是针对该图的解析。信令服务注册:在整个 WebRTC 双方交互的过程中,其业务逻辑的核心是信令, 所有原创 2021-07-23 16:15:31 · 1379 阅读 · 7 评论 -
WebRTC之摄像头预览
在前面《WebRTC之服务器搭建》 我们已经搭建好了WebRTC所需的服务器环境,主要是三个服务器:房间服务器、信令服务器以及TURN穿透服务器。后续我们将学习如何使用WebRTC一步一步实现音视频通话。今天我们将学习如何使用WebRTC预览摄像头数据。这里透个底,后面的学习过程中大部分的实践都是基于WebRTC的官方封装库,因此绝大部分的代码都是Java或者Kotlin,暂时不会涉及到JNI的相关代码,所以门槛还是非常低的。Good good study,day day up. So easy…原创 2021-07-02 09:14:46 · 875 阅读 · 3 评论 -
WebRTC之服务器搭建
前言在前面的WebRTC介绍中我们已经介绍了WebRTC的编译以及成功地把WebRTC在Android Studio中运行了起来,详情请猛击<WebRTC之Android编译>《WebRTC导入Android Studio》在后面的学习过程中,我们将进一步使用WebRTC实现Android端的实时通信对话。为了方便后续的开发和测试,今天我们来搭建WebRTC的服务器环境。安装环境笔者使用的云服务器是Ubuntu 16.04。注意尽量使用与笔者相同版本的系统,不然可能因为安装的各种环境原创 2021-06-19 09:04:53 · 2863 阅读 · 2 评论 -
WebRTC导入Android Studio
在《WebRTC之Android编译》一文中我们已经成功编译了Android版WebRTC,并且通过分析对比拿到了对应的jar包和so库。在WebRTC的src/example目录下有很多的关于WebRTC的demo,那么如何将这些demo导入到Android Studio中进行分析呢?本文来为你揭晓…同样我们参照官方的教程试下:https://webrtc.github.io/webrtc-org/native-code/android/注意,以下命令都是在WebRTC源码目录的src目录下执行原创 2021-05-11 09:52:52 · 814 阅读 · 3 评论 -
WebRTC之Android编译
前言在前面关于WebRTC的相关学习笔记中,笔者记录的多是一些理论相关的知识,比如各种协议之类的。虽说有纸上谈兵、空中阁楼的嫌疑,但笔者觉得更多的是磨刀不误砍菜工,有了部分理论的支撑,才能使我们在后面的实践中走得更远。今天就来点实际点的实践,我们尝试下编译Android版的WebRTC…本文的内容主要来源于官网WebRTC Android Native编译教程 https://webrtc.github.io/webrtc-org/native-code/android/编译环境为了一次性编译成原创 2021-04-29 09:04:11 · 1357 阅读 · 0 评论 -
RTSP、RTP、RTCP协议简介
什么是RTSPRTSP(Real Time Streaming Protocol)是早期常用的流媒体协议,它用来建立客户端与服务器之间的会话,客户端发布播放暂停等命令,协议由RealNetworks、Netscape和哥伦比亚大学合作开发,并由IETF标准化(即RFC2326,此外尚有RFC7826发布的RTSP2.0协议)。RTSP协议的默认端口是554,RTSP与HTTP与相比,HTTP请求由客户机发出,服务器作出响应,但是RTSP客户机和服务器都可以发出请求,即RTSP可以是双向的。RTSP是原创 2021-04-23 09:25:06 · 957 阅读 · 0 评论 -
WebRTC之SDP协议
什么是SDPSDP(Session Description Protocol) 是一种会话描述协议,基于文本,其本身并不属于传输协议,需要依赖其它的传输协议(比如 SIP 和 HTTP)来交换必要的媒体信息,用于两个会话实体之间的媒体协商。下面这个链接展示了一个完整的SDP例子:[一个不错的 WebRTC 的 SDP 例子分析https://webrtchacks.com/sdp-anatomy/](https://webrtchacks.com/sdp-anatomy/)为什么需要SDP会话.原创 2021-04-09 09:48:40 · 388 阅读 · 0 评论 -
WebRTC之STUN与TURN以及ICE
在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet。很多时候,我们希望处于不同内部网络中的两台主机能够直接进行通信,即所谓的P2P通信,避免通过其他公共服务器的中转的方式来降低实时通信的延迟。由于主机可能位于防火墙或NAT之后,在进行P2P通信之前,我们需要进行检测以确认它们之间能否进行P2P通信以及如何通信。这种技术通常称为NAT穿透(NAT Traversal),而更多关于NAT的介绍我们在《WebRTC之NAT穿墙》已经做了简单原创 2021-03-23 09:16:16 · 685 阅读 · 0 评论 -
WebRTC之NAT穿墙
我们知道使用WebRTC进行端对端进行通话时,最便捷的方式就是通话的双方通过ip直连,摆脱原始的直播服务器中转的方式。但是在现实的应用场景中,我们的客户端都是出于各大局域网内部的,比如局域网A中的192.168.2.231和局域网B中的192.168.2.162之间是不能直接连接通讯的,那么我们能不能通过某种方式让这两个处于不同局域网内的ip能够直连互相进行通讯呢?这是这NAT穿墙打洞就出场了。NAT是什么NAT(Network Address Translation),网络地址转换协议。NAT是19原创 2020-11-22 13:49:00 · 1535 阅读 · 1 评论