WebRTC代码目录结构

2024-08-21 18:08
文章标签 代码 结构 目录 webrtc

本文主要是介绍WebRTC代码目录结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

├── ./base  //基础平台库,包括线程、锁、socket等
├── ./build //编译脚本,gyp
├── ./common_audio  //基础公共的音频处理
│   ├── ./common_audio/include  //就一个类型转换头文件
│   ├── ./common_audio/resampler    //音频重采样代码
│   ├── ./common_audio/signal_processing    //音频信号处理代码,和硬件平台有关,有汇编代码
│   └── ./common_audio/vad  //vad代码
├── ./common_video  //基础的公共视频处理,如I420桢处理、scaler、plane
├── ./examples //例子
├── ./libjingle //libjingle
├── ./modules
│   ├── ./modules/audio_coding
│   │   ├── ./modules/audio_coding/codecs //音频codec处理,统一封装公共接口和各类不同的codec的具体处理,


cng,g711,g722等
│   │   ├── ./modules/audio_coding/main //音频codec处理模块代码
│   │   │   ├── ./modules/audio_coding/main/acm2    //音频处理模块的主要代码
│   │   └── ./modules/audio_coding/neteq    //neteq代码
│   │       ├── ./modules/audio_coding/neteq/interface
│   │       ├── ./modules/audio_coding/neteq/mock
│   │       ├── ./modules/audio_coding/neteq/test
│   │       └── ./modules/audio_coding/neteq/tools
│   ├── ./modules/audio_conference_mixer    //音频合成代码
│   │   ├── ./modules/audio_conference_mixer/interface
│   │   └── ./modules/audio_conference_mixer/source
│   ├── ./modules/audio_device  //audio设备处理代码,采集和放音,android,ios,linux,mac,win
│   │   ├── ./modules/audio_device/main //AudioDeviceModule处理代码
│   ├── ./modules/audio_processing //音频前后端处理,aec,aecm,agc,beamformer,ns,transient
│   ├── ./modules/bitrate_controller    //码率模块控制代码
│   ├── ./modules/desktop_capture //桌面抓拍处理代码和各平台处理代码,mac,win,x11
│   ├── ./modules/interface
│   ├── ./modules/media_file    //播放录制文件模块代码,支持avi
│   ├── ./modules/pacing    //码率探测代码
│   ├── ./modules/remote_bitrate_estimator  //远端码率计算
│   ├── ./modules/rtp_rtcp //rtp、rtcp的处理代码,封装解封装,各种codec的不同处理、fec
│   ├── ./modules/utility
│   ├── ./modules/video_capture //视频摄像头采集代码,android、ios、linux、mac、win
│   ├── ./modules/video_coding //视频codec处理代码,i420、vp8、vp9
│   │   ├── ./modules/video_coding/codecs
│   │   ├── ./modules/video_coding/main //VideoCodingModule处理代码
│   ├── ./modules/video_processing //视频前后处理,brighten,color enhancement,deflickering,spatial 


resampler等
│   │   └── ./modules/video_processing/main //VideoProcessingModule
│   └── ./modules/video_render  //视频渲染代码,android,ios、linux、mac、windows、opengles
├── ./p2p //nat穿越代码,turn/stun等,服务器和客户端
│   ├── ./p2p/base
│   └── ./p2p/client
├── ./sound //未知
├── ./system_wrappers //系统api封装
├── ./test
├── ./tools //音视频测试工具代码
├── ./video //未知
├── ./video_engine  //视频引擎代码,视频的处理流程
└── ./voice_engine  //音频引擎代码,音频处理流程

这篇关于WebRTC代码目录结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1093895

相关文章

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

自定义类型:结构体(续)

目录 一. 结构体的内存对齐 1.1 为什么存在内存对齐? 1.2 修改默认对齐数 二. 结构体传参 三. 结构体实现位段 一. 结构体的内存对齐 在前面的文章里我们已经讲过一部分的内存对齐的知识,并举出了两个例子,我们再举出两个例子继续说明: struct S3{double a;int b;char c;};int mian(){printf("%zd\n",s

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

D4代码AC集

贪心问题解决的步骤: (局部贪心能导致全局贪心)    1.确定贪心策略    2.验证贪心策略是否正确 排队接水 #include<bits/stdc++.h>using namespace std;int main(){int w,n,a[32000];cin>>w>>n;for(int i=1;i<=n;i++){cin>>a[i];}sort(a+1,a+n+1);int i=1

android应用中res目录说明

Android应用的res目录是一个特殊的项目,该项目里存放了Android应用所用的全部资源,包括图片、字符串、颜色、尺寸、样式等,类似于web开发中的public目录,js、css、image、style。。。。 Android按照约定,将不同的资源放在不同的文件夹中,这样可以方便的让AAPT(即Android Asset Packaging Tool , 在SDK的build-tools目

OpenCV结构分析与形状描述符(11)椭圆拟合函数fitEllipse()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C++11 算法描述 围绕一组2D点拟合一个椭圆。 该函数计算出一个椭圆,该椭圆在最小二乘意义上最好地拟合一组2D点。它返回一个内切椭圆的旋转矩形。使用了由[90]描述的第一个算法。开发者应该注意,由于数据点靠近包含的 Mat 元素的边界,返回的椭圆/旋转矩形数据