WolfcsTech


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 公益 404

RTC 技术知识体系

发表于 2020-03-22 | 分类于 音视频开发 | | 阅读次数: 0

RTC(Real-time Communications),直译或者广义指实时通信,狭义一般称为实时音视频,在这次全球大爆发的新冠肺炎疫情中,作为视频会议、视频通话、远程办公、远程医疗和互动直播等应用的底层技术,为全社会的尽力运转提供了巨大的支持。

阅读全文 »

C++ lambda 捕获模式与右值引用

发表于 2020-03-21 | 分类于 C/C++开发 | | 阅读次数: 0

lambda 表达式和右值引用是 C++11 的两个非常有用的特性。

阅读全文 »

WebRTC 的音频处理流水线

发表于 2019-12-23 | 分类于 音视频开发 | | 阅读次数: 0

基于 RTC 场景下要解决的声音的问题,WebRTC 有一个大体如下图所示的音频处理流水线:

Audio Pipeline

阅读全文 »

WebRTC 中的基本音频处理操作

发表于 2019-12-12 | 分类于 音视频开发 | | 阅读次数: 0

在 RTC,即实时音视频通信中,要解决的音频相关的问题,主要包括如下这些:

  • 音频数据的采集及播放。
  • 音频数据的处理。主要是对采集录制的音频数据的处理,即所谓的 3A 处理,AEC (Acoustic Echo Cancellation) 回声消除,ANS (Automatic Noise Suppression) 降噪,和 AGC (Automatic Gain Control) 自动增益控制。
  • 音效。如变声,混响,均衡等。
  • 音频数据的编码和解码。包括音频数据的编码和解码,如 AAC,OPUS,和针对弱网的处理,如 NetEQ。
  • 网络传输。一般用 RTP/RTCP 传输编码后的音频数据。
  • 整个音频处理流水线的搭建。
    阅读全文 »

C++ WebSocket 库

发表于 2019-10-25 | 分类于 网络技术 | | 阅读次数: 0

WebSocket 是 HTML5 的一个引入注目的特性,它通常用于 Web 端,为构建实时的 Web 应用提供方便。WebSocket 是一个基于 TCP 的协议,它借助于 HTTP 请求,建立客户端与服务器端之间的双向通道,通道建立完成后,客户端和服务器端都可以通过这条通道方便地收发消息,因而 WebSocket 一向有着 “Web 的 TCP” 之称。

WebSocket 不是 JavaScript 的一个接口,而是一个定义良好的基于消息的协议。得益于不同平台对于 WebSocket 协议的广泛实现,它更为跨多种平台的 实时网络应用程序 开发提供了极大的方便。除了可以在前端开发的 JavaScript 中使用 WebSocket 之外,我们也可以在 Java、C++、Go、Rust 等编程语言平台中使用 WebSocket。

阅读全文 »

QUIC 丢包检测和拥塞控制

发表于 2019-08-29 | 分类于 网络协议 | | 阅读次数: 0

摘要

本文档描述 QUIC 的丢包检测和拥塞控制机制。

阅读全文 »

Googletest 实现简要分析

发表于 2019-08-22 | 分类于 C/C++开发 | | 阅读次数: 0

借助于 Googletest 测试框架,我们只需编写测试用例代码,并定义简单的 main() 函数,编译之后并运行即可以把我们的测试用例跑起来。(更详细的内容可参考 Googletest 入门)。但 main() 函数调用 RUN_ALL_TESTS() 时,是如何找到并运行我们编写的测试用例代码的呢?本文尝试找寻 Googletest 框架背后隐藏的这些秘密。(代码分析基于 git@github.com:google/googletest.git 的 commit 2134e3fd857d952e03ce76064fad5ac6e9036104 的版本。)

阅读全文 »

Ogg 封装格式版本 0

发表于 2019-08-05 | 分类于 音视频开发 | | 阅读次数: 0

关于本备忘录

这份备忘录为互联网社区提供信息。它不描述任何种类的互联网标准。分发这份备忘录不受任何限制。

版权声明

Copyright (C) The Internet Society (2003)。All Rights Reserved。

摘要

这份文档描述 Ogg 流格式的版本 0,它是媒体流的一个通用,可自由使用的封装格式。它能够在单个流中封装任何种类和数量的视频和音频编码格式,以及其它数据流。

阅读全文 »

Googletest 入门

发表于 2019-08-01 | 分类于 C/C++开发 | | 阅读次数: 0

简介:为什么是 googletest?

googletest 可以帮助我们更好地编写 C++ 测试用例。

googletest 是一个由 Google 的测试技术团队开发的测试框架,它考虑到了谷歌的特定需求和限制。无论你使用的是 Linux、Windows 还是 Mac,只要你编写 C++ 代码,googletest 都可以帮到你。它支持任何类型的测试,不只是单元测试。

那么,什么是好的测试,以及 googletest 是如何做到这些的呢?我们相信:

阅读全文 »

WebRTC Audio 接收和发送的关键过程

发表于 2019-07-20 | 分类于 音视频开发 | | 阅读次数: 0

本文基于 WebRTC 中的示例应用 peerconnection_client 分析 WebRTC Audio 接收和发送的关键过程。首先是发送的过程,然后是接收的过程。

阅读全文 »
12…21
Han Pengfei

Han Pengfei

207 日志
19 分类
30 标签
GitHub 豆瓣 知乎 E-Mail
Links
  • Android Developers
  • Android Open Source Project
  • 蚂蚁网
© 2016.09.16 — 2020 Han Pengfei
由 Hexo 强力驱动
|
主题 — NexT.Mist v6.0.3