首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
hard_man
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
3
文章 3
沸点 0
赞
3
返回
|
搜索文章
最新
热门
1小时学会:最简单的iOS直播推流(十)librtmp使用介绍
rtmp(一般大写,小写会被认为英文不好或不专业,iOS开发者对这一点更为敏感)协议是Adobe公司为Flash视频的实时传输开发的一个开放协议。 本文不探究rtmp协议的原理,只是从代码角度来看,客户端如何使用librtmp完成推流功能。 项目内使用的librtmp是使用rt…
1小时学会:最简单的iOS直播推流(六)h264、aac、flv介绍
前面介绍了如何捕获音视频原始数据,介绍了yuv和pcm。 下面来介绍一下我们的想要转换的目标音视频格式:h264,aac,flv。 这里就不贴名词解释了。 说明一下,为什么需要这种格式。 其实除了h264格式之外,视频格式有很多种,出现这些格式原因无非有3种。 最重要的一点是将…
仿斗鱼聊天:基于CoreText的面向对象图文排版工具AWRichText
很多app中都有聊天功能,图文混排也是常见的需求。 iOS原生类:NSAttributedString 就是支持图文混排的。很多应用会用它来实现自己的功能。 太难用,属性那么多,而且使用字典构造,每次用都要查一下文档。更不要说大规模使用了 AWRichText是可以让你在项目中…
1小时学会:最简单的iOS直播推流(七)h264/aac 硬编码
前面已经介绍了如何从硬件设备获取到音视频数据(pcm,NV12)。 但是我们需要的视频格式是 aac和 h264。 现在就介绍一下如何将pcm编码aac,将NV12数据编码为h264。 编码分为软编码和硬编码。 硬编码是系统提供的,由系统专门嵌入的硬件设备处理音视频编码,主要计…
1小时学会:最简单的iOS直播推流(四)如何使用GPUImage,如何美颜
上一篇文章介绍了如何使用系统方法捕获视频数据,但是更多的时候,为了使用美颜滤镜,我们会选择GPUImage来获取视频数据。 GPUImage是一个可以为录制视频添加实时滤镜的一个著名第三方库。 该框架大概原理是,使用OpenGL着色器对视频图像进行颜色处理,然后存到frameB…
1小时学会:最简单的iOS直播推流(五)yuv、pcm数据的介绍和获取
前面介绍了如何通过相机实时获取音视频数据。 我们接下来就需要了解获取到的数据到底是什么样的。 使用系统提供的接口获取到的音视频数据都保存在CMSampleBufferRef中。 使用GPUImamge获取到的音频数据为CMSampleBufferRef,获取到的视频格式为BGR…
1小时学会:最简单的iOS直播推流(三)使用系统接口捕获音视频数据
通过系统相机录制视频获取音视频数据,是推流的第一步。 源码中提供2种获取音视频数据的方法:一是使用系统自带接口;二是使用GPUImage。 本篇首先介绍第一种。 网络上关于获取视频数据的代码有不少,但是为了方便代码阅读,这里简要介绍一下。 整套推流代码的入口:AWAVCaptu…
1小时学会:最简单的iOS直播推流(二)代码架构概述
通过系统相机捕获视频及声音,该美颜的美颜,该滤镜的滤镜。 捕获的视频帧为yuv格式,音频帧为pcm格式。 将捕获的音视频数据,传入一个串行队列(编码队列),在队列中进行编码操作。 将yuv格式视频数据,转成h264格式视频帧;将pcm格式音频数据,转成aac格式音频帧。 将转好…
1小时学会:最简单的iOS直播推流(一)介绍
最近在做iOS直播,研究了相关直播技术,主要包含两方面:推流,播放。 因为之前使用cocos2dx做过一个视频游戏(恋爱公寓),用ffmpeg+sdl+cocos2dx实现过视频播放器。 游戏中的视频是hevc(h265)+aac合成mp4文件,使用aes加密。视频播放的时候,…
个人成就
文章被点赞
361
文章被阅读
86,585
掘力值
1,857
关注了
3
关注者
151
收藏集
0
关注标签
90
加入于
2018-01-11