- 博客(14)
- 收藏
- 关注
原创 webrtc rtc_base Copy_on_write_Buffe类功能剖析
首先我们来看下,对应类的继承层次结构: FinalRefCountedObject: 只提供引用计数功能 BufferT: 官网解释的十分清楚了: // Basic buffer class, can be grown and shrunk dynamically. // Unlike std::string/vector, does not initialize data when increasing size. // If “ZeroOnFree” is true, any memory is e
2021-09-14 14:54:05
378
原创 webrtc工程编译调试实战-源码级调试
在前面的章节中: 如何学webrtc的开源代码,今天我们讲解下如何编译和调试源码. 源码的下载方式参考 : https://blog.youkuaiyun.com/webrtc_video/article/details/115007232 目前我们在2021.7.21号更新了一版. webrtc工程编译调试实战环境准备效果展示编译全链接静态库vscode调试环境搭建 环境准备 Center OS 8 / VSCode yum install gcc-c++ gdb cmake make zlib webrtc 源
2021-07-27 11:08:31
1287
原创 Center OS如何搭建离线yum源
在某系特殊情况下,我们没有安装center os后,没有办法使用网络,这个时候我们如何像有网络那样使用yum install安装应用程序呢? 搭建离线yum源思路提出步骤通过网络下载所有的rpm源到指定的目录制作索引文件 repodata.在没有网络的系统中制作离线yum源.所有源rmp太大,只把需要的rmp制作源. 思路提出 一般情况下,如果是没有网络环境下,要么我们以源码的形式去安装,但是这种方式耗时耗力! 比如:安装gcc-c++,如果我们以源码的形式安装面临的最大问题就是: gcc-c++本身.
2021-07-11 22:41:56
492
原创 搭建webassembly网页播放器(六)---websocket后台服务程序
这里我们主要介绍后台搭建技术,前端搭建好后,需要后端配置展现,实现的效果就是 :网页连接上我们的 websocket服务后,我们就从H264文件中不断的提取出H264帧,然后传递给前端,前端调用webassembly进行解码播放. 实现效果: github 地址预计下周开放,敬请期待! 章节列表: 搭建webassembly网页播放器(一)—centeros 虚拟环境搭建 搭建webassembly网页播放器(二)—emcc环境搭建 搭建webassembly网页播放器(三)—emcc编译ffmpe.
2021-07-11 22:08:55
2010
原创 搭建webassembly网页播放器(五)---网页播放器开发
经过了上面四篇,我们搞定了ffmpeg.js和ffmpeg.wasm,接下来我们要使用实现一个简单的网页播放器,从服务端不断的拉取H264然后调用ffmpeg.js去解码,解码成功后通过webgl渲染展现出来!
2021-07-10 19:57:22
3006
2
原创 C++默认的拷贝构造和移动构造行为探究
这里我们主要探究C++里面的默认拷贝和移动构造行为探究,结合实践测试单元进行总结归纳分析. C++默认的拷贝构造和移动构造行为探究深拷贝和浅拷贝拷贝构造和移动构造默认行为探究 深拷贝和浅拷贝 进行测试之前,我们首先要弄明白,c++中深拷贝和浅拷贝的意思. 深拷贝:触发拷贝构造和移动构造 浅拷贝:按值赋值 拷贝构造和移动构造 要理解好拷贝构造和移动构造,一定要理解好,一定要结合设计目的和对象的生命周期2个维度来进行理解! 拷贝构造行为核心思想是为了产生一个对象的副本,副本会完全拷贝实体数据,同时副本产生.
2021-05-24 09:43:58
563
原创 webrtc 中如何“接“ lambda表达式
在webrtc中lambda表达式的运用场景实在太过于广泛了,因此我们如何接是我们这里要阐述清楚的. webrtc 中如何"接" lambda表达式 如何理解lambda表达式? lambda表达式的形式: 【捕捉列表】(参数列表)->返回值 { 函数体}; 那么我们怎么来理解这个lambda表达式? lambda表达式是一个类,底层是通过仿函数来实现的. 捕捉列表可以理解为 决定类里面的成员变量. 我们来看个demo. #include <iostream> #include &.
2021-05-21 10:03:53
210
原创 如何学webrtc的开源代码?
出差回来2周的样子,下载了2021.3月份版本的webrtc,然后开始研究webrtc,今天研究完了webrtc中的 TaskQueue,感悟颇深,觉得有必要整理下怎么来学webrtc!! 先阐述观点: webrtc是一个很庞大的工程,不要想着一口气给啃下,这个不现实,如果想一口气啃下: 先花费大量精力搞定api/rtc_base目录下的基础库 首先我们来看下webrtc的目录结构: webrtc的是分模块来设计的,这十分有助于我们后续的对单独的模块的拆分,但是每个模块都需要基础框架的支持,这些基.
2021-05-13 17:41:12
512
原创 搭建webassembly网页播放器(四)---网页调用ffmpeg.js单元测试用例
在本章节我们会简单的写一个简单的例子,使用我们上一章节生成的ffmpeg静态库生成ffmpeg.js给我们的网页程序调用,实现网页调用C++程序 章节列表: 搭建webassembly网页播放器(一)—centeros 虚拟环境搭建 搭建webassembly网页播放器(二)—emcc环境搭建 搭建webassembly网页播放器(三)—emcc编译ffmpeg编译库 #网页调用ffmpeg.js单元测试用例 调用ffmpeg静态库生成ffmpeg.js 这个模式有点类似Android的NDK程序,.
2021-04-14 17:35:45
5436
6
原创 搭建webassembly网页播放器(三)---emcc编译ffmpeg编译库
经过前面的2个部分,我们完成了环境的搭建,接下来我们使用emcc编译ffmpeg库,注意同样由于软链接的缘故,我们不能在windows和linux的共享文件夹里使用emcc编译ffmpeg, 这里我们选择在/mnt/work/webffmpeg目录下编译 章节列表: 搭建webassembly网页播放器(一)—centeros 虚拟环境搭建 搭建webassembly网页播放器(二)—emcc环境搭建 emcc编译ffmpeg编译库ffmpeg下载编写ffmpeg编译脚本 ffmpeg下载 使用g.
2021-03-31 15:20:52
3524
1
原创 搭建webassembly网页播放器(二)---emcc环境搭建
emcc全称 emscripten,最重要的功能就是让网页js调用c/c++ 成为可能,是我们基于webassembly搭建网页播放器必须依赖的编译工具. emcc官网的搭建教程较为简单,安装过程中最大的麻烦在于,编译依赖的各种库的安装,特别是版本. 搭建webassembly网页播放器(一)—centeros 虚拟环境搭建 glic依赖库注意事项 emsdk必须依赖glibc,但是glibc的安装需要特别注意,因为版本太多了,这里面还牵扯到第一个Center OS版本的问题. 在第一章说过,我.
2021-03-30 09:53:25
2229
原创 Linux下程序死锁检测方法
在我们的Linux程序中,我们经常会碰到死锁程序,这个时候,千万不要凭借自己的满腔热水去分析,我自己本人曾经花费长达一周的时间,天天加班去梳理整个锁的层级关系,下面要给大家介绍的是最直接有效的锁分析方法。 锁场景分析 互斥锁 运用场景, 会有2个线程 线程1 { 锁A // // do something 锁B } 线程2 { 锁B // // do something 锁A } 这种情况下,就是互斥锁. 获取锁: 线程1获取了锁A,等锁B 线程2获取了锁B,等锁.
2021-03-29 19:55:04
1751
原创 搭建webassembly网页播放器(一)---centeros 虚拟环境搭建
在搭建webassembly环境前,我们首先要搭建一套Linux系统,我们选择的是 Center OS系统,因为目前主流的服务器都是基于Center OS的,Ubuntu更多的是个人开发者的自学所使用. 搭建webassembly网页播放器操作系统版本注意事项必备安装工具安装CenterOS操作系统安装windows/Center OS共享文件夹 操作系统版本注意事项 center os镜像下载地址: https://www.centos.org/download/ 目前主流的版本有 Center OS.
2021-03-28 23:17:50
1794
4
原创 [不需翻墙]webrtc windows for vs 2019 编译工程下载
要学习 webrtc,我们所面临的第一道难关,就是如何搞定 webrtc的源码,基于学习的目的我们选择的是windows平台. 今天我们要解决的是:不翻墙下载最新版的webrtc代码,不使用代理. 已经下载好的windows源码百度网盘链接如下: 链接:https://pan.baidu.com/s/1vRF-00tk41TO7_l_fcAl_Q 提取码:bzhe 目前的版本应该是最新的2021.3.15更新版本.后续我们所有的代码研究都是以此版本为准. 网上有太多适用代理的教程,以及包括声网的国内镜像下载
2021-03-19 15:31:06
2291
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅