- 博客(28)
- 资源 (147)
- 收藏
- 关注
原创 【quic】 流式传输:入口和控制类 QuicStream
QuicStream 在core里了,是管理流式传输的类,使用了quic定义的一堆行之有效的stream data操作相关的数据结构quicstream 关心流式读/写、处理FIN、触发或者处理connection的关闭QuicStream 拥有QuicStreamSequencerBuffer 和 QuicStreamSendBuffer 处理 流式读写、缓冲一系列的操作静态的QuicStream 具有最高的写入优先级quicstream关心收到的quicframe,有可能会触发流控ses..
2020-07-10 16:09:05 724
原创 【quic】QuartcStream 使用QuicStream实现QuartcStreamInterface
QuartcStreamInterface 及实例QuartcStreamQuartcStream 使用QuicStream实现QuartcStreamInterfacetcp是流式协议,基于udp的quic也必须做到这点QuartcStreamInterface 是流定义的接口,实现对流的必要管控QuicStream 包括流控、发送缓存、ack监听、读写关闭、写、重传等具体的行为定义流式 协议TCP 协议是流式协议,所以我们需要人为地在发送端和接收端规定每一次的字节流边界,以便接收端知
2020-07-10 11:40:26 472
原创 【quic】工厂类 实例
QuartcFactoryfactory的接口interface 都定义好了必然需要一个实例 对facotry接口 做实现, 这就是QuartcFactory 了/Users/zhangbin/myProjects/newSVN/PRIVATE-QUICPUSHER/quicpusher//libquic/net/quic/quartc/quartc_factory.hQuartcFactory实例化 QuartcFactoryInterface实现 QuicAlarmFactory
2020-07-10 10:33:32 424
原创 【quic】SDK 工厂类 QuartcFactoryInterface
QuartcFactoryInterface一个sdk(一个lib)总要有个入口工厂类,常用来创建这样的一个sdk创建一个工厂接口实例:使用配置 QuartcFactoryConfig// Creates a new instance of QuartcFactoryInterface.std::unique_ptr<QuartcFactoryInterface> CreateQuartcFactory( const QuartcFactoryConfig& fac
2020-07-09 21:04:05 338
原创 【QUIC】会话内部metrics统计 QuartcSessionVisitor
QuartcSessionVisitormetrics 可以用来统计大数据,观察规律,发现问题统计发包 数目统计 丢包数目统计收到的ack包数目统计窗口更新统计版本协商QuartcSessionVisitor 就是这样的一个观察者quic会会吐出来这些信息给你做metrics// a observes internals of a Quartc/QUIC session for the// purpose of gathering metrics or debug inf
2020-07-09 20:41:47 402
原创 【QUIC】会话抽象类(基础接口类)QuartcSessionInterface 1
QuartcSessionInterface正如我之前在grpc push sdk里所实现的功能一样,一个会话可能有以下要点:transport : 数据发送和接受接口state : 会话状态流:会话里传输的数据协议对象metrics 统计 5 链路统计提供以下功能 :发送 数据 (当通道可写时)接收数据 ( 当收到数据时),可能需要代理回调app链路状态 (通知app)协议解析看看libquic是如何
2020-07-09 20:35:24 360
原创 【live555 网络库】groupsock 3 :outputsocket 和 组播程序
outputsocket 默认是只用来 发送数据的outputsocket 默认也不会读取数据因此private了处理read的方法:多播组发送outputsocket的 write 是向某个地址调用socket的方法写入数据groupsock 继承了outputsocket,提供了一个output方法:Boolean Groupsock::output(UsageEnvironment& env, unsigned char* buffer, unsigned buffe..
2020-07-09 17:48:18 354
原创 【live555网络库】groupsock NetInterface 2
上一篇看了下头文件 ,继续看cpp实现groupsock非常重要,所以硬着头皮也要看下去。NetInterface 里有socket (封装类)相关的实现。socket 必然会涉及到网络地址、端口、socket句柄这些基础。NetInterfaceTrafficStats 是数据统计用的groupsock- 大神总结: Groupsock:是对网络接口的封装,用于收发数据包。这个是放在单独库Groupsock中。它封装了socket操作,增加了多播放支持和一对多单播的功能.同时支持..
2020-07-09 15:50:24 283
原创 【live555网络库】groupsock的NetInterface 1
live555的网络库应该就只有这个groupsock了吧虽然是大同小异但是live555的看着真心累啊NetInterface 基类NetInterface 作为基类,就是提供一个env 的静态变量DefaultUsageEnvironment 是静态指针DirectedNetInterface 也是基类通过write 写数据(到socket?)SourceAddrOKForRelaying :有一个用于relay的地址(addr 整型?)class Directed..
2020-07-09 15:19:55 251
原创 【live555双链表】HandlerSet 管理一个handler的双向链表
HandlerSethandlerset的核心是拥有一个handlerdescritpion的双联表双链表对象 叫做handlerhandler是跟进socknum来找到的里面保存int socketNum, int conditionSet, TaskScheduler::BackgroundHandlerProc* handlerProc, void* clientData/Users/zhangbin/myProjects/newSVN/PRIVATE-QUIC/quicpushe
2020-07-09 13:55:30 268
原创 【散列表】live555实现的基于拉链法的hashmap
符号表 3.4.2 算法 介绍了一种 【基于拉链法的散列表】核心是key转化为一个数组每个【散列值】 指向一个链表,解决冲突:key存放在这个链表里。查找分两步:根据散列值,找到对应的链表在链表里 顺序查找,找到对应的keyM 条链表,保存N个键,每个链表平均有 N/M 个元素接口java 算法还对 散列表定义了一些通用的apilive555的话,参考HashTable.h吧 ,大同小异//创建//////公共//添加put(Key k ,Value ..
2020-07-08 21:05:43 353
原创 【quic】libquic macos cmake构建
quicquic 协议号称是下一代的tcp用来替换tcp的quic 应该节省带宽协议头的设计方便多路复用自带app层的拥塞控制,方便调整策略libquic几年前了,不维护了,但是基于老版本的chrome的代码例子也多,方便入门代码组成common 基础部分net 网络库paltform 跨平台加密 crypto压缩 zlib依赖于ssl (谷歌自己修改的boringssl )还用了protobuf,谷歌的协议boringssl protbuf zlib
2020-07-08 16:24:35 487
原创 【论文笔记】基于 RTCP 反馈的 TCP 友好的 实时流媒体拥塞控制机制
基于 RTCP 反馈的 TCP 友好的 实时流媒体拥塞控制机制慢启动阶段 做到 低延迟低抖动2006 年 论文 耿福泉, 方 敏, 赵林亮, 王光兴 (东北大学 信息科学与工程学院 , 辽宁 沈阳 110004)提出了一种端到端的、基于RTCP反馈的、改进了的TFRC拥塞控制机制,即a2 TFRC(ameliorated TFRC) ;主要针对实时流媒体要求低延迟和低抖动的特点 ,修改了 TFRC 的慢 启动阶段 ,使得 TFRC 流开始的发送速率不至于太低而使得接收端在开始有较大的延迟和抖动
2020-07-08 14:08:43 426
原创 【粗读owt】camera采集和视频帧率保持算法
CameraVideoCapturer本身是视频源管理视频sink : rtc::VideoSinkInterfacewebrtc::VideoFrame处理视频数据: void OnFrame(const webrtc::VideoFrame& frame);还有: rtc::VideoBroadcaster broadcaster_; cricket::VideoAdapter video_adapter_; rtc::VideoSinkWantsrtc::Vide.
2020-07-07 22:40:51 673
原创 【macos】vscode配置调试支持c++11
手写代码的时候,会遇到问题,需要调试,要不然不知道比如我遇到析构的问题:不知道怎么解决,只能考gdb了preLaunchTask加入支持c++14因为luanch.json里的preLaunchTask 的 label 引用了 "preLaunchTask": "C/C++: g++ build active file"而这个label 在tasks.json里tasks.json修改留意了下,执行的命令行是在这里的不是code runn..
2020-07-07 12:20:50 2754 2
原创 【c++11】C++11为什么需要std::ref/reference_wrapper
C++11为什么需要std::ref/reference_wrapper?Brent姜在std::promise范例中,使用了std::ref将future对象传递给引用参数类型的任务函数。std::promise示例如果直接传入pr,将会出现编译错误:error C2661: “std::tuple,std::promise>::tuple”: 没有重载函数接受 2 个参数说明函数调用的参数类型不匹配。查看thread的源代码,其构造函数依赖于一个rvalue-..
2020-07-05 18:32:15 1490
原创 【粗读owt】native 会议sdk :client 实现
音频源名称初始化static const std::unordered_map<std::string, AudioSourceInfo> audio_source_names = {{"mic", AudioSourceInfo::kMic}, {"screen-cast", AudioSourceInfo::kScreenCast}, {"raw-file", Audio.
2020-07-05 01:40:04 981
原创 【粗读owt】native 会议SDK: ConferenceClient
ConferenceClient是会议sdk的入口类O:\WEBRWTCSTORE\src\src\talk\owt\sdk\include\cpp\owt\conference\conferenceclient.h信令(监听) ConferenceSocketSignalingChannelObserver基于websocket的消息都是 sio::message 共享指针用户行为消息 : 加入 推出自定义信令消息流行为消息 : 流加入 流退出 流更新流属性: 流断了
2020-07-04 22:03:39 934 3
原创 【粗读owt】native 仓库导出VS2019工程
官方没生成vs工程,生成vs 方便看代码native sdk 代码在talk 下客户端似乎没用用到licode的代码?核心都在base下头文件其中有windows 专用编解码(继承webrtc,实际调用intel mediasdk)渲染 d3d分为三块会议 : owt的目标就是做一个会议sdkconf :p2p : 好像是信令生成vs工程为了方便看,使用gn 生成了vs工程但是编译构建有问题,没时间整至少能用vs看owt的windows版本代码了..
2020-07-04 21:30:27 468
原创 【owt构建】Building OpenSSL on Windows for vs2019 x86
Building OpenSSL on Windowsvs2019 构建x86 版本因为owt naive windows版本用vs2019 构建,merge的时候,报错:不知道是不是openssl库的问题?merge超时了?所以我决定自己给vs2019 构建一个看起来最后install 还是有问题Copying: ./include/openssl/rc2.h to O:/WEBRWTCSTORE/depends/openssl-OpenSSL_1_1_1-stable/o
2020-07-03 23:30:05 505
原创 【粗读webrtc】api 里音频的对外接口
api 里音频 算法 的对外接口很多echo cancellation (AEC) 配置、控制、测试。AudioFrame混音 抽象类另外一部分是codec的混音 AudioMixerO:\WEBRWTCSTORE\webrtc-checkout\src\api\audio\audio_mixer.h开发中,内部使用/* * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. * * ..
2020-07-03 21:06:42 393
原创 【百度智能云】媒体sdk 中间件设计 笔记
移动音视频sdk 工程实践sdk的数据采集和处理李明路老师对GPUIMAGE 在引用时,异步线程 需要 传输时内部做一些引用机制android 上exoplayer 作为插件 给短视频用 做解码,软解更普遍 。cpu 、帧率 、内存、耗电 来评测传输包体大小 ,sdk作为可拆分可场景化对模型加载,后加载的方式265和av1都在用移动端 265 硬件能力av1 是移动端比较少,服务端多客户端合流 或者 旁路转推ijk exoplayer都有用基于关键帧快速seek ,寻找相近的I
2020-07-02 20:21:45 412
原创 webrtc】windows 构建 :depot_tools 采坑
chrome 开源项目的构建工具 dep_toolsowt webrtc chrome 都需要这个工具作为构建脚本之前在公司机器 整的,感觉很容易可能公司默认是hk vpn环境吧换了自己购买的vpn,在家里机器只能自己搞了,暴露了很多问题,python3_bin_reldir 搜了下也没看到有文档说明用法,只能盲目尝试。都快2021年了,浪费时间在环境上,真是不值得。py2+ 加代理 + cmd.exe (最好管理员)py2的路径 C:\Python27 ,我是64位的,下载地址在..
2020-07-02 11:01:30 4457 10
原创 【粗读webrtc】neteq概述
音频两大技术前处理: AEC NS AGC编码 传输NETEQ NS AGCNETEQ音频前后处理,包括AEC、ANS、AGC等,俗称3A算法netEQ有两大模块,MCU(micro control unit, 微控制单元)和DSP(digital signal processing, 信号处理单元),参考大神:webRTC中音频相关的netEQ(一):概述MCU负责控制从网络收到的语音包在jitter buffer里的插入和提取,同时控制DSP模块用哪种算法处理解码后的PCM数..
2020-07-02 10:30:35 721
原创 [粗读webrtc] SDP组成:planb unifiedplan
webrtc 1.0 SdpSemanticsRTCConfiguration选项:SdpSemanticsplanb 统一升级 到 Unified Plan参考“Unified Plan” 过渡指南SDP 细节WebRTC Native 源码导读(十四):API 概览总体来说,WebRTC 的 SDP 分为几个部分:session metadata: v=, o=, s=, t=network description: c=, a=candidatestream descri.
2020-07-01 17:01:12 1345
原创 【owt ios client】 RTCConfiguration 配置
了解配置,有助于我们遇到后不犯迷糊用到俩类:@class RTCIceServer;@class RTCIntervalRange;RTC 配置 RTCConfigurationRTCConfiguration 被owt 包起来了// Copyright (C) <2018> Intel Corporation//// SPDX-License-Identifier: Apache-2.0#import <WebRTC/RTCConfiguration.h>..
2020-07-01 16:43:28 749
原创 【owt ios client】创建会议客户端
会议sdkinit 会议sdk 后 ,开始使用其api,跟licode类似:从baisic example 获取token使用token 加组创建会议客户端使用配置 OWTConferenceClientConfiguration 创建:界面加载后就开始启动会议:初始化- 加载配置配置: OWTConferenceClientConfigurationRTCIceServer创建了,但是好像没有赋值给配置 NSArray *ice=[[NSArray alloc]in..
2020-07-01 10:53:01 643
原创 【owt ios client】 启动:创建OWTRemoteMixedStream
启动后立马创建混画流收到对端流后开始处理OWTRemoteMixedStream对端混画流: 是一种对端流OWTRemoteStream包括:所有者id,流自己的id,发布流的能力属性,remote端的流接收属性代理:流 update mute end umuteOWTStreamrtc media stremvideo render创建OWTStream会自动订阅RTCMediaStream·p2p 属性不支持/** @brief Returns ..
2020-07-01 10:21:07 534
DX910-SW-99002-r3p2-01rel1.tgz
2015-09-01
usb转串口适用于win8/8.1/10
2015-08-02
nexus5-cm11 提取的boot.img
2015-03-30
nexusd5 android5.0 型号LRX210 ROOT所需文件打包
2014-11-23
Creating Android Applications: Develop and Design 源码
2014-04-16
moto MB865 ROOT 工具包
2014-03-28
UPnP-arch-DeviceArchitecture-v1.1.pdf
2014-03-14
live.2013.10.18windows
2013-10-19
Whole Tomato Visual Assist X 2023.1 v10.9.2476.0 (19 Jan 2023)
2023-05-28
vs2022 visual assist x10.9.2451.0 by piaopyun/oledlg
2022-09-23
VS2022 VISUAL ASSIST X 小番茄 v10.9.2435.0 VA_X_Setup2440_0.exe
2022-02-25
[FLV 解析工具]FLV_UI_Parse.exe
2021-10-08
【右键菜单直接修改工具】shmnviewRightMenuModiy.zip
2021-10-08
openssl-OpenSSL_1_1_1-stable.7z
2020-07-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人