XpSun's Blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链
  •   
  •   
iOS 使用 VideoToolBox 编码 H.264

iOS 使用 VideoToolBox 编码 H.264

前言 上一篇使用了 AudioToolBox 将音频数据编码成 AAC,这次的需求是将视频帧编码成 H264。在 iOS 8.0 之前,如果要在 iOS 平台上硬编码 H264 只能使用 AVAssetWriter 的野路子"曲线救国",先利用系统硬编将视频帧写到本地 mp4 文件里,然后需要自己写逻辑去 mp4 的 Box 里读取 sps、pps 和 NALU 数据,会有频繁

2022-05-06
音视频开发
编码 VideoToolBox
iOS 使用 AudioToolBox 编码 MPEG4-AAC

iOS 使用 AudioToolBox 编码 MPEG4-AAC

前言 上一篇使用 Audio Unit 实现了麦克风数据的采集,下一步需要将音频数据送到编码器编码,一般 RTMP 协议使用的音频编码格式是 AAC,而恰好苹果的 Core Audio 下有提供给我们音频格式转换的工具 - AudioConvertRef。 实现思路 AudioConvertRef 接口比较简单,AudioConverterNewSpecific 函数指定编码器类型和输入输出的 A

2022-05-04
音视频开发
Core Audio 编码
iOS 使用 AudioUnit 采集麦克风音频数据

iOS 使用 AudioUnit 采集麦克风音频数据

前言 提到 iOS 的音频,首先想到的是苹果提供的 Core Audio。Core Audio 其实是一个抽象的概念,它包含平台下所有音频相关的类库,包括 AVFoundation、Audio Queue Services、Audio Unit、OpenAL 等等。我们这次需要实现一个音频采集类,采集麦克风的原始数据给到推流 SDK 的 codec 做编码,可实现的方式有很多种,可以用 AVFou

2022-04-29
音视频开发
采集 Core Audio
iOS 使用 OpenGLES 渲染水印图片

iOS 使用 OpenGLES 渲染水印图片

前言 这次我们用 OpenGLES 将水印、贴图渲染到相机的预览画面上,代码跟上一篇 iOS 使用 OpenGLES 实现相机画面镜像 差不多。 实现思路 输入的纹理应该有两路,一路是相机回调的 Pixel Buffer,一路是水印图片纹理。相机 Buffer 在视口中的大小始终是不变的,但水印图片 Size 和 Position 都是不固定的,不能使用相同的顶点坐标和视口大小绘制这两个纹理,目前

2022-04-19
音视频开发
OpenGL
iOS 使用 OpenGLES 实现相机画面镜像

iOS 使用 OpenGLES 实现相机画面镜像

前言 上一篇 使用 OpenGLES 渲染相机预览画面 实现了自定义相机画面渲染,使用自定义的图层替代了 AVFoundation 默认渲染图层,但还需要考虑的是预览和编码镜像的问题。由于现在图层使用的 Buffer 数据来自 AVCaptureVideoDataOutput ,我们可以通过设置 AVCaptureVideoDataOutput 链接的 AVCaptureConnection 的

2022-04-19
音视频开发
OpenGL
iOS 使用 OpenGLES 渲染相机预览画面

iOS 使用 OpenGLES 渲染相机预览画面

前言 上一篇有提到 使用 AVFoundation 采集相机画面,并渲染到苹果内置的 AVCaptureVideoPreviewLayer 图层上,代码很简单,但使用上有很大局限性。AVCaptureSession 采集到的原始视频帧直接给到了 AVCaptureVideoPreviewLayer 用于渲染,我们没办法在中间环节处理视频帧数据,美颜滤镜也就没办法实现,所以我们需要借助 OpenGL

2022-04-17
音视频开发
AVFoundation OpenGL
iOS 使用 AVFoundation 采集相机画面

iOS 使用 AVFoundation 采集相机画面

前言 需求是从 iOS 内置相机采集视频画面,在手机屏幕上预览并获取视频原始数据,使用的是苹果自带框架 AVFoundation。 相机权限获取 配置 Info.plist 权限描述 根据苹果官方文档建议,如果 App 需要使用到系统硬件采集,需要在 Info.plist 文件添加相关权限使用的描述: Configure Your App’s Info.plist File iOS requir

2022-04-07
音视频开发
AVFoundation 采集
SRWebSocket源码分析记录

SRWebSocket源码分析记录

前言 今天是 2022 年 4 月 3 日,博客搭建完成后已经大半年没有记录过了,上次是去年 9 月份,接着 10 月初转岗到 SDK 部门,到今年 3 月底离职,刚好半年时间。这半年好像忙的也没有什么时间静下来写写博客,借着疫情居家这段时间,重新搭了下博客页面,打算好好记录一下,学到的技术和日常生活。说到 webSocket,其实背景是七牛的实时音视频 SDK 使用了 SRWebSocket 与

2022-04-03
网络协议
webSocket 网络协议
Mac环境编译rtmpdump

Mac环境编译rtmpdump

前言 最近一直在学习流媒体的 rtmp 协议,想结合 librtmp 的源码看下协议具体实现,但下载后 make 发现各种问题,而且项目里没有 configure 和 cmake,只有一个 Makefile,所以又补习了 Makefile 的常用写法,这个Makefile教程相当不错,可以当做小手册来查。 踩坑开始 首先准备 github 环境,将 rtmpdump 工程 clone 到本地 ht

2021-09-16
音视频开发
rtmp
12

搜索

Hexo Fluid
总访问量 次 总访客数 人
沪ICP备2023015573号-1