Depth.Love Blog

GitHub:https://github.com/depthlove

0%

目前,鉴于对自己的人生规划,做出了离开深圳去北京发展的决定。为什么去北京?第一是工作赚钱,第二是找个学校读个博士,第三是有了一定物质基础和条件要走出国门。

阅读全文 »

Part 1. 推流端

推流,就是将采集到的音频,视频数据通过流媒体协议发送到流媒体服务器。

一、选择流媒体协议

现在直播应用,采用 RTMP 协议居多,也有部分使用 HLS 协议。

采用RTMP协议,就要看下它与流媒体服务器交互的过程,RTMP协议的默认端口是1935,采用 TCP 协议。并且需要了解 FLV 的封装格式。

采用 HLS 协议,因为涉及到切片,延时会比较大,需要了解 TS 流。

阅读全文 »

该文的内容在我之前的文章中已经实现过,但是为了结构清晰起见,本文将相机控制和采集视频数据功能封装为单独的库。

iOS上使用AVFoundation.framework框架来调用系统相机并获取视频数据。视频数据可以根据设定的参数,可采集到RGB或YUV数据,一般使用的是GBRA32,420v,420f,下面演示相机的调用和视频数据的获取。

a)引入框架的头文件#import <AVFoundation/AVFoundation.h>

b)调用的类遵守协议AVCaptureVideoDataOutputSampleBufferDelegate

阅读全文 »