WebRTC的三种架构

WebRTC 是基于 P2P 的实时通信技术,(如果 P2P 打洞失败,则会使用 TURN 服务器进行数据转发),在有 2 台客户端参与的情况下,网络拓扑结构如图:

音视频编程

客户端软件日志输出规范

众所周知,软件日志对问题的排查可以起到至关重要的作用,但在多人协同开发的情况下,可能会导致不同的人使用不同的日志打印风格,导致日志可阅读性不高。纵观各大知名软件的输出日志,无不有着规范的格式,非常利于阅读。 本日志输出规范仅适用于客户端软件,不适用于...

项目管理

流媒体基础概念

一、流媒体协议1.1 RTP (Real-time Transport Protocol)1.1.1 RTP 特征实时传输协议(Real-time Transport Protocol)是一个网络传输层协议,它是由 IETF 的多媒体传输工作小组 1...

音视频编程

Windows资源管理器图标覆盖优先级设定

我们在安装了TortoiseSVN或TortoiseGit后,会自动在资源管理器的文件夹和文件图标上显示覆盖图标(Icon Overlay),这样可以比较方便的查看文件状态。 但有时候我们安装的其他软件,如Dropbox等,也会在资源管理器中显示覆盖...

编程基础

Windows平台编译WebRTC源码

写作本文时使用的 webrtc 版本为:branch heads/67 一、 准备工作1.0 请确保可以访问国外网站1.1 系统语言切换到英文系统 Windows 7/10 都可以,在“控制面板”–>”区域和语言”–>”管理”–>”更改系统区域设置”中切换到“英语(美国)”,然后重启系统。

音视频编程

拨开字符编码的迷雾(5)--Qt字符编码

我们以“测试字符串-보고싶다-Test String.”这个字符串来进行讲解,它包含了英文、中文和韩文。因为我使用 Qt 的方式是Visual Studio + Qt库的形式,所以本文以Visual Studio的MSVC编译器为例来进行讲解,但这种方式的原理也适用于其他编译器。 QString 中使用 QChar 来存储每一个字符,QChar 是 short 类型,占 2 个字节,默认按 Unicode 编码存储。 首先,为了保证写到代码文件中的测试字符串能被 MSVC 编译器理解,我们需要将源文件保存为Utf8-带签名的格式。具体参考:拨开字符编码的迷雾(2)--编译器处理文件编码

Qt

Windows内存体系(7)--使用std::string跨MT模块传参

前面的Windows内存体系(6)--跨模块内存分配释放文章解释了跨 MT 模块分配的内存相互释放为什么会崩溃的问题,本文介绍如何解决该问题。

Windows编程

Wav音频编码

一. WAVE 简介WAV格式是微软公司(Microsoft)开发的一种声音文件格式,它符合 RIFF(Resource Interchange File Format)文件规范,用于保存 Windows 平台的音频信息资源,被 Windows 平台及其应用程序所广泛支持。 WAVE 是录音时用的标准的 WINDOWS 文件格式,文件的扩展名为“WAV”,数据本身的格式为 PCM 或其他压缩数据,属于无损音乐格式的一种。 所有的 WAV 都有一个文件头,这个文件头记录了音频流的编码参数。WAV文件 = WAV头 + PCM数据。

音视频编程
1161718192024