OBS-Studio 是一款非常好用的开源直播推流软件, 目前已经发布了很多个版本但是目前都没看到详细或流程清晰的源码分析介绍所以, 本文以线程为单位对 OBS 的采集编码传输流程进行梳理, 一方面能够使我自己更清楚 OBS 架构和运行流程, 另一方面也能方便新手同学整体的粒度不会太细, 但已经能够阐述 OBS 流程由于水平有限, 其中可能存在问题, 如果有, 请指出
OBS 主要线程共五个:
1. 主线程: 主要做一些初始化工作和 UI 处理
2. 视频渲染线程: 渲染视频到窗口
3. 视频编码线程: 编码原始视频
4. 音频编码线程: 编码原始音频
5. 流输出线程: 将编码后的音视频数据发送出去, 俗称推流
请看流程图 (下载清晰):
来源: http://www.bubuko.com/infodetail-2509151.html