0%

在我的FFmpeg课程中,我总是推荐大家使用 Linux(Ubuntu)系统Mac系统 来学习FFmpeg。其原因,是在Windows下编译FFmpeg太麻烦了,这大大增加了我们学习FFmpeg的成本。

阅读全文 »

banner

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

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

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

阅读全文 »

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

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

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

阅读全文 »

推荐阅读:

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

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

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

阅读全文 »

这是SDL系列文章的第五篇,本文将彻底让你理解什么是纹理。并带你深入探讨SDL的几个重要概念SDL_Window、SDL_Render、SDL_Surface 与 SDL_Texture。在文章的最后向你展示SDL如何通过SDL_Texture进行渲染。

对于前面系列文章感兴趣的同学可以通过下面的链接查看:

阅读全文 »

之前的SDL的两篇文章我向大家介绍了如何编译使用 SDL,以及如何才能让窗口显示出来。想了解相关内容的同学可以点击下面的链接查看相关内容。

本文将向大家介绍一下,如何通过 SDL 绘制一些基本图形,如 点、线、矩形。了解了这些基本图形后,你就可以按照搭积木的方式,构造出其它更复杂的图形了。

阅读全文 »

推荐阅读:

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

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

阅读全文 »

今天向大家介绍一下如何通过 SDL 实现一个PCM音频播放器。这是一个最简单的播放器,它不涉及到音频的解复用,解码等工作。我们只需要将音频原始数据喂给 SDL 音频接口就可以听到悦耳的声音了。在下面的列子中我将向你演示,使用 SDL 做这样一个播放器是何等的简单。

当然这个看似简单的播放器其实是由许多的理论基础在底层支持着的。如果在这方面没有什么基础的同学可以通过下面的链接去自行学习。

阅读全文 »

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

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

阅读全文 »

作者 | 李超
整理 | LiveVideoStack

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

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

阅读全文 »