如何快速学习音视频开发?

如何快速学习音视频开发?,第1张

很多开发者都知道音视频开发这个概念,音视频开发不仅需要掌握图像、音频、视频的基础知识,并且还需要掌握如何对它们进行采集、渲染、处理、传输等一系列的开发和应用,因此,音视频开发是一门涉及到很多内容的领域。

什么是网状P2P?假设3个人视频会议,每个人都要同时接收2路流,上传两路流。每个客户端要创建多个(N-1个)PeerConnection ,同时和多个人建立 P2P 连接。

多人P2P跟两人P2P通信的唯一区别就是要创建多个 PeerConnection ,也很简单。

比较复杂的地方其实是聊天室信令的设计与实现,客户端还比较简单。网状P2P服务器压力很小,服务端只有信令不涉及流的处理,客户端压力较大,因为要同时处理多路流。

默认定义一个房间

首先所有用户还是先注册自己到服务端

定义一个加入房间的信令

相应的定义一个离开房间的信令

sdp, trickle 等信令消息的转发不用动,直接根据接收者ID转发就行

3个手机依次安装3个用户,依次加入房间,很简单实现了多人P2P通信。

假设领导要你搞一个10人以内的视频会议,网状P2P其实挺合适,做一个完善一点的房间管理服务,客户端再优化完善一下,一到两周搞定。

人再多的话网状就不太适合了,就得 SFU 或 MCU 了,得架设一个 webrtc 网关了,且听下回分解。

客户端源码参考: >LEC == LECTURE,就是上课。
TUT == TUTORING,就是辅导。
一般的话,LECTURE 是几十或上百人在一个教室听教授讲,而TUTORING是把这一个班的人分成4~8个小组,由某个学长或是Teaching Assistant带领复习一下教授讲的东西。
一节LECTURE都得配上一个 TUT,它一般有很多个时间段,自己选。
选课时间得留意自己的邮箱,或者时不时地登录SISSFUCA看看。每个人的选课时间都不一样。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13507103.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-21
下一篇 2023-08-21

发表评论

登录后才能评论

评论列表(0条)

保存