• 麦克船长的 OpenRTMFP/Cumulus 原理、源码及实践 8:经由服务器的 Pub/Sub 流程的关键点

    Flash 客户端通过 NetConnection 与 Cumulus 建立连接,然后通过 NetStream 使用 RTMFP 发布 Audio/Video/Data(下面简称为 A/V/D) 给服务器,这个 Flash Player 就作为一个发布者(Publisher)。RTMFP 服务器接收到后给所有的订阅者(Subscribers)发送 Audio/Video/Data。本文将介绍如何经由服务器实现 Pub/Sub 流程。

  • 麦克船长的 OpenRTMFP/Cumulus 原理、源码及实践 7:Cumulus 源码的一个线程启动 Bug 及修复方法

    本文是麦克船长《OpenRTMFP/Cumulus 原理、源码及实践》系列文章的其中一篇,相关内容最初首发于 CSDN 的 Poechant 技术博客,后整理于本博客。Cumulus 启动后,我们可以看到有多个线程被创建,但是有时其中的个别线程没有被成功启动,本文将告诉你如何修复并解决。

  • 麦克船长的 OpenRTMFP/Cumulus 原理、源码及实践 6:独立使用 CumulusLib 的线程安全 Bug 修复方法

    本文是麦克船长《OpenRTMFP/Cumulus 原理、源码及实践》系列文章的其中一篇,相关内容最初首发于 CSDN 的 Poechant 技术博客,后整理于本博客。对于使用 Cumulus 来做二次开发的技术人员,CumulusLib 是一定会使用到的,但是 CumulusLib 的源码在被单独使用时是存在严重的线程安全 Bug 的,这就是本文诞生的原因。YY 的网页版流媒体技术服务端使用到 CumulusLib 时遇到了这个问题,因此修复了这个 Bug。最终的 Bug 修复很简单,但是要先理解 CumulusLib 整体线程安全问题才能确定解决方案。

  • 一名出色软件工程师的技术基本功:编程与工具

    再过一个多月,我就毕业工作一年了。目前在广州的 YY 语音,是 Web YY 音视频媒体技术负责人,公司预计在下半年上市,我希望通过 Web 版 YY 能为用户更容易访问(免注册、免登陆)来拉动 YY 的 DAU(活跃用户人数)助力 YY 上市。夜深人静,写一些自己对于出色软件工程师技术基本功的理解 ……

  • 麦克船长的 OpenRTMFP/Cumulus 原理、源码及实践 5:IO 管理源码分析

    本文是麦克船长《OpenRTMFP/Cumulus 原理、源码及实践》系列文章的其中一篇,相关内容最初首发于 CSDN 的 Poechant 技术博客,后整理于本博客。本篇文章主要介绍 Cumulus 中 Input/Output 管理的源码分析,包括流缓冲区、IO 流、局部内存片。

  • 麦克船长的 OpenRTMFP/Cumulus 原理、源码及实践 4:AMF 解析源码分析

    本文是麦克船长《OpenRTMFP/Cumulus 原理、源码及实践》系列文章的其中一篇,相关内容最初首发于 CSDN 的 Poechant 技术博客,后整理于本博客。本篇文章主要介绍 ActionScript 独有的 AMF 数据格式,并对其序列化和反序列化的源码进行详细解读。

  • 麦克船长的 OpenRTMFP/Cumulus 原理、源码及实践 3:CumulusServer 源码主进程主循环分析

    CumulusServer 主进程的主循环分析,看本文一篇就够了。从绑定地址开始,本文介绍了如何接收数据,如何在 CumulusEdge 和 CumulusServer 的 socket 不同情况下的处理逻辑,如何处理发送方 IP 被禁、数据包大小异常等问题。通过本文让你了解 CumulusServer 的主循环,需要你对 POCO 库有一点了解,还要稍微熟悉 C++ 的基本语法。

  • 麦克船长的 OpenRTMFP/Cumulus 原理、源码及实践 2:CumulusServer 源码启动流程分析

    本文是麦克船长《OpenRTMFP/Cumulus 原理、源码及实践》系列文章的第二篇,相关内容最初首发于 CSDN 的 Poechant 技术博客,后整理于本博客。本文对 CumulusServer 的启动流程进行了详细的源码解读,其中还包括 CumulusServer 如何处理命令行的各个输入选项、各项命令、如何 dump logs、载入配置、处理日志。

  • 麦克船长的 OpenRTMFP/Cumulus 原理、源码及实践 1:入门介绍、部署与 Hello World

    RTMFP 是 Adobe 开发的基于 UDP 协议的实时传输媒体流协议,支持 P2P 传输,具有较高的实时性和安全性。它的主要应用场景是视频通信、语音通信和网络游戏。OpenRTMFP 是一个开源的 RTMFP 实现,可以用于构建基于 RTMFP 的应用程序。Cumulus 是一个基于 OpenRTMFP 的服务器,提供 RTMFP 服务。它具有轻量级、跨平台和可扩展的特点,并且还提供了负载均衡和可扩展性解决方案。YY 语音的 Web 端音视频流媒体能力,正是基于 RTMFP 协议做的迭代优化实现的。本文是船长关于这个系列文章的第一篇 ……