直播技术架构¶
备注
目前仅做资料整理,梳理直播涉及的技术堆栈,后续再做实践
流程¶
采集
iOS
Android
PC端: 采用开源 OBS (Open Broadcaster Software) Studio - 内置编码,支持RTMP官博,多源、网络摄像头、绿屏、视频捕捉卡
直播互动:
基于 WebRTC 实时通讯技术 (本地用户(主播)和远程用户(连麦观众)之间的连接通过 RTCPeerConnection API 管理,这个 API 包装了底层流管理和信令控制相关的细节)
处理
iOS端有 GPUImage库 提供丰富端预处理效果(美颜、视频处理如模糊效果、水印等)
Android端有GPUImage的移植( android-gpuimage ),此外Google官方开源库覆盖了 Android上多媒体和图形图像处理库
编码
推流和传输
我非常欣赏 低端影视 视频网站,高清视频配合外挂字幕,可以看到视频采用了CDN加速技术
转码
服务器端提供转码功能将提供不同格式和协议,如RTMP, HLS 和 FLV
一些思路¶
浅谈直播技术 虽然是好些年前的文章,但是提到的 网络直播需要哪些设备和技术? 有很多技术索引。并且参考 ffmpeg+nginx+nginx-rtmp-module 搭建 rtmp hls http 流媒体服务器成功经验分享
VideoLAN (即VLC)提供了开源跨平台多媒体播放器和框架,能够显示流媒体播放
传输加速技术(待调研): KCP低延迟网络堆栈