自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(174)
  • 资源 (6)
  • 收藏
  • 关注

原创 使用vs编译环境amd64,解决 qrc 编译出错:fatal error C1060:编译器的堆空间不足

出现原因:qrc_xxxx.cpp文件过大1、解决方案一:qrc分文件2、解决方案二:用x64打开.sln文件 step1: 执行vs2015的编译命令行:VS2015 x64 x86 兼容工具命令提示符 step2: cd D:\progject (进入工程目录) step3: XXX.sln 再编译就解决了...

2020-04-20 14:30:12 2758

原创 Reqwest 库详细使用指南

reqwest是Rust生态中最流行的HTTP客户端库,提供简单高效的HTTP/HTTPS请求解决方案。基于hyper构建,支持异步和同步两种模式,核心特性包括自动重定向、代理支持、TLS/SSL、Cookie管理、连接池复用等。最新版本0.12.25要求Rust 1.70+,采用Apache-2.0/MIT双许可。通过启用可选特性可支持JSON序列化、multipart表单、流式处理等功能。典型用法包括创建可复用的Client、发送各种HTTP请求、处理响应数据等。相比hyper等底层库,reqwest提

2025-12-09 10:16:21 1015

原创 HTTP 请求报文详解

HTTP (Hypertext Transfer Protocol,超文本传输协议) 是用于在网上传输数据的应用层协议。HTTP 采用请求-响应模型,其中客户端发送 HTTP 请求报文到服务器,服务器返回 HTTP 响应报文。本文档详细介绍 HTTP 请求报文的结构、各部分组成及其作用。请求行是 HTTP 请求报文的第一行,包含三个关键信息,用单个空格分隔。请求头字段提供关于请求、客户端和请求体的附加信息。每个头字段由字段名、冒号、字段值组成。头字段作用示例标识 AJAX 请求。

2025-12-08 21:07:16 1001 1

原创 h264&h265码率参考表

本文对比了H.264和H.265两种视频编码格式在不同分辨率下的文件大小。数据显示,H.265在保持相同画质的情况下,文件大小仅为H.264的50%-60%。以1920×1080分辨率为例,H.264超高码率每分钟需102MB,而H.265仅需51MB。两种编码格式都提供了超高质量(S)、高质量(H)和中质量(M)三档选项,对应不同的文件大小。H.265凭借更高效的压缩算法,显著减少了存储空间需求,特别适合高清视频的存储和传输。

2025-12-08 20:51:56 199

原创 Webrtc+mediasoup入会拉流过程

本文主要介绍了WebRTC中SDP校验和PeerConnection建立的过程。在SDP校验部分,详细说明了服务端RTP能力配置文件的存放位置和注意事项,重点指出客户端只会使用第一个识别到的codec。同时阐述了客户端解析服务端RTP能力的过程,包括获取编码器信息、验证RTP能力、匹配支持的能力类型等。在PeerConnection建立部分,描述了连接服务器的过程、通道数据读取、对端连接建立等步骤,包括创建PeerConnection、添加Track、创建和交换SDP offer/answer、发送ICE候

2025-12-08 20:48:20 62

原创 RTMP流媒体协议

RTMP协议技术摘要 RTMP(实时消息传输协议)是Adobe开发的流媒体传输协议,基于TCP/IP应用层,主要用于Flash播放器与服务器间的音视频数据传输。该协议支持多种变体:RTMPS(TLS/SSL加密)、RTMPE(Adobe加密)、RTMPT(HTTP隧道)和RTMFP(UDP P2P)。 核心特点: 采用握手机制建立连接,支持控制命令和多路复用 数据分块传输,默认音频64字节/视频128字节 支持动态协商数据块大小,最小化传输开销 提供12种消息类型,包括音频(0x08)、视频(0x09)和命

2025-11-11 14:55:45 662

原创 webrtc中win端音频---windows Core Audio

本文详细介绍了Windows CoreAudio系统的架构与实现原理。主要内容包括: CoreAudio内核框架:包含MMDevice、WASAPI、DeviceTopology和EndpointVolume四大API,分别负责设备管理、音频流处理、设备拓扑和音量控制。 共享模式与独占模式对比:共享模式通过系统音频引擎处理,会引入延迟但支持多应用混音;独占模式直接访问硬件,消除延迟但只支持原生格式。 设备管理流程:从设备枚举、初始化到音量控制和事件监听,提供了完整的代码示例。 线程模型与数据流:采用独立高优

2025-08-21 19:03:38 212

原创 带宽评估(三)lossbase_v2

本文摘要:本文详细介绍了WebRTC中的带宽估计算法优化策略,主要包括丢包恢复算法参数调整、发送窗口大小控制等优化方向。重点分析了GoogCcNetworkController和LossBasedBweV2的相关配置参数,包括带宽估计、丢包补偿、牛顿迭代等关键算法。通过滑动窗口统计、加权平均丢包率计算、极大似然估计等方法进行带宽评估,并采用牛顿迭代法求解最优带宽。文章还详细阐述了候选目标选取算法,包括高带宽偏差计算和基于丢包率的客观值计算,为WebRTC的带宽自适应机制提供了理论依据和实现细节。

2025-08-21 18:42:16 124

原创 带宽评估(二)lossbase v1

本文介绍了一种基于RTT和丢包率的动态带宽估计算法。该算法通过配置参数(如上升因子1.02-1.08、RTT范围200-800ms等)实现带宽动态调整:1)根据RTT计算上升因子,RTT越小上升越快;2)基于丢包率计算带宽上限(0.5kbps*丢包率^(-2));3)通过指数平滑更新丢包统计;4)综合考虑延迟、丢包和ACK码率进行带宽调整。算法在低丢包时适当提升带宽,高丢包时严格限制带宽,实现网络拥塞控制。例如5%丢包时带宽上限1600kbps,50%丢包时降至16kbps。

2025-08-21 18:19:09 67

原创 带宽评估(一)基于延迟的网络状态判断

包组到达时间差:ti - ti-1包组离开时间差:Ti - Ti-1包组时延变化:di = △t - △T= (ti - ti-1) - (Ti - Ti-1)这个时延变化用于评估时延增长趋势,判断网络拥塞状况。在[1]中,这个时延变化叫做单向时延梯度(one way delay gradient)

2025-08-21 18:08:41 331

原创 c++实现unique_ptr

本文实现了一个独占所有权的智能指针UniquePtr类模板,包含以下核心功能:1)构造函数接受原始指针并获取所有权;2)析构函数自动释放资源;3)禁止复制操作保证独占性;4)支持移动语义实现所有权转移;5)重载解引用和箭头运算符提供指针式访问;6)提供资源管理接口release()和reset()。实现使用了默认删除器模板,支持自定义删除器,并通过移动构造/赋值运算符实现安全的所有权转移。示例代码演示了UniquePtr的创建、移动、重置和交换等操作。

2025-08-21 11:07:53 167

原创 Webrtc在项目中承担的角色

本文介绍了WebRTC音视频会议系统的分层架构设计,主要包括四个层次:解决方案层(基础业务逻辑)、会议SDK层(会议业务逻辑)、mediasoupclient层(WebRTC封装)和WebRTC层(音视频核心)。重点解析了WebRTC层的核心功能,包括PeerConnectionFactory工厂创建、音视频采集处理流程、编解码器配置、数据打包发送与接收机制等。同时说明了WebRTC的两种集成方式:静态库直接继承和动态库引用方案,为开发者提供了音视频会议系统的技术实现参考方案。

2025-08-18 11:57:29 105

原创 Webrtc支持FFMPEG硬解码之解码实现(三)

Webrtc支持FFMPEG硬解码之Intel(一)-优快云博客Webrtc支持FFMPEG硬解码之NVIDA(二)-优快云博客Webrtc支持FFMPEG硬解码之解码实现AMD硬解目前还没找到可用解码器,欢迎留言交流以对于编码器,FFMMPEG里面搜索编码器的名称,即可找到,例如“h264_qsv”encoder, 参见:qsvenc_h264.c对于解码器,FFMPEG采用了宏定义方式实现,例如:“h264_qsv” decoder,参见qsvdec.c文件​。

2024-06-13 19:05:05 926

原创 Webrtc支持FFMPEG硬解码之NVIDA(二)

此系列文章分分为三篇,Webrtc支持FFMPEG硬解码之Intel(一)-优快云博客Webrtc支持FFMPEG硬解码之NVDIAWebrtc支持FFMPEG硬解码之解码实现AMD硬解目前还没找到可用解码器,欢迎留言交流。

2024-06-13 15:16:29 510

原创 Webrtc支持FFMPEG硬解码之Intel(一)

Webrtc支持FFMPEG硬解码

2024-06-13 14:58:41 781

原创 Webrtc源码编译之个人仓库

webrtc源码编译

2024-06-03 10:17:24 754

原创 Webrtc支持HEVC之Mediasoup SDP协商编码流程(三)

Mediasoup SDP协商编码流程

2024-05-31 16:43:59 943

原创 Webrtc支持HEVC之编解码器创建(二)

Webrtc编解码器创建

2024-05-31 16:36:27 764 2

原创 Webrtc支持HEVC之FFMPEG支持HEVC编解码(一)

FFMPEG支HEVC编解码

2024-05-31 16:31:53 1291 3

原创 MediaFoundation采集

Media Foundation 旨在应对高清内容带来的挑战。 在整个平台中改进的音频和视频质量,现在可以为下一代高清内容提供出色的体验。与 DXVA 1.0 相比,DirectX 视频加速 (DXVA) 2.0 提供更高效的视频加速,视频解码更可靠、更精简,在视频处理中扩展了硬件的使用。 使用 DXVA 2.0,Windows 可以处理一些要求最苛刻的高清内容,并提供高质量和改进的故障复原能力。在整个视频管道中保留颜色空间信息。 用户可以以完全保真度欣赏视频内容。 颜色信息和交错图像现在传递到硬件进行单通

2024-03-11 10:20:21 2531 2

原创 Mediasoup本地部署

包含app(客户端)、server(服务端)、broadcasters(推流模块)指向本地mediasoup、mediasoup-client。此时可以看看到mediasoup-demo完全启动起来。注意:不能使用python3,请用自带的python。

2023-09-07 15:33:28 917

原创 第四篇 DirectShow 采集调用结构关系

(成员有IPin)---CaptureSinkFilter。

2023-09-05 15:50:02 560

原创 三、视频设备的枚举以及插拔检测

本章主要讲述,如何获取设备名称以及guid,采集设备的采集格式识别,设备的插拔设备列表以及属性的获取使用的directshow(后续的MediaFoundation无法获取OBS摄像头)设备的插拔使用的是QT 捕获系统消息,捕获到设备插拔后,重新获取下设备列表(这里并没有动态的添加或者删除,考虑的主要是维护UI显示时 设备顺序的一致性)

2023-09-04 16:35:47 1610

原创 第二篇: libyuv的编译

DirectShow采集出来的视频, 采集格式(例如: mjepg)和我们需要的视频格式(i420)并不一致,因此需要解码。

2023-08-31 11:04:34 820

原创 第一篇: DirectShow视频采集

1)、DriectShow是windows基础的采集模块,支持xp、win7、vista 以及更新的wIndows版本。2)、在win8之后 建议使用和但由于部分虚拟摄像头 并不支持MediaFoundation,所以DirectShow在采集领域仍然占领一席之地3)、DriectShow也有一定的局限性,能识别的采集格式相对较少,在部分摄像头(HD Web Camera)测试出在部分分辨率的情况下会出现卡顿。

2023-08-31 10:54:28 1929

原创 windows 编译libyuv

二、创建VS工程并且 include下的所有头文件,source下的所有文件添加进去三、VS项目属性->c/c++->预处理器->预处理器定于添加HAVE_JPEG定义 (解码MJPEG)四、libjpeg-turbo下载五、编译可以参考 BUILDING.md需要环境: VS2019CMakeYASM 启动vs工具 编译:cd libjpeg-turbocmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Releasen

2023-07-11 15:10:35 1845

原创 Windows脚本导出git当前分支信息

导出git当前分支信息

2023-06-30 18:51:59 256

原创 I420数据保存为图片

前提:webrtc::VideoFrame 转化为图片保存。

2023-06-06 11:36:37 373

原创 Desktop is unable to push commits to this branch

Desktop is unable to push commits to this branch

2023-04-12 15:56:42 779

原创 windows 读取Dump 堆栈信息

windows异常处理

2022-11-16 17:38:11 848

原创 C++源码网站

cppreference.com

2022-11-06 18:25:57 264

原创 Webrtc音频发送延迟

音频发送延迟

2022-10-13 20:16:23 832 1

原创 iperf带宽探测工具

iperf使用文档

2022-08-23 15:11:50 1775

原创 TCC丢包率计算

TCC丢包率计算

2022-08-23 15:07:58 1555

原创 音频抗丢包以及暴力重传实现抗丢包80%

音频抗丢包以及暴力重传实现抗丢包80%

2022-07-27 16:21:43 1383

原创 Webrtc音频技术(未完)

Webrtc音频技术

2022-07-27 15:56:40 1186 1

原创 Webrtc丢包率的计算

webrtc丢包率的计算

2022-07-27 15:53:07 594

原创 webrtc发包和码率调整

webrtc发包和码率调整

2022-07-27 15:49:26 826

原创 Webrtc Rtp包解密

Rtp包

2022-07-27 15:33:26 722

原创 视频暂停发送逻辑

视频暂停发送逻辑

2022-07-27 15:30:32 444

libyuv 基于libjpeg-turbo

最近libyuv库

2023-07-11

libyuv 基于libjpeg-turbo

最近libyuv库

2023-07-11

QTreeViewTest

QTreeView绑定Deleget,以及deleget样式修改,重构QTreeView, Delegate重写

2019-03-20

Translation.zip

QT、将已经翻译的ts文件内容,替换到到新的ts文件中

2021-03-10

Hoo.WinTail.v4.2.92-crack 免破解版

Hoo.WinTail.v4.2.92-crack 免破解版

2017-07-17

MergeTree.cpp

合并二叉树、拷贝二叉树、二叉树广度遍历,给定任意两颗二叉树,是的二叉树的使用递归和非递归的方法合并两颗二叉树

2020-12-04

Blackmageic SDK

官方SDK文档,非常的有用,涉及到的技术 主要用于blackmagic开发,

2019-02-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除