自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 unity 调用 java 接口

首先,描述一下遇到的问题:java 插件包含哪些内容?怎么组织目录结构?unity 如何获取android应用的 context?unity 和 java 数据类型的映射?unity 如何调用 java 的 API?java 如何回调 unity 方法?

2021-06-24 01:34:44 3561 3

原创 std::shared_ptr 和 std::thread

在 std::thread 中以值捕获 std::shared_ptrvoid ThreadTest2() { auto sh_ptr = std::make_shared<int>(3); std::thread td([sh_ptr](){ for (int i = 0; i < 10; ++i) { std::this_thread::sleep_for(std::chrono::milliseconds(100));

2020-11-07 18:32:22 1819

原创 webrtc 的 PacedSender 模块

在 webrtc 的 modules 目录下有多个模块,每个模块实现一个相对独立的功能,pacing 模块是为了实现根据目标码率平滑发送的功能,避免突发流量对网络造成冲击从而加剧数据包丢失。

2020-05-08 13:32:38 1084

转载 WebRTC研究:RTP中的序列号以及时间戳比较

webrtc 中序列号比较算法。

2019-12-02 13:29:05 1622

原创 android 手机 p8 GRA-CL00 无法收到组播问题记录

软件的安卓手机适配问题记录。

2019-11-20 20:34:09 392

原创 asio 库 steady_timer

asio 库的定时器使用记录。

2019-11-19 15:39:18 922

原创 chromium编译指定目标

1.编译chrome.exeninja -C out\Default chrome其中out\Default是编译的路径,相对src目录而言,其绝对路径为...src\out\Default2.编译mini_installerninja -C out\Default mini_installer3.编译单元测试生成单元测试目标ninja -C ...

2019-11-18 16:18:26 279

原创 x264 码率控制

在视频编解码过程中,我们一直在追求更低的码率和更高的编码质量。更低的码率意味着更低的带宽占用和更小的文件体积,但往往意味着更低的视频质量。所以我们会根据应用场景和视频复杂度,选择恰当的视频编码码率以及其他控制参数。对于 x264 而言,共有三种码率控制模式,接下来进行介绍。

2019-11-17 16:02:12 964

原创 x264 参数解释

x264 编码的控制参数非常多,本文记录项目中实际用到的参数,并根据网上查找到的参考资料对这些参数给出进一步解释。

2019-11-17 15:27:02 2128

原创 JNI 记录

JNI 基础备忘。

2019-11-17 12:42:50 115

原创 postman 与 curl 的参数对应关系

关于 postman 和 curl 使用的一些经验记录。

2019-08-31 16:42:09 4819

原创 chromeos session manager 简介

本文主要介绍 chromeos 中的 session manager 模块对浏览器进程生命周期的管理。

2019-08-03 12:26:47 469

原创 记一个 linux 程序无提示退出问题

记录一次程序无提示退出的分析过程,希望能够对其他小伙伴有所裨益。

2019-07-20 09:52:01 757

原创 一个开源跨平台的截屏库推荐——screen_capture_lite

这是一个开源的截屏库,能够支持 linux 、windows 和 Mac 三种平台,使用起来非常的方便。这个库采用 MIT 协议,可以自由的用于企业项目中。在这里介绍这个库,是希望更多的小伙伴使用,推进这个库更加完善稳定。

2019-07-15 20:21:08 3649

原创 代码从 Windows 移植到 linux 过程中遇到链接问题记录

最近在做一个 sdk 的移植,需求是从 windows 平台移植到 linux 平台,编译错误还比较容易解决,链接问题相对比较麻烦,这篇文章将遇到的链接错误进行简单的记录,以方便日后查询。

2019-07-15 19:23:57 1184

转载 The authenticity of host 'github.com (192.30.253.113)' can't be established.

声明:转载自https://www.cnblogs.com/wu-song/p/7985594.html在初始化git之后(git init),同时在github建立好仓库之后,本地也新增了ssh kye(ssh-keygen -t rsa -C ‘mail address’),同时也在本地新增了远程仓库(git remote add origin github地址), 但是在git push的...

2019-06-25 00:32:47 712

原创 chromium 视频流请求与传递过程分析

背景chromium 浏览器在处理类似 chrome.desktopCapture 这样的视频流请求的时候,大致流程是什么样的呢?初步梳理了一下整个流程,流程还是比较长的,这里给出大概的类图,但只说明其中部分的关键点。浏览器的 renderer 进程在接收到执行 getUserMedia() 的动作后,开始执行启动视频流的动作。...

2019-04-04 11:29:02 1225

原创 webrtc 的 CreateOffer 过程分析

通过webrtc 点对点会话建立过程分析可以知道 CreateOffer 的具体实现位置在 src\third_party\webrtc\pc\mediasession.cc ,但是 CreateOffer 执行过程中具体经历了什么,还没有进行介绍,接下来将介绍 CreateOffer 究竟创建了什么内容。1. 总体介绍在 CreateOffer 中,会获取本地所支持的音视频编码格式,以及传输...

2018-11-21 19:27:53 5464

原创 webrtc 的 connection 管理

webrtc connection 的管理,是建立 p2p 连接的关键,关于 webrtc 的 connection 有几个问题需要弄清楚,下面记录下来,以加深理解。(1)connection 的概念(2)创建 connection ;(3)pingable,writable,receiving_ 的判定;(4)Nomination 的概念;(5)prune 的概念;(6)如何比较两...

2018-11-18 16:32:04 1726

原创 webrtc 点对点会话建立过程分析

关于 webrtc 建立点对点连接的文章很多,其中都提到了如何利用 stun 服务器获取本机的公网地址,本文侧重局域网(两台设备之间可以直接 ping 通)下webrtc 连接建立问题分析。由于 webrtc 源码本身比较庞大,嵌入 chromium 中更是导致其增加了其复杂性,所以我的分析可能会不准确,这里只是提供参考,欢迎大家一起交流。1.局域网内连接建立过程了解过 webrtc 的都知道...

2018-11-17 18:11:30 2536

原创 音视频开发(一)——视频数据格式

一、概述在我们进行视频数据处理的时候,不可避免的要涉及不同的视频数据格式,这里的视频格式指单独的视频帧的格式,不包括音频数据。接下来将对常见的音视频格式进行介绍,并比较不同格式的适用场景。二、RGB 格式1.RGB 简介背景和应用2.RGB三、YUV 格式四、HLS 格式四、RGB 和 YUV 之间的转换五、RGB 和 HLS 之间的转换...

2018-10-25 23:25:01 1006

原创 "A problem caused the program to stop working correctly. Windows will close the program and notify

Fix ‘A Problem Caused the Program to Stop Working Correctly’ on Windows 10根据查找到的资料,产生这个问题的原因多种多样,这篇文档记录了解决这个问题的多种方法,希望有一种能够解决你的问题。...

2018-09-12 14:49:58 4000 2

原创 机器性能对 webrtc 点对点通信延迟的影响分析

1.背景介绍在 chromium 浏览器中使用 webrtc 实现点对点通信时,由于刚开始虚拟机的处理器核数只分配了一个,导致通过 webrtc 共享桌面的视频播放延时达到 4~6 秒,所以想试验一下,随着处理器核数增加,webrtc 的延时有什么样的变化规律。 备注: (1)本文只考虑了处理器性能,没有考虑内存等其他因素,这些或许会在以后做尝试; (2)本文只考虑了发送端处理器性能的变...

2018-09-06 17:03:07 1729 1

原创 C++并发编程实践笔记(二)——管理线程

0. std::thread 介绍摘自:std::thread std::thread 对象可以不关联任何线程,线程也可以不与 std::thread 对象关联(调用 detach 后)。 没有两个 std::thread 对象可以表示同一个线程,std::thread 不可复制构造,也不可以复制赋值,但是可以移动构造和移动赋值。 1.基本管理线程1.1启动线程启动一个线...

2018-09-03 00:57:02 376

原创 webrtc 屏幕共享时间性能统计分析

webrtc 本身对时间性能参数有比较完备的统计,分析 webrtc 延时性能,直接分析其中关于性能统计的代码,理解其中各个参数的含义基本能够找到自己需要的参数。 备注:本文的 webrtc 代码来自 chromium(64)开源代码。1.发送端时间性能统计发送端涉及到的文件包括:2.接收端时间性能统计2.1视频时间性能统计接收端统计性能统计分析的代码主要位于文件:...

2018-08-20 10:52:47 1851

原创 webrtc 共享屏幕延时测试

1.可能导致延时的因素音频对延时的影响,音频的处理耗时,以及音视频同步耗时视频抖动缓冲延时,在局域网内,如果缩小抖动缓冲区,可能会减少延时2.在共享屏幕的时候不共享音频...

2018-08-20 10:32:12 9067 6

原创 webrtc 会话建立过程

本文所指的 webrtc 代码位于 chromium(64) 的第三方仓库中,webrtc 更新比较频繁,所以不同的版本代码可能改动较大。1. 会话建立流程在通过 webrtc 实现点对点的连接时,需要遵循如下流程,图片来自 1. Client A 创建一个 PeerConnection 对象,然后打开本地音视频设备,将音视频数据封装成 MediaStream 添加到 PeerC...

2018-08-17 19:59:53 5576 1

原创 chromium中 webrtc 视频解码过程分析

本文的 webrtc 代码为 chromium (64) 代码中的第三方库。1.视频数据接收涉及到的文件主要包括: src\third_party\webrtc\pc\channel.cc src\third_party\webrtc\media\base\mediachannel.h...

2018-08-14 10:36:55 1865 1

原创 C++并发编程实践笔记(一)—— 初识并发

1.何为并发并发是指两个或者多个独立的活动同时发生。1.1并发的类型单核系统的并发 对于比较古老的机器,只有单个处理单元或者单个核心。计算机在某一时刻只可以真正执行一个任务,但它可以通过在极短时间内在多个任务之间进行切换,看起来就像多个任务在同时执行。多核系统的并发 包含多个处理器的计算机用于服务器和高性能的计算任务已经有很多年了,现在急于单个芯片上具有多余一个核心的处理器...

2018-08-09 22:15:19 264

原创 webrtc编译调试

参考:Development 备注:拉取代码以及编译过程都需要能够连接google外网。1.前置条件1.1安装vs20171.2安装windows SDK2.拉取代码新建一个空文件夹,进入该文件夹,拉取代码。 拉取的代码处于分离状态,即不是处于某个分支上,需要切换到一个指定分支上。 ...

2018-08-07 20:43:15 3214

转载 网络语音处理流程

浅谈网络语音技术这篇博客对网络语音处理的流程,以及涉及到的处理技术做了简要介绍,逻辑非常清晰,很适合音频处理初学者入门,感谢作者的付出。...

2018-08-06 10:31:40 532

翻译 Chromium框架

1.chromium框架概述chromium框架主要描述chromium模块、层次划分,强调各个模块之间如何协作,而不会具体到内部如何工作。2.视图一

2018-07-22 15:49:12 3073

原创 webrtc黑盒延时测试

声明:本文翻译自BLACK BOX DELAY TESTING OF WEBRTC1.服务质量与延时VoIP应用的3个主要服务质量维度分别是:网络抖动、丢包率和发送端到接收端的延迟。 延迟相关建议:0-150ms 是可以接受的 150-400ms 可以接受,但是会影响通话质量超过400ms 通常是不可接受的备注:M2E(mouth-to-ear)2.webrtc...

2018-07-20 17:15:33 1171

原创 webrtc延迟分析

1.webrtc加密概述2.webrtc加密对传输效率的影响3.取消加密的可行性

2018-07-19 12:07:51 6874 1

原创 解决windows api显示透明gif时概率性闪现背景的问题

背景描述采用新的创建窗口的函数继续改进背景描述在之前的博客中已经详细介绍了背景,这里给出实际显示效果图吧。 这是需求的核心部分,就是用透明的无边框的窗口显示gif图片。本文的重点并不是介绍如何实现这个功能(如需了解见之前的博客),而是要解决一个更加头疼的问题,在开始显示gif动图之前,窗口概率性显示白色背景。概率性的问题,往往是最头疼的。 在之前的博客中,也尝试了多...

2018-07-07 00:32:38 532 2

原创 C++分割字符串

C++没有提供专门用于分割字符串的函数,参考网上提供的方法,给出代码如下:#include &lt;iostream&gt;#include &lt;string&gt;#include &lt;vector&gt;#include &lt;algorithm&gt;std::vector&lt;std::string&gt; split(const std::string&am...

2018-07-06 10:43:35 172

原创 windows api创建透明窗口显示透明背景的gif闪现背景的问题

1.背景介绍2.遇到的问题3.尝试的思路3.1 是不是注册窗口时的参数不对3.2是不是创建的窗口风格不合适3.3是不是窗口接收到的消息序列不一样3.4尝试改变代码组织结构4.小结1.背景介绍需要实现的功能如下: - 采用windows api创建一个透明窗口 - 在窗口中显示透明背景的gif图片2.遇到的问题透明背景的gif已经能够正常显示了,...

2018-07-04 10:12:07 613

原创 win32双缓冲实现gif图片的动态显示

背景双缓冲原理完整代码背景并不是所有的gif图片显示都必须采用双缓冲,据本人实践的结果,透明背景的gif图片显示,需要双缓冲实现,而非透明背景的gif显示可能并不一定需要双缓冲,要了解如何不采用双缓冲实现gif图片的显示,可以参考我之前的文档,也可以在网上搜索一下就可以找到很多方法,从中选取适合自己的就好了。 问题来了,为什么透明背景的gif图片显示需要双缓冲呢...

2018-07-01 01:43:39 1868

原创 windows api实现窗口透明整理

1. 实现窗口彻底透明2.实现背景透明控件不透明一3.实现背景透明控件不透明正式方案4.动图显示异常分析1. 实现窗口彻底透明实现这种效果的方案网上介绍很多,基本原理都一样,在这里还是重复记录一次。 效果图: 这种透明效果整个窗口的所有内容全部透明,可以看到图中红色箭头所指,从这个窗口可以看到底层的source tree的按钮。 代码实现: ...

2018-06-28 16:05:33 12569

原创 使用gdiplus显示gif图片

使用gdiplus显示gif图片需求在没有MFC上下文的windows环境下实现gif图片的显示; 可以根据文件名来显示gif图片;gif图片集成到可执行程序中。 实现思路windows api并不支持gif图片的显示,不过从XP之后,windows自带的库gdi++支持gif、png等各种格式的图片。因此,这里使用了gdi++的库来实现。 想要把...

2018-06-26 15:42:15 947

矩阵按键控制

键盘扫描优化,用4根线控制16个按键,为了节约宝贵的IO口资源,优化矩阵键盘扫描

2012-12-27

空空如也

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

TA关注的人

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