摘要: https://www.jianshu.com/u/b09c3959ab3b ReactNative之项目结构介绍 一、初始化ReactNative工程 自动创建iOS和安卓工程,和对应的JS文件,index.ios.js,index.android.js 并且通过Npm加载package.json 阅读全文
posted @ 2022-05-10 19:53 hanease 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 一、前言 本篇主要讲解GPUImage底层是如何渲染的,GPUImage底层使用的是OPENGL,操控GPU来实现屏幕展示 由于网上OpenGL实战资料特别少,官方文档对一些方法也是解释不清楚,避免广大同学再次爬坑,本篇讲解了不少OpenGL的知识,并且还讲解了花了大量时间解决bug的注意点,曾经因 阅读全文
posted @ 2022-05-10 13:40 hanease 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 直播预览层添加滤镜效果 原理,在显示之前,提前对图片进行滤镜处理,把处理后的图片展示出来就好了. CIFiter(滤镜类):给图片添加特殊效果(模糊,高亮等等). CIFiter滤镜分类(一个滤镜可能属于多个分类) kCICategoryDistortionEffect 扭曲效果,比如bump、旋转 阅读全文
posted @ 2022-05-10 13:38 hanease 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 分析sampleBuffer(帧数据) 通过设置AVCaptureVideoDataOutput的代理,就能获取捕获到一帧一帧数据 [videoOutput setSampleBufferDelegate:self queue:videoQue]; 拿到这一帧一帧数据(sampleBuffer)怎么 阅读全文
posted @ 2022-05-10 13:37 hanease 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 直播(创建房间) 1.进入主播界面,首先创建房间 2.设计房间模型(key,名称),key作为房间的唯一标识,用来找到房间 3.用socket创建房间,导入socket.io框架 4.一般一个客户端一个socket就好了,可以搞个全局的socket 5.客户端代码(需要封装) 1.一个获取全局的so 阅读全文
posted @ 2022-05-10 13:36 hanease 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 客户端代码 点击小红心,发送socket给服务器,并且要传递房间Key给服务器,通知给哪个主播点赞,就能传入到对应的分组socket中 怎么传递房间key,房间Key在主播界面,一般一个客户端,只会产生一个房间,可以记录到socket对象中 业务逻辑:用户点击小红心,小红心就会往上慢慢飘。 实现原理 阅读全文
posted @ 2022-05-10 13:35 hanease 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 搭建礼物列表 使用modal,设置modal样式为custom,就能做到从小往上显示礼物列表,并且能看见前面的直播界面 礼物模型设计 一开始创建3个礼物模型,保存到数组,传入给礼物View展示,本来礼物数据应该从服务器获取,这里没做了。 到时候拿到礼物View就能拿到对应按钮,传给服务器就好了. 礼 阅读全文
posted @ 2022-05-10 13:34 hanease 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 为什么要编码 编码就是压缩图像 手机摄像头采集的都是一帧一帧的图片,只要每秒采集了24帧,看起来就比较流畅,视频就是由一帧一帧的图片构成的,常见图片格式png,jpg,一张图片2M,一秒钟30帧,那么1秒就是60M,这么多保存到本地是没问题,但是进行网络传输,尤其是在外网传输,每一秒传输60M,在中 阅读全文
posted @ 2022-05-10 13:33 hanease 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 在直播中,聊天和发礼物,需要用到及时通讯技术,市面上的App大多数采用的都是第三方SDK,融云,环信等,但是本例子采用websocket搭建及时通讯服务器。 即时通讯 即时通讯(Instant messaging,简称IM)是一个终端服务,允许两人或多人使用网路即时的传递文字讯息、档案、语音与视频交 阅读全文
posted @ 2022-05-10 13:32 hanease 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 开发一款直播app,肯定需要流媒体服务器,本篇主要讲解直播中流媒体服务器搭建,并且讲解了如何利用FFMPEG编码和推流,并且介绍了FFMPEG常见命令。 效果 一、安装Homebrew Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件。 1、打 阅读全文
posted @ 2022-05-10 13:30 hanease 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 开发一款直播app,美颜功能是很重要的,如果没有美颜功能,可能分分钟钟掉粉千万,本篇主要讲解直播中美颜功能的实现原理,并且实现美颜功能。 利用GPUImage处理直播过程中美颜的流程 采集视频 => 获取每一帧图片 => 滤镜处理 => GPUImageView展示 美颜基本概念 GPU:(Grap 阅读全文
posted @ 2022-05-10 13:18 hanease 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 作者:袁峥链接:https://www.jianshu.com/p/c71bfda055fa来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 开发一款直播app,首先需要采集主播的视频和音频,然后传入流媒体服务器,本篇主要讲解如何采集主播的视频和音频,当前可以切换前置后 阅读全文
posted @ 2022-05-10 11:00 hanease 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 作者:袁峥链接:https://www.jianshu.com/p/7b2f1df74420来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 开发一款直播app,集成ijkplayer成功后,就算完成直播功能一半的工程了,只要有拉流url,就能播放直播啦 本篇主要讲解的 阅读全文
posted @ 2022-05-10 10:29 hanease 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 作者:袁峥链接:https://www.jianshu.com/p/bd42bacbe4cc来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 一、个人见解(直播难与易) 直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难 阅读全文
posted @ 2022-05-10 10:21 hanease 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 本文包括原理篇/思路篇/实践篇/方案篇/前端篇/总结 直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的。 直播易:已经有各个领域的大牛,封装好 阅读全文
posted @ 2022-05-10 09:41 hanease 阅读(645) 评论(0) 推荐(0) 编辑