- 博客(255)
- 收藏
- 关注
原创 WebRTC的ICE之TURN协议的交互流程中继转发Relay媒体数据的turnserver的测试
TURN协议:文档RFC5766文档中TURN协议工作原理图Peer A| /| || || | || || | |+-+| | || | || | |WebRTC中走中继Relay 调用流程图WebRTC源码分析地址:https://github.com/chensongpoixs/cwebrtc。
2025-03-29 04:49:39
1083
原创 WebRTC中音视频服务质量QoS之FEC+NACK调用流程
WebRTC中FEC分为两个模块1. FlexfecSender类负责对发送包前向纠错发送2. FecControllerDefault类评估出现FEC的保护比率调用流程图下面是类关系图WebRTC源码分析地址:https://github.com/chensongpoixs/cwebrtc。
2025-03-27 00:22:51
995
原创 WebRTC中音视频服务质量QoS之RTT衡量网络往返时延的加权平均RTT计算机制详解
WebRTC 提供 两种 RTT 计算模式,适应不同传输场景DLSR 表示自接收端最后一次收到发送端 Sender Report (SR) 到生成当前 Receiver Report (RR) 的时间间隔,单位为 1/65536 秒1。若接收端未收到过 SR 报文,则 DLSR 值为零1。
2025-03-15 23:55:25
1385
原创 FFMPEG中avfilter模块 调用流程
视频拼接filter的demo地址:https://github.com/chensongpoixs/cmp4_box_avi_flv/tree/master/filter。
2024-01-29 00:20:38
1014
1
原创 JWT使用HS512算法生成全局服务token原理
最近需要使用C++服务中根据用户名生成全局服务的token,然后在java服务中印证token正确性。因为java服务中使用jwt库生成全局的token, 我就对应找C++中jwt的库, github中有开源库叫jwt-cpp然后我就下载了, 我使用没有找到java中生成token好使用的接口、没有办法我只有看一下jwt生成token的步骤实现一遍。
2023-12-28 23:52:14
2816
1
原创 2022年终总结、展望2023
2022年公司上半年的主要指标和工作内容、核心需要攻下云渲染技术提示:以下是本篇文章正文内容,下面案例可供参考。
2022-12-25 23:18:58
1457
原创 WebRTC源码之RtpTransceiver添加视频轨道的AddTrack函数中桥接模式的流程分析
WebRTC是音视频行业的标杆, 如果要学习音视频, WebRTC是进入音视频行业最好方法, 里面可以有成熟方案, 例如:音频中3A 算法、网络评估、自适应码流、Simulcast、SVC等等 , 非常适合刚刚进入音视频行业小伙伴哈_我也是哦, 以后再音视频行业长期打算的小伙伴的学习项目。里面有大量知识点提示:以下是本篇文章正文内容,下面案例可供参考桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。
2022-10-05 01:35:05
3658
原创 WebRTC之证书(certificate)生成的时机分析
WebRTC是音视频行业的标杆, 如果要学习音视频, WebRTC是进入音视频行业最好方法, 里面可以有成熟方案, 例如:音频中3A 算法、网络评估、自适应码流、Simulcast、SVC等等 , 非常适合刚刚进入音视频行业小伙伴哈_我也是哦, 以后再音视频行业长期打算的小伙伴的学习项目。里面有大量知识点提示:以下是本篇文章正文内容,下面案例可供参考WebRTC源码分析地址:https://github.com/chensongpoixs/cwebrtc。
2022-10-04 03:55:32
1197
原创 WebRTC源码之音频设备的录制流程源码分析
AEC 音频采集 硬件回音消除麦克风阵列处理噪音抑制自动增益控制语言活动检查WebRTC源码分析地址:https://github.com/chensongpoixs/cwebrtc。
2022-08-15 00:17:23
650
原创 WebRTC源码之音频设备播放流程源码分析
①、低延迟②、提高了可靠性,API从内核层移到了用户层③、安全性更高等等…WebRTC源码分析地址:https://github.com/chensongpoixs/cwebrtc。
2022-08-15 00:13:12
1176
原创 WebRTC源码之视频质量统计数据中基础数据结构分析
分析视频数据video/send_statistics_proxy.h中进行数据统计中基础数据结构支撑的AggregatedStats定期计算的指标的最小值、平均值和最大值AggregatedCounter定期计算的指标的最小值、平均值和最大值Samples间隔内保存收集的样本WebRTC源码分析地址https1、StatsCounter视频统计中基类。......
2022-07-26 23:50:33
750
原创 WebRTC之NACK、RTX 在什么时机判断丢包发送NACK请求和RTX丢包重传
WebRTC之NACK、RTX 在什么时机判断丢包发送NACK请求和RTX丢包重传WebRTC之NACK、RTX 在什么时机判断丢包发送NACK请求和RTX丢包重传WebRTC之NACK、RTX 在什么时机判断丢包发送NACK请求和RTX丢包重传前言一、NACK与RTX的作用1、NACK/RTX的工作机制的流程图2、NACK/RTX涉及到的几个问题二、判断包位置的关键算法1、一个关键的函数:AheadOf三、WebRTC中NACK的处理流程图1、NACK调用栈四、WebRTC如何判断是否丢包的逻辑1、Na
2022-05-30 00:55:33
1405
原创 WebRTC中RTP协议详解
WebRTC中RTP协议详解WebRTC中RTP协议详解WebRTC中RTP协议详解前言一、RTP/RTCP在协议栈中的位置1、 RTP传输流程图二、RTP Header 的结构图1、RTP Header 协议字段解析2、 视频帧分包3、 RTP的扩展头①、 扩展头Profile 分为两种类型②、扩展头length三、WebRTC用到的扩展头1. WebRTC 中扩展头详细信息对应代码与声明四、 完整的RTP头总结:WebRTC专题开嗨鸭 !!! 一、 WebRTC 线程模型1、WebRTC中
2022-05-29 22:41:04
1645
原创 WebRTC的ICE之Dtls/SSL/TLSv1.x协议详解
SSL/TLSv1.x协议SSL/TLSv1.x协议SSL/TLSv1.x协议前言一、 SSL/TLSv1.x的作用二、 SSL/TLSv1.x传输的步骤三、传输中参数介绍四、SSL/TLSv1.x四次握手1、第一次握手2、第二次握手3、 第三次握手4、 第四次握手五、 实践总结SSL/TLSv1.x协议 前言一、 SSL/TLSv1.x的作用(1)身份认证通过证书认证来确认对方的身份,防止中间人攻击(2)数据私密性使用对称性密钥加密传输的数据,由于密钥只有客户端/服务端有,其他人无
2022-05-22 23:41:43
1931
原创 Mediasoup之RateCalculator(流量统计)
Mediasoup之RateCalculator(流量统计)一、Mediasoup之RateCalculator(流量统计)二、 分析RateCalculator类的方法三、 比特流的公式总结:一、Mediasoup之RateCalculator(流量统计)mediasoup中使用RateCalculator记录每个毫秒数比特流的数据的,二、 分析RateCalculator类的方法class RateCalculator { public: static constexpr size_t
2022-05-18 02:37:11
345
原创 云渲染、云游戏核心技术之视频hook引擎的OpenGL(一)
云渲染、云游戏之视频hook引擎的OpenGL(一)云渲染、云游戏之视频hook引擎的OpenGL(一)云渲染、云游戏之视频hook引擎的OpenGL(一)前言一、 采集端hook的流程二、hook到视频渲染前回调函数注册三、 拷贝数据到共享GPU中四、 共享GPU云端共享GPU资源 前言云渲染客户端 采集的工作 提示:以下是本篇文章正文内容,下面案例可供参考一、 采集端hook的流程在渲染前一帧的数据拿到 拷贝同享GPU中去,编码从共享GPU中读取数据在这里面有GPU同享时,
2022-05-11 22:59:05
1440
原创 OBS Studio 窗口采集game-capture注入之OpenGL与D3D11的GPU资源进行互操作
OBS Studio 窗口采集game-capture注入之OpenGL与D3D11的GPU资源相互访问OBS Studio 窗口采集game-capture注入之OpenGL与D3D11的GPU资源相互访问OBS Studio 窗口采集game-capture注入之OpenGL与D3D11的GPU资源相互访问前言一、 OBS中三种采集说明1、桌面2、 窗口3、 游戏二、游戏窗口采集 graphics-hook 的源码分析1、 环境初始化工作2、 主要attempt_hook中进行hook操作抓取数据3
2022-05-04 23:16:29
3691
3
原创 WebRTC的ICE之STUN协议
WebRTC的ICE之STUN协议WebRTC的ICE之STUN协议WebRTC的ICE之STUN协议前言一、 STUN协议二、 STUN协议头格式三、 STUN Header四、STUN Message Type五、C0C1六、 STUN信息类型七、大小端模式八、StunMagicCookie九、Transaction ID事务ID十、STUN Message Body十一、RFC 3489定义的属性WebRTC专题开嗨鸭 !!! 前言WebRTC是音视频行业的标杆, 如果要学习音视频, W
2022-05-01 00:44:55
828
原创 MediaSoup流媒体之创建Router和WebRtc的创建生产者底层源码分析
MediaSoup流媒体之创建Router和WebRtc的创建生产者底层源码分析MediaSoup流媒体之创建Router和创建WebRtc生产者底层源码分析MediaSoup流媒体之创建Router和WebRtc的创建生产者底层源码分析前言一、 MediaSoup流媒体底层C++的结构1、 MediaSoup 中Worker、Router、Transport之间的关系2、 Mediasoup 业务流程图二、 MediaSoup 创建 Router源码分析二、 Mediasoup 创建WebRtc传输
2022-04-17 23:07:15
2914
原创 WebRTC媒体协商之SDP中JsepSessionDescription类结构分析
WebRTC媒体协商之SDP中JsepSessionDescription类结构分析WebRTC媒体协商之SDP中JsepSessionDescription类结构分析WebRTC媒体协商之SDP中JsepSessionDescription类结构分析前言一、 JsepSessionDescription类 的SDP总信息结构二、SessionDescription三、TransportDescription四、Candidate总结WebRTC专题开嗨鸭 !!! 一、 WebRTC 线程模型
2022-03-28 23:27:00
1014
原创 主流视频编码压缩技术基本概念(一)
视频编码压缩技术基本概念(一)视频编码压缩技术基本概念(一)视频编码压缩技术基本概念(一)一、多媒体技术基本1、图像的色彩模型二、 静态图像压缩技术三、视频编码压缩技术基础有冗余就有可压缩的数据图像通用格式一、多媒体技术基本1、图像的色彩模型图像的彩色模型彩色模型又叫做颜色空间在多媒体系统中,必然涉及到用不同的色彩模型表示图像的颜色。二、 静态图像压缩技术图像压缩编码有损压缩编码变换编码离散余弦变换 或称为DCT变换(Discreate Cosine Transfo
2022-02-05 20:17:39
4402
原创 主流视频编码压缩技术基本概念(二) 算法分析
主流视频编码压缩技术算法分析主流视频编码压缩技术算法分析主流视频编码压缩技术算法分析一、MPEG-1技术介绍1、 MPEG-1的层次及语法结构①、运动补偿序列(Sequence)②、图片组(GOP)③、 图片(Picture)④、 图片切片(Slice)⑤、 宏块(MB)2、 MPEG的图片组(GOP)①、为了在高效编码压缩的情况下, 获得可随机存储的高压缩比、高质量图像、MPEG定义了I、P、B三种帧类型。I帧(帧内图)P帧(预测帧)B帧(双向图帧)GOP 类型与尺寸传输与解码显示顺序二、MPEG-2M
2022-02-04 00:30:43
4882
原创 UE4的PixelStreaming模块之设备驱动
UE4的PixelStreaming模块设备驱动UE4的PixelStreaming模块设备驱动UE4的PixelStreaming模块设备驱动一, UE4的PixelStreaming模块设备驱动一, UE4的PixelStreaming模块设备驱动UE4 使用WebRTC中引擎去做与浏览器之间的交互 , 类似于云游戏怎么一个东西,InputDevice设备驱动类。在UE4引擎中对设备驱动服装非常好,是一个模块形势。 在PixelStreamingModule模块中创建的时候转入设备驱动类的
2022-01-22 12:45:44
1001
1
原创 MediaSoup客户端js调试方法的记录
MediaSoup客户端js调试方法的记录MediaSoup客户端js调试方法的记录MediaSoup客户端js调试方法的记录前言一、 MediaSoup的js的客户端调试经验总结MediaSoup 一、 MediaSoup1、MediaSoup客户端js调试方法的记录前言WebRTC是音视频行业的标杆, 如果要学习音视频, WebRTC是进入音视频行业最好方法, 里面可以有成熟方案, 例如:音频中3A 算法、网络评估、自适应码流、Simulcast、SVC等等 , 非常适合刚刚进入音视频
2022-01-17 02:49:13
2160
原创 WebRTC线程的退出销毁不了的问题分析的流程
WebRTC线程的退出销毁不了的问题分析的流程WebRTC线程的退出销毁不了的问题分析的流程WebRTC线程的退出销毁不了的问题分析的流程前言一、WebRTC 三大线程销毁了, 但是main函数还是没有退出的问题复现二、 分析问题解决的方法三、 WebRTC中线程介绍总结WebRTC专题开嗨鸭 !!! 一、 WebRTC 线程模型和网络1、WebRTC中线程模型和常见线程模型介绍2、WebRTC网络PhysicalSocketServer之WSAEventselect模型使用3、WebRT
2022-01-16 20:11:45
2105
原创 WebRTC媒体协商之CreatePeerConnectionFactory、CreatePeerConnection、CreateOffer
WebRTC媒体协商之CreatePeerConnectionFactory、CreatePeerConnection、CreateOfferWebRTC媒体协商之CreatePeerConnectionFactory、CreatePeerConnection、CreateOfferWebRTC媒体协商之CreatePeerConnectionFactory、CreatePeerConnection、CreateOffer前言一、CreatePeerConnectionFactory二、CreatePee
2022-01-09 01:03:36
1621
原创 WebRTC网络PhysicalSocketServer之WSAEventselect模型使用
WebRTC网络PhysicalSocketServer之WSAEventselect模型使用WebRTC网络PhysicalSocketServer之WSAEventselect模型使用WebRTC网络PhysicalSocketServer之WSAEventselect模型使用前言一、WebRTC网络模型1、WebRTC网络PhysicalSocketServer①, win平台网络io②, linux平台网络io二, 代码实现总结WebRTC专题开嗨鸭 !!! 一、 WebRTC 线程模型
2022-01-02 13:39:59
724
原创 MediaSoup代码走读之房间创建
MediaSoup代码走读MediaSoup代码走读MediaSoup代码走读一、Mediasoup房间的创建流程1、 没有该房间就创建该房间, 使用MediasoupWork去创建一个房间调用Room类create方法2 、 在Router中创建音频的基本设置二、mediasoup中Transport 类说明一、Mediasoup房间的创建流程server.js 中 protoowsWebSocketServer.on(‘connectionrequest’, (info, accept, re
2021-12-31 01:08:24
2105
原创 WebRTC中线程模型和常见线程模型介绍
WebRTC中线程模型和常见线程模型介绍 WebRTC线程模型与常见线程模型介绍WebRTC中线程模型和常见线程模型介绍WebRTC中线程模型和常见线程模型介绍前言一、WebRTC线程模式和常见线程模式1、WebRTC线程模式2、常见线程模型二、WebRTC线程模型源码走读1、 Thread①、 任务放到队列中函数Post②、 执行任务接口 Dispatch2、 WebRTC中线程切换 (SynchronousMethodCall)①、使用信号量通知的②、 WebRTC中线程同步绑定函数 Metho
2021-12-11 16:34:23
2425
原创 H264编解码SPS、PPS参数说明
H264编解码参数说明一、H264码流分层1、NAL层2、 VCL层3、 码流基本概念①、 SODB(String Of Data Bits)②、 RBSP(Raw Byte Sequence Payload)③、 NALU 单元SPS/PPS/Slice Header二, SPS中两个重要的参数分别是 Profile 与 Level1、 H264 Profile2、 H264 Level3、 分辨率4、 帧相关的①、 帧数 log2_max_frame_num_minus4②、 参考帧数 max_num_
2021-12-05 10:55:20
8690
2
原创 H264视频GOP组和视频压缩技术之有损压缩(帧间压缩、帧内压缩)、无损压缩(ACBAC压缩)
H264视频压缩技术之帧间压缩、帧内压缩技术分析一、 编码帧的分类1、I帧(intraframe frame), 关键帧,采用帧内压缩技术。IDR帧属于I帧。2、P帧(forward Predicted frame),向前参考帧。压缩时,只参考前面已经处理的帧,采用帧间压缩技术。它占I帧的一半的大小3、B帧(Bidirectionally predicted frame),双向参考帧。压缩时,即参考前面已经处理的帧,也参考后面的帧,帧间压缩技术。它占I帧的1/4大小。二、IDR帧与I帧的区别与联系1、IDR
2021-12-04 18:43:01
2022
原创 WebRTC中RTCP协议详解
一、RTCP协议 |Data| |RTCP Header|Data| |UDP Header|RTCP Header|Data| |IP Header|UDP Header|RTCP Header|Data||Mac Header|IP Header|UDP Header|RTCP Header|Data|Mac Tailer| 14byte 20byte 8byte 4byte 可变长度 4
2021-11-16 23:04:26
1134
原创 mediasoupdemo官方信令服务代码分析dataChannel的使用
mediasoupdemo官方信令服务代码分析一、 登录流程分析1、wss登录的流程2、 https的流程二、 join流程的分析三、createwebrtcTransport的流程四、connectwebrtcTransport的流程五、使用webrtc中的DataChannel进行聊天(待续...)mediasoup客户端推流代码地址:https://github.com/chensongpoixs/cmediasoupclientmediasoup服务器代码地址:https://github.c
2021-11-14 16:44:28
4253
原创 RTMP协议命令的流程详解
一, RMTP推流的命令的1, handshake客户端与服务器的RTMP握手的的流程①, 客户端发送 C0+C1 规则是消息头一共是9个字节分别是:cid 标志是什么命令(一个字节)时间戳timestamp(四个字节)扩展字节(四个字节)一个字节标志是什么游戏 0X03 表示发送C0+C1四个字节时间戳 ::time(NULL)四个字节的 0X00后面在加1537个字节的随机数代码 // [1+1536] char* c0c1; // [1+1
2021-09-27 04:30:56
1411
1
原创 LeetCode第 252 场周赛 之5187. 收集足够苹果的最小花园周长
LeetCode5187. 收集足够苹果的最小花园周长前言一,5187. 收集足够苹果的最小花园周长二,解题思路三, 代码总结)前言数学知识一,5187. 收集足够苹果的最小花园周长给你一个用无限二维网格表示的花园,每一个 整数坐标处都有一棵苹果树。整数坐标 (i, j) 处的苹果树有 |i| + |j| 个苹果。你将会买下正中心坐标是 (0, 0) 的一块 正方形土地 ,且每条边都与两条坐标轴之一平行。给你一个整数 neededApples ,请你返回土地的 最小周长 ,使得 至少 有
2021-08-01 14:15:33
540
2
原创 数据结构之基数树(radix_tree)
数据结构之基数树(radix_tree)基数树(radix_tree)一,基数树数据的结构的介绍二, 基数树应用场景介绍三,基数树实现总结:基数树(radix_tree)基数树数据结构是在字典树(trie_tree)的原理上优化过来的, 是更加合理的使用内存和查询的效率。一,基数树数据的结构的介绍基数树数据结构二, 基数树应用场景介绍三,基数树实现总结:...
2021-04-04 22:31:26
3803
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人