WebRTC源码分析三:视频处理流程
2016-06-12 11:00
537 查看
文本介绍视频的处理流程。图1中显示了两路视频会话视频信号流过程。
图1 视频流程示意图
以一路视频会话为例,主要分为以下几个线程:
1)视频源产生线程:Camera生产视频画面,封装成视频帧,以一定帧率投递到下一个模块。;
2)采集线程:由Capturer负责采集视频帧,并对视频帧进行一定处理,如调整画面亮度。并送入各个发送链路的编码模块编码并发送出去;
3)接收线程:Rtp/Rtcp负责接收RTP/RTCP数据包,并进行包解析;
4)解码线程:Decoder解码编码后的视频帧;
5)投递线程:Render接收解码后的视频帧并缓存,投递给显示设备;
6)显示线程:Player负责绘制或输出视频画面,可以做多个窗口显示或者一个窗口多画面显示。
视频解码时间相对编码时间要长,因此开辟了单独线程完成解码;另外多路视频画面接收后没有类似多路音频混音的操作,而是分别进行渲染显示。
图1 视频流程示意图
以一路视频会话为例,主要分为以下几个线程:
1)视频源产生线程:Camera生产视频画面,封装成视频帧,以一定帧率投递到下一个模块。;
2)采集线程:由Capturer负责采集视频帧,并对视频帧进行一定处理,如调整画面亮度。并送入各个发送链路的编码模块编码并发送出去;
3)接收线程:Rtp/Rtcp负责接收RTP/RTCP数据包,并进行包解析;
4)解码线程:Decoder解码编码后的视频帧;
5)投递线程:Render接收解码后的视频帧并缓存,投递给显示设备;
6)显示线程:Player负责绘制或输出视频画面,可以做多个窗口显示或者一个窗口多画面显示。
视频解码时间相对编码时间要长,因此开辟了单独线程完成解码;另外多路视频画面接收后没有类似多路音频混音的操作,而是分别进行渲染显示。
相关文章推荐
- WebRTC 初体验
- WebRTC 简介
- WebRTC起航篇,写在最前面的话
- SimplewebRTC使用指南
- simpleWebRTC:一种简单的开源网页音视频聊天室解决方案(一)
- 在ubuntu上编译WebRTC Android版本
- WebRTC现状及实现概要
- WebRTC 初览(1) 概述
- WebRTC 初览(2) getUserMedia 介绍一
- WebRTC 初览(2) getUserMedia 介绍二
- WebRTC环境搭建
- 高性能stun服务器搭建
- webrtc源码下载
- WebCallServer WebRTC with Asterisk
- Asterisk 11的Web RTC功能
- 最简单的WebRTC示例
- 搭建webrtc服务器(ubuntu14.04)
- mac 下 webrtc 实现入门
- Mac Os 安装 node.js