# p2p-client **Repository Path**: imapleee/p2p-client ## Basic Information - **Project Name**: p2p-client - **Description**: android p2p client - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-07 - **Last Updated**: 2024-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README nodejs 作为 socket server camera 作为推流端 app 作为拉流端 STUN TURN 一. Peer-to-Peer app 通过 socket 通知 camera 开始推流 camera 收到消息后创建 Offer SDP,将SDP保存到本地后 发送 offer 给 信令服务器 信令服务器将 Offer SDP 转发给 app端 app端根据 Offer SDP 创建 Answer SDP,将SDP保存到本地后 发送 answer 给 信令服务器 信令服务器将 Answer SDP 转发给 camera端 camera端根据 Answer SDP 设置 setRemoteDescription app端回调 onIceCandidate 通过信令服务器交换 ICE 候选 camera端根据candidate创建 IceCandidate 添加到 PeerConnection 中 app端回调 onTrack 返回 VideoTrack 将 VideoTrack 设置到 SurfaceViewRenderer 完成拉流播放 二. Peer-to-SFU SFU解决流的转发和管理, SRS是SFU的一种实现方案 搭建SRS流媒体服务器 整体流程:camera 端向SRS发起 SDP和ICE交换,建立连接成功后 推流给SRS 多个拉流端向SRS发起 SDP和ICE交换,建立连接成功后 拉流播放