![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
视频直播
田风有
1.负责公司iphone客户端软件的开发,参与项目需求分析,产品设计。
2.按计划完成产品的代码编写,产品测试,并且保证代码质量。
3.按照开发流程编写相应的模块的设计文档。
4.跟进ios平台终端技术的更新,设计和实现新产品和功能。
5.对ios平台开发技术进行研究。
6.提供产品相关技术支持。
7.代码的编写和维护.
展开
-
教你实现GPUImage【OpenGL渲染原理】
一、GPUImageVideoCamera可以捕获采集的视频数据关键是捕获到一帧一帧视频数据如何展示?通过这个方法可以获取采集的视频数据-(void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromCo原创 2017-05-16 16:21:53 · 1380 阅读 · 0 评论 -
【如何快速的开发一个完整的iOS直播app】(原理篇)
一、个人见解(直播难与易)直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的。直播易:已经有各个领域的大牛,封装好了许多牛逼的框架,我们只需要用别人写好的框架,就能快速的搭建一个直播app,也就是传说中的站在大牛肩膀上编程。原创 2017-05-16 16:08:01 · 638 阅读 · 0 评论 -
【如何快速的开发一个完整的iOS直播app】(播放篇)
效果直播.gif一、基本知识README.md文件:框架的描述文件,描述这个框架怎么使用编译语言:程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要翻译,所以编译型语言的程序执行效率高,比如OC,C,C++解释性语言:解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这原创 2017-05-16 16:11:32 · 586 阅读 · 0 评论 -
【如何快速的开发一个完整的iOS直播app】(采集篇)
为了采集效果图,我也是豁出去了,请忽略人物,关注技术。忽略本人.png基本知识介绍AVFoundation: 音视频数据采集需要用AVFoundation框架.AVCaptureDevice:硬件设备,包括麦克风、摄像头,通过该对象可以设置物理设备的一些属性(例如相机聚焦、白平衡等)AVCaptureDeviceInput:硬件输入对象,原创 2017-05-16 16:14:44 · 828 阅读 · 0 评论 -
【如何快速的开发一个完整的iOS直播app】(美颜篇)
利用GPUImage处理直播过程中美颜的流程采集视频 => 获取每一帧图片 => 滤镜处理 => GPUImageView展示美颜原理.png美颜基本概念GPU:(Graphic Processor Unit图形处理单元)手机或者电脑用于图像处理和渲染的硬件GPU工作原理:采集数据-> 存入主内存(RAM) -> CPU(计算处理)原创 2017-05-16 16:16:23 · 421 阅读 · 0 评论 -
【如何快速的开发一个完整的iOS直播app】(推流篇)
一、安装HomebrewHomebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件。1、打开终端, 查看是否已经安装了Homebrew, 直接终端输入命令*man命令:manual(手册)的缩写,可以查看某一命令的帮助信息,比如git,brew,顺便可以查看有没有按照这个命令.man brew原创 2017-05-16 16:17:11 · 1207 阅读 · 0 评论 -
【如何快速的开发一个完整的iOS直播app】(搭建Web服务器)
Web服务器能处理HTTP请求的服务器都可以叫Web服务器Node.js介绍Node.js什么时候出现,2009年,Ryan Dahl(瑞恩·达尔)在GitHub上发布了最初版本的部分Node.js包,随后几个月里,有人开始使用Node.js开发应用什么是Node.js,做过Javascript开发的,看到Node.js这个名字,初学者可能会误以为这是一个Jav原创 2017-05-16 16:17:47 · 862 阅读 · 0 评论 -
【如何快速的开发一个完整的iOS直播app】(搭建Socket即时通讯服务器)
即时通讯即时通讯(Instant messaging,简称IM)是一个终端服务,允许两人或多人使用网路即时的传递文字讯息、档案、语音与视频交流即时通讯技术原理(了解Socket)Socket介绍: 套接字或者插座,用于描述IP地址和端口号,是一种网络的通信机制。Socket作用: 网络通信底层都是通过socket建立连接的,因为它包含IP和端口,只要有这两个就能原创 2017-05-16 16:18:19 · 457 阅读 · 0 评论 -
直播预览层添加滤镜效果(CIFilter使用场景)
直播预览层添加滤镜效果原理,在显示之前,提前对图片进行滤镜处理,把处理后的图片展示出来就好了.CIFiter(滤镜类):给图片添加特殊效果(模糊,高亮等等).CIFiter滤镜分类(一个滤镜可能属于多个分类)kCICategoryDistortionEffect 扭曲效果,比如bump、旋转、holekCICategoryGeometryAdjustme原创 2017-05-16 16:18:49 · 3019 阅读 · 0 评论 -
如何快速的开发一个完整的iOS直播app】(创建房间)
直播(创建房间)1.进入主播界面,首先创建房间2.设计房间模型(key,名称),key作为房间的唯一标识,用来找到房间3.用socket创建房间,导入socket.io框架4.一般一个客户端一个socket就好了,可以搞个全局的socket5.客户端代码(需要封装) 1.一个获取全局的socket 2.一个连接方法封装6.可以在程序一启动的时候,原创 2017-05-16 16:19:50 · 821 阅读 · 0 评论 -
【如何快速的开发一个完整的iOS直播app】(礼物篇)
搭建礼物列表使用modal,设置modal样式为custom,就能做到从小往上显示礼物列表,并且能看见前面的直播界面礼物模型设计一开始创建3个礼物模型,保存到数组,传入给礼物View展示,本来礼物数据应该从服务器获取,这里没做了。到时候拿到礼物View就能拿到对应按钮,传给服务器就好了.礼物模型设计礼物模型用户模型(userID,user原创 2017-05-16 16:20:23 · 2724 阅读 · 0 评论 -
【如何快速的开发一个完整的iOS直播app】(编解码原理)
为什么要编码编码就是压缩图像手机摄像头采集的都是一帧一帧的图片,只要每秒采集了24帧,看起来就比较流畅,视频就是由一帧一帧的图片构成的,常见图片格式png,jpg,一张图片2M,一秒钟30帧,那么1秒就是60M,这么多保存到本地是没问题,但是进行网络传输,尤其是在外网传输,每一秒传输60M,在中国是不可能达到这个带宽,那这时候就要对每一帧图象进行压缩带宽:每秒网络传输的原创 2017-05-16 16:20:49 · 386 阅读 · 0 评论 -
【如何快速的开发一个完整的iOS直播app】(点赞功能)
客户端代码点击小红心,发送socket给服务器,并且要传递房间Key给服务器,通知给哪个主播点赞,就能传入到对应的分组socket中怎么传递房间key,房间Key在主播界面,一般一个客户端,只会产生一个房间,可以记录到socket对象中业务逻辑:用户点击小红心,小红心就会往上慢慢飘。实现原理:其实就是一个动画。怎么实现:用UIView做不了,因为小红心是原创 2017-05-16 16:21:17 · 824 阅读 · 0 评论 -
直播预览层(AVCaptureVideoPreviewLayer)底层实现
分析sampleBuffer(帧数据)通过设置AVCaptureVideoDataOutput的代理,就能获取捕获到一帧一帧数据[videoOutputsetSampleBufferDelegate:selfqueue:videoQue];拿到这一帧一帧数据(sampleBuffer)怎么显示到屏幕上了-(void)captureOutput:(AVCaptur原创 2017-05-16 16:19:15 · 1652 阅读 · 0 评论