0%

banner

前段时间经常有同学问我,如何在Windows下利用编译出的WebRTC库开发自己的应用程序,当时特别忙就让同学到网上找答案了,没想到过了几天同学们又来问,说网上找不到……

相对于移动端,在Windows下使用WebRTC库确实困难些。在移动端(iOS、Andorid),你可以直接从Google提供的Pod库中拉取编译好的WebRTC库,而在Windows端则需要我们自己编译WebRTC库,并导出WebRTC头文件。

这几天手头的工作终于忙的差不多了,今天就花点时间整理一下这方面的知识,给同学们搭个台阶,让同学们快尽入手WebRTC:)。

阅读全文 »

前言

最近发现有很多同学在学习OpenCV时,不知道该如何在Windows下编译OpenCV源码,这里我整理了一份Windows编译OpenCV的具体步聚,希望可以帮助到大家。

Windows下编译OpenCV分为四步,即:

  • 一、下载安装必要的工具
  • 二、下载OpenCV源码
  • 三、生成编译脚本
  • 四、使用VS工程编译OpenCV
阅读全文 »

一直以来音频的3A(回音消除、降噪、自动增益)问题都是音视频实时通信中特别关键,也特别难以解决的问题。尤其是回音消除问题,更是难上加难,它就好比你向水中倒了一些墨汁,现在又想将它从水中提取出来一样困难。

对于做音视频 PaaS (提供API接口服务)的公司而言,只有将3A问题处理好,才能在音视频实时通信市场上占有一席之地,否则就没法与声网、腾讯等这些老牌或巨头公司进行竞争。正是由于3A 问题是做音视频公司必须要解决好的问题,所以它们对能够解决这类问题的人才都求贤若渴,对于想进入音视频行业的同学来说,如果你能具有3A问题的解决能力,那你一定会成为各音视频大厂挣抢的“香饽饽”。

为了让大家学到更多的干货,这次我特意邀请到拍乐云合伙人&音频专家 Ark,请他为大家详细介绍在商业应用中都会遇到哪些3A问题,遇到这类问题时该如何解决,对于初入门的同学又该如何学习音频技术。相信通过这次分享,一定会让大家会收获满满。

感兴趣的小伙伴请加入讨论群, 分享时间为2021年6月30 19:45。

音频3A经验分享群

阅读全文 »

随着音视频技术的不断普及,Google推出的 WebRTC 越来越受到大家的喜欢。现在很多直播产品都是基于WebRTC 进行二次开发做出来的。

WebRTC是提供了一整套处理实时音视频的开源库。它包括了音视频处理(采集,编解码,前处理,后处理,渲染),数据传输(实时传输,流控)和业务逻辑控制。可以说 WebRTC 的出现大大减少了做音视频开发的难度,所以熟练掌握好这个库对于做音视频相关的同学就显的特别重要了。

要想掌握 WebRTC 要过的头一关就是如何编译它。WebRTC库非常庞大,光源码就有几个G,所以它对开发主机的性能,网络带宽的要求都非常高。另外,在Windows平台下,它对Windows的系统版本,Visual Studio 版本也都有明确的要求,所以只要其中某一项出问题了,都可能导致失败。这就是为什么很多人在编译WebRTC经常失败的原因。

下面我们言归正传,介绍一下在如何在 Windows下成功编译WebRTC.

阅读全文 »

作者 | 李超
整理 | LiveVideoStack

非常高兴和大家一同探讨WebRTC传输是如何保证音视频服务质量的。

本次分享我将从四个方面向大家介绍一下WebRTC传输是如何保证音视频服务质量的。第一,实时通信的目标。我们首先需要确定实时通信的目标,才能够知道要将实时通信做成怎样的系统、保证怎样的实时性;第二,WebRTC如何保障数据传输的实时性;第三,进行实时传输时,想要满足实时性,网络与服务质量之间可能存在的矛盾;最后,就是WebRTC如何解决网络与服务质量之间的矛盾。

阅读全文 »

前面我为大家介绍了 SDL 的三个主题:

今天我为大家介绍一下SDL的事件处理。这里所指的事件处理就是我们通常所说的,键盘事件,鼠标事件,窗口事件等。

SDL对这些事件都做了封装,提供了统一的API,下面我们就来详细的看一下。

阅读全文 »

今天将向大家介绍一下SDL中的多线程的使用。通过下面对SDL 线程与锁相关的API介绍,你会发现,它与 Linux, Windows相关的API几乎是一模一样的。从这里可以推断出,其实SDL对于多线程的处理只是为大家提供了一套统一接口,并没有做其它太多的工作。

这是我们介绍 SDL 的第六篇文章。有兴趣的同学可以通过下面的链接查看其它几篇文章。

阅读全文 »

推荐阅读:

SDL是 “Simple DirectMedia Layer”的缩写,它是一个开源的项目。其主要用于游戏开发中的多媒体处理,如视频渲染,音频播放,鼠标/键盘控制等操作。

并且它是一个跨平台的多媒体库。也就是说它对外接供了一套统一的接口,但在内部,它会根据不同平台调用不同的底层 API库。如在 Linux 系统下,它会使用 opengl 做渲染,而在 Window 下它会调用 D3D API进行渲染。

我之所以要介绍它,主要是因为我要在开发的多媒体播放器中使用它。

阅读全文 »

推荐阅读:

上一篇文章中我们对SDL作了简单的介绍,重点介绍了如何编译SDL以及如何使用它。在文章的最后我们留下了一个疑问,即虽然我们创建了窗口,但窗口却并没有真正显示出来。

今天我们就来看一看,如何才能让创建的窗口真正的显示出来。

阅读全文 »