本地媒体111

1.1 媒体流 媒体使用Mediastream 接口来管理,通常获取媒体流的方式有如下几种:*)从摄像头或者话筒获取对象流*)从屏幕共享获取流对象*)从 canvas(HTMLCavasElment)内容中获取流对象*)从媒体元素(HTMLMediaElment)中获取流对象MediaStream 的定义: interface Mediastream:EventTarget { constructor(); con...
分类: 其他 发布时间: 11-21 08:23 阅读次数: 0

webrtc 传输技术

Webrtc 基础传输技术架构: 媒体流的传输到对等端,涉及到媒体信息协商、网络建连协商、网络传输技术。 RTP(Real-time Transport Protocol)通过IP网络实时传输音频和视频。遵循RFC3550。 大多数RTP应用都是基于UDP构建的,并额外提供抖动补偿,包丢失检测和无序传递检测功能。RTP也支持TCP,但应用的少,因为TCP更注重可靠性而不是实时性。 RTP主要特点: ...
分类: 其他 发布时间: 11-21 08:23 阅读次数: 0

Webrtc 连接管理

webrtc 对实时传输和编解码技术进行了封装及优化,在浏览器中内置对RTP的支持。优化的内容具体包括如下几项: *)丢包隐藏 *)回声消除 *)带宽自适应 *)动态抖动缓冲 *)自动增益控制 *)降噪抑制 *)画质优化 Webrtc 的建立连接的过程: ICE 建立...
分类: 其他 发布时间: 11-21 08:22 阅读次数: 0

音视频同步

1)正常可以接受的范围:-100ms 到 100ms ,严格要求 -50ms 到100ms。音视频同步的方式: *)以音频为基准 *)以视频为基准 *)以外部时钟为基准主流以音频为基准,
分类: 其他 发布时间: 11-21 08:22 阅读次数: 0

Spring Boot starter 和 YAML

springboot 项目创建 请参考:springboot 项目创建_abc1231987的专栏-CSDN博客Spring Boot 的特点Spring Boot 具有以下特点:1. 独立运行的 Spring 项目Spring Boot 可以以 jar 包的形式独立运行,Spring Boot 项目只需通过命令“java–jar xx.jar” 即可运行。2. 内嵌 Servlet 容器Spring Boot 使用嵌入式的 Servlet 容器(例如 Tomcat、Jetty ..
分类: 其他 发布时间: 11-21 08:22 阅读次数: 0

Docker 的安装使用

Release 1.25.0-rc4 · docker/compose · GitHub
分类: 其他 发布时间: 11-21 08:22 阅读次数: 0

janus 博客参考

Webrtc音视频会议之Janus源码架构设计 | 码农家园Janus Reference Documentation流媒体服务器——Licode Janus-gateway Mediasoup Medooze 分析_CSDN的博客-CSDN博客
分类: 其他 发布时间: 11-21 08:21 阅读次数: 0

webrtc 的名词

RTC Real-Time Communication实时通信 SDP Session Description Protocol 会话描述协议 ICE Interactive Connectivity Establishment 交互式连接建⽴ JSEP JavaScript Session Establishment Protocol js会话建⽴协议...
分类: 其他 发布时间: 11-21 08:21 阅读次数: 0

拥塞控制和带宽策略

estimator设计了⼀套基于延迟和丢包反馈的拥塞机制(Google Congestion Control,简称GCC)和带宽调节策略来保证延迟、质量和⽹路速度之间平衡。图 1 拥塞控制循环示意图estimator(评估者)通过RTCP的feedback反馈过来的包到达延迟增量和丢包率信息计算出⽹络拥塞状态并评估出适合当前⽹络传输的码率,根据这个码率改变视频编码器码率,然后改变pacer的码率。 pacer(定速器)会根据这个码率改变pacer的⽹络发送速度和padding⽐例,并⽤新的⽹
分类: 其他 发布时间: 11-21 08:21 阅读次数: 0

webrtc Native 开发实践

参考地址:源码地址:​​https://github.com/hackwebrtc/webrtcWEBRTC Native App 使用最多的SDK就是Google WebRTC,现在也有一些其他的开源版本:源码地址:​​https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c纯Go 语言实现的:GitHub - pion/webrtc: Pure Go implementation of the WebR.
分类: 其他 发布时间: 11-21 08:21 阅读次数: 0

centos 安装 janus

参考 :GitHub - meetecho/janus-gateway: Janus WebRTC Server1、执行依赖:yum install libmicrohttpd-devel jansson-devel \ openssl-devel libsrtp-devel sofia-sip-devel glib2-devel \ opus-devel libogg-devel libcurl-devel pkgconfig gengetopt \ libconfig-deve...
分类: 其他 发布时间: 11-21 08:20 阅读次数: 0

Linux 下的操作命令:

1、在命令模式下清除Vi/Vim中的所有行或文本:1,$d
分类: 其他 发布时间: 11-21 08:20 阅读次数: 0

windows下VS2019编译webrtc

1、阿里云上购买一台windows 云主机服务器。获取webrtc 源码1、下载源码git clone https://chromium.googlesource.com/chromium/tools/depot_tools.gitmkdir webrtc_checkoutfetch --nohooks webrtcexport PATH=$PATH:/c/Users/Administrator/Desktop/webrtc/depot_tools2、同步源码:set DEPOT_T
分类: 其他 发布时间: 11-21 08:20 阅读次数: 0

Webrtc Windows 端初始化

1)peerconnection_client 的 main.cc文件:2)PC factory 的代码在 examples/peerconnection/client/conductor.cc中的Conductor::InitializePeerConnection 函数中,这个函数会在Demo 中首页peer 列表元素被双击或收到其他的peer的呼叫信息后被调用。3)windows 端创建PC....
分类: 其他 发布时间: 11-21 08:20 阅读次数: 0

webrtc 的线程模型

webrtc 的PC Factory 拥有3个线程: 1)signaling_thread_ :所有PCFactory 和PC 的对外接口,都会切换到signaling_thread_ 执行,而PC Observer 所有的回调函数也都在signaling_thread_ 执行。2) network_thread_:和网络有关的操作都在 network_thread_执行,比如收发数据包、绑定网络端口等。3) w...
分类: 其他 发布时间: 11-21 08:19 阅读次数: 0

webrtc 视频数据流程概览

视频数据由VideoCapture 采集后交给VideoSource,VideoSource 通过VideoBroadcaster成员,把数据发送给每个VideoSink(VideoEncoder和LoacalPreview)。VideoEncoder把视频数据编码之后交给网络层进行发送,LoacalPreview把视频数据渲染到屏幕上。 从网络层收到视频数据后,先交给VideoEncoderLoacalPreview进行解码,解码之后交给VideoBroadcaster...
分类: 其他 发布时间: 11-21 08:19 阅读次数: 0

webrtc Windows 程序处理流程

wndows程序程序是由消息驱动的,它的核心是注册窗口类API RegisterClass 中指定的 WinProc 函数。WinProc是Windows消息处理中心,所有的消息都要交由它来处理。然后对一个最简单的 Windows程序做了剖析,通过 6 大步可以创建出一个最简单的 Windows程序。 1)设置入口点,WinMain。 2)创建 WinProc 函数。 3)注册窗口类。 4)创建窗口。 5)显示窗口。...
分类: 其他 发布时间: 11-21 08:19 阅读次数: 0

webrtc 二次开发参考

webrtc demo编译笔记 - 尚码园webrtc 编译 · 音视频/C++/k8s/Docker等等 学习笔记 · 看云
分类: 其他 发布时间: 11-21 08:18 阅读次数: 0

webrtc 交互过程

图一: ICE建立连接的过程 用户A 向用户B发起WEBRTC呼叫时,A首先创建自己的会话描述信息(SDP),之后通过信令服务器发送给B。同时B同样创建自己的会话信息,应答发给A。这个过程由ICE控制。现在A和B都拥有了自己的会话描述信息,接下来就可以传输媒体数据了。...
分类: 其他 发布时间: 11-21 08:18 阅读次数: 0

epoll 的边缘触发与水平触发

水平触发对于读操作:只要缓冲内容不为空,LT模式返回读就绪。 对于写操作:只要缓冲区还不满,LT模式会返回写就绪。#include #include #include int main(){ int epfd, nfds; char buf[256]; struct epoll_event event, events[5]; epfd = epoll_create(1); event.data.fd = STDIN_FILENO;
分类: 其他 发布时间: 11-21 08:18 阅读次数: 0