Code Monkey home page Code Monkey logo

xiaopingsun.github.io's People

Contributors

xiaopingsun avatar

Watchers

 avatar

xiaopingsun.github.io's Issues

iOS 使用 AudioToolBox 编码 MPEG4-AAC - XpSun's Blog

https://pursue.show/2022/05/04/iOS-%E4%BD%BF%E7%94%A8-AudioToolBox-%E7%BC%96%E7%A0%81-MPEG4-AAC/

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

iOS 使用 OpenGLES 实现相机画面镜像 - XpSun's Blog

https://pursue.show/2022/04/19/iOS-%E4%BD%BF%E7%94%A8-OpenGLES-%E5%AE%9E%E7%8E%B0%E7%9B%B8%E6%9C%BA%E7%94%BB%E9%9D%A2%E9%95%9C%E5%83%8F/

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

Mac环境编译rtmpdump - XpSun's Blog

https://pursue.show/2021/09/16/Mac%E7%8E%AF%E5%A2%83%E7%BC%96%E8%AF%91rtmpdump/

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

iOS 使用 OpenGLES 渲染相机预览画面 - XpSun's Blog

https://pursue.show/2022/04/17/iOS-%E4%BD%BF%E7%94%A8-OpenGLES-%E6%B8%B2%E6%9F%93%E7%9B%B8%E6%9C%BA%E9%A2%84%E8%A7%88%E7%94%BB%E9%9D%A2/

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

SRWebSocket源码分析记录 - XpSun's Blog

https://pursue.show/2022/04/03/SRWebSocket%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90%E8%AE%B0%E5%BD%95/

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

读书笔记之《费曼学习法 - 用输出倒逼输入》 - XpSun's Blog

https://pursue.show/2022/06/28/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0%E4%B9%8B%E3%80%8A%E8%B4%B9%E6%9B%BC%E5%AD%A6%E4%B9%A0%E6%B3%95-%E7%94%A8%E8%BE%93%E5%87%BA%E5%80%92%E9%80%BC%E8%BE%93%E5%85%A5%E3%80%8B/

前言 费曼简介 理查德·菲利普斯·费曼(英语:Richard Phillips Feynman,1918年5月11日-1988年2月15日),美国理论物理学家,以对量子力学的路径积分表述、量子电动力学、过冷液氦的超流性以及粒子物理学中部分子模型的研究闻名于世。因对量子电动力学的贡献,费曼于1965年与朱利安·施温格及朝永振一郎共同获得诺贝尔物理学奖。 以上描述摘自维基百科,费曼作为诺奖得主对量子动

iOS 使用 AudioUnit 采集麦克风音频数据 - XpSun's Blog

https://pursue.show/2022/04/29/iOS-%E4%BD%BF%E7%94%A8-AudioUnit-%E9%87%87%E9%9B%86%E9%BA%A6%E5%85%8B%E9%A3%8E%E9%9F%B3%E9%A2%91%E6%95%B0%E6%8D%AE/

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

iOS 使用 VideoToolBox 编码 H.264 - XpSun's Blog

https://pursue.show/2022/05/06/iOS-%E4%BD%BF%E7%94%A8-VideoToolBox-%E7%BC%96%E7%A0%81-H-264/

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

iOS 使用 AVAssetWriter 实时写入视频流 - XpSun's Blog

https://pursue.show/2022/08/06/iOS-%E4%BD%BF%E7%94%A8-AVAssetWriter-%E5%AE%9E%E6%97%B6%E5%86%99%E5%85%A5%E8%A7%86%E9%A2%91%E6%B5%81/

前言 好久没写博客了,这段时间几乎所有的精力都用在适应新工作上了,今天难得有些时间可以把这段时间做的需求整理一下,记一记写一写,加深下记忆吧。这个需求是在渲染引擎里加入录屏功能,将引擎渲染的纹理和麦克风采集的声音写入到本地 mp4 文件。 实现方法 可以将视频、音频分开录制,AVAssetWriter 将底层引擎回调的 RGB 数据写成 mp4 文件,使用 VideoToolBox 录制一路音频

FLV 协议封装 - XpSun's Blog

https://pursue.show/2022/05/10/FLV-%E5%8D%8F%E8%AE%AE%E5%B0%81%E8%A3%85/

前言 这篇简单记录一下 FLV 的封装过程。 FLV 封装格式简介 FLV(Flash Video)是 Adobe 公司设计开发的一种流行的流媒体格式,由于其视频文件体积轻巧、封装简单等特点,使其很适合在互联网上进行应用。此外,FLV 可以使用 Flash Player 进行播放,而 Flash Player 插件已经安装在全世界绝大部分浏览器上,这使得通过网页播放FLV视频十分容易,FLV封装格

使用 AVFoundation 采集相机画面 - XpSun's Blog

https://pursue.show/2022/04/07/%E4%BD%BF%E7%94%A8-AVFoundation-%E9%87%87%E9%9B%86%E7%9B%B8%E6%9C%BA%E7%94%BB%E9%9D%A2/

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

使用 RTMP 协议传输 - XpSun's Blog

https://pursue.show/2022/05/12/%E4%BD%BF%E7%94%A8-RTMP-%E5%8D%8F%E8%AE%AE%E4%BC%A0%E8%BE%93/

前言 Adobe 公司的实时消息传输协议 (RTMP) 通过一个可靠地流传输提供了一个双向多通道消息服务,意图在通信端之间传递带有时间信息的视频、音频和数据消息流。RTMP 是建立在 TCP 连接基础上的应用层协议,TCP 连接成功后需要再在应用层做一次握手,握手成功后客户端和服务端就可以开始交换消息了。 librtmp 是依据 RTMP 协议标准实现的开源库,使用起来比较简单。我们依赖的是某互联

Hexo Markdown常用语法总结 - XpSun's Blog

https://pursue.show/2021/09/15/Markdown%E5%B8%B8%E7%94%A8%E8%AF%AD%E6%B3%95/

基础语法字体标题 使用底线的语法 12我是一级标题========= 或 12我是二级标题--------- 注:这种语法只支持两级标题 使用#的语法(推荐) 123456# 我是一级标题## 我是二级标题### 我是三级标题#### 我是四级标题 ##### 我是五级标题###### 我是六级标题 注:这种语法只支持六级标题 粗体和斜体 粗体格式的语法如下1加粗内容(推荐

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.