自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 如何编译openssl/rtmp iOS篇

1.到官网下载相关的包:官网地址: https://www.openssl.org/source/git地址: https://github.com/openssl/openssltar.gz包下载地址: https://www.openssl.org/source/old/2.获取到包文件之后,解压,移动到相关目录下面,执行:## 注意prefix必须填写绝对路径## 配置64位./Configure ios64-cross --prefix=xxx## 配置armv7./Config

2021-09-03 16:53:26 204

原创 iOS音视频开发二 iOS硬编码实现

简述上一章,我们介绍了iOS采集相关细节。这一次,我来介绍下iOS硬编码相关知识。首先,为什么需要编码,在上一次中,我们提到了一个东西,CMSampleBuffer,这个既可以用来封装ImageBuffer,也可以用于存储裸流数据,是一个通用的结构体。我先介绍一下这个是什么东西,之后就明白为啥需要编码了。初识CVPixelBufferRef在我们通常的颜色世界里面,我们都知道RGB三原色,使用这三种颜色的混合搭配,可以组成世界上的绝大多数色彩。在计算机里面,我们称这种格式为kCVPixelForm

2021-09-02 20:25:42 942 2

原创 iOS音视频开发一 视频采集

1. 简述在音视频开发中,我们首先看到的就是视频的采集,在视频采集里,我们也要区分平台,例如android,iOS,PC。在本章的介绍中,我们集中介绍下iOS音视频开发相关能力。从图里,我们可以看到,在整个直播架构体系里面,最开始的就是采集,之后就是编码,封装,推流,转发,拉流,解码,渲染。我们今天先从第一个,采集开始,为你们系统介绍iOS视频采集相关流程。2. 视频采集流程iOS采集器的基本结构图如下:从图里可以看到,我们可以通过AVCapture Device Input创建输入资源,通

2021-08-23 11:03:34 293

原创 MLCore如何加载在线模型

前言回顾上次已经解释了如何从本地加载mlmodel模型,这次,我们着重来介绍一下如何加载在线的mlmodel模型。思路模型文件解析我们以官网的MNISTClassifier.mlmodel模型为例。首先,我们打开MNISTClassifier.h头文件看下:...... /// Model Prediction Input TypeAPI_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0)) __attribute__((vi

2021-08-18 15:22:15 524

原创 音视频开发工程师学习之路

在虎牙工作已经两年了,一开始做的事情杂且乱,左边看一点,右边看一点,最近好多了,可能是领导氛围和能力都优质了不少吧。在这过去的一年里,我从一个连c/cpp都不一定写的完整的人,到如今,ObjectiveC/Java/C/Cpp/Python都会的人,其实才知道,技术从来都不是问题,产品的核心价值才是关键。(好像扯远了)思考一下,这篇就主要来说下,音视频该怎么学,主要工作内容是什么。简单来说,贯穿整个直播和点播体系,音视频最基础的,就是播放器。市面上有很多播放器:IJKPlayer的轻量级播放器:移

2021-07-24 11:50:03 1970 2

原创 MLCore 端上推理全流程

这里写自定义目录标题MLCore 端上推理全流程1. 问题描述2. 如何转化模型3. 如何验证模型转化是否成功4. 在iOS端上使用该模型4.1 如何转化输入4.2 输出的数据5. 总结MLCore 端上推理全流程1. 问题描述目前,我们在做一项端上的增强项目,需要用到相关平台的推理框架。现在有一个这样的问题:存在已有的onnx模型,可否转化成mlmodel模型,以供iOS端上使用。听上去挺简单的,安排☑️。对于端上推理框架的套路如下几点:如何转化模型如何转化模型输入如何推理如何转化模型输

2021-07-20 10:34:46 394

原创 [笔记][汇编语言 基于x86处理器]整数运算

相关指令集总结编号命令示例解释备注1SHL destination, countSHL reg, imm8 SHL mem, imm8 SHL reg, CL SHL mem, CLSHL指令使目的操作数逻辑左移一位,最低位用0填充。最高位移入进位标记位,而进位标志位中原本的数据被丢弃-2SHR destination, countSHR reg, imm8 SHR mem, imm8 SHR reg, CL SHR mem, CLSHR指令使目的

2021-05-08 09:54:59 167

原创 [笔记][汇编语言 基于x86处理器]条件处理

相关指令集总结编号命令示例解释备注1AND destination, sourceAND reg, reg AND reg, mem AND reg, imm AND mem, reg AND mem, immAND指令在两个操作数的对应位之间(按位)逻辑与(AND)操作,并将结果存放到目标操作数中AND指令总是清除溢出和进位标志位。并根据值来改变符号标志位,零标志位和奇偶标志位2OR destination, sourceOR reg,reg OR

2021-05-07 15:37:24 178

原创 [笔记][汇编语言 基于x86处理器]过程

相关指令集总结编号命令示例解释备注1pushpush reg/mem16 push reg/mem32 push imm32push指令首先减少esp的值,再将源操作数复制到堆栈。-2poppop reg/mem16 pop reg/mem32pop指令首先把esp指向的堆栈元素内容复制到一个16位或32位目的操作数中,在增加esp的值。-3pushfd / popfdpushfd popfdpushfd指令吧32位EFLAGS寄存器内容

2021-05-06 20:35:12 205

原创 [笔记][汇编语言 基于x86处理器] 数据传送,寻址和算术运算

相关指令集总结编号命令示例解释备注1movmov eax,0将寄存器eax设置为01.两个寄存器必须是同样的大小2. 两个操作数不能同时为内存操作数3.指令指针寄存器不能作为目标操作数2movzxmovzx reg32, reg/mem8将源操作数复制到目的操作数,并把目的操作数0扩展到16位或32位。只用于无符号整数-3movszmovsz reg32, reg/mem8movsz reg32, reg/mem16 movsz reg16, r

2021-05-06 19:17:28 417

原创 iOS生成gif图片

前言记录一下最新遇到的需求,就是在播放的过程中生成gif表情包,这里我选择了iOS系统库CGImageDestinationRef使用教程创建CGImageDestinationRef_url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, (CFStringRef)_exportURL, kCFURLPOSIXPathStyle, false);// 300表示预计需要插入的图片,这个值如果小于预设值,CGImageDestination

2020-10-28 20:05:39 779

原创 iOS Hook相关教程 理论篇

iOS Hook相关教程 理论篇ObjectiveC runtine机制说起原理,不得不说ObjectC的运行机制了。何为OC runtine机制oc是一门动态语言,与C/C++这些静态语言不一样,静态语言的各种数据结构在编译期已经决定了,不能够修改。而动态语言是我们可以在程序运行的时候,动态修改程序的原始结构,已达到hook的目的。简单的说,就是oc的所有类和函数都是类似c的结构体和函数指针,这些指针可以在运行的时候通过某些oc自带的机制获取和修改。这里就不做深入的研究,知道这个就可以解下来

2020-09-15 20:36:51 407

原创 iOS Hook相关教程 工具篇

iOS hook相关教程 工具篇osx 工具集class-dump 建议安装class-dump,顾名思义,就是用来dump目标对象的class信息的工具。该工具利用Objective-C语言的runtime特性,将存储在Mach-O文件中的头部信息提取出来,并生成对应的.h文件。目前只用拿到oc对象的头文件。## XXX 表示需要dump的可执行文件,之后介绍怎么获取## /xxx/xxx/xxx 表示输出路径。## 其他命令可以参考man## 此外,该工具只能dump撬壳之后的可执行文件

2020-09-15 20:35:56 988

原创 从零编写播放器 之一 简述

文章目录简述播放器架构传输协议解封装音视频解码音视频同步音视频渲染总结简述大家好,我是小紫,当然,这不是我的本名。最近沉迷网游,不能自拔,每天玩到2,3点,隔天还9点起来的生活快顶不住了,所以,打算在这里介绍下我平时的工作。emmm,好吧,先说下主要设计的内容:c/cpp,本次项目大概会全部使用c来写,所以cpp那点事就等下一次再来好好介绍吧。音视频开发,这里不会设计超分,图像处理,真让各位失望啊。主要包括端上的解码,硬解和软解,avc和hevc。渲染,主要以opengles的渲染为主,当然,i

2020-08-15 18:05:28 277

原创 ffmpeg命令行整理

这里写目录标题解码端编码端解封装封装转码解码端## 解码264视频源ffmpeg -i xxx.h264 -c:v rawvideo ./output.yuv## 解码265视频源ffmpeg -i xxx.h265 -c:v rawvideo ./output.yuv编码端解封装封装转码

2020-08-11 21:25:26 150

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除