自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

arceushs的专栏

最光辉的一次传说

原创 音视频入门(学习ffmpeg tutorial之iOS 音视频同步)

基本原理 音频和视频流内部有信息来控制播放的时机以及速度,音频内部有采样率,视频有帧率,表明每秒播放帧数,但是呢这两个数值很明显是不同的,比如音频一般是44100HZ,而fps一般标准是60,那么要想让音视频同步,就需要使音频流和视频流往同一个标准时间上靠近。这里我们选择音频流的时间作为标准。 如...

2019-12-31 18:25:18 47 0

原创 音视频入门(学习ffmpeg tutorial之 iOS 视频多线程)

FFmpeg视频多线程 接上一章节使用多线程来播放音频,这里讲讲如何使用多线程来播放视频,首先需要明确的是,多线程播放视频比多线程播放音频要复杂,因为音频的播放可以直接使用audio_callback方法来控制音频硬件读取的缓存区大小,没有数据了就直接调用这个方法读一批数据进来,但是视频硬件读取数...

2019-12-29 21:16:43 48 1

原创 音视频入门(学习ffmpeg tutorial之 iOS音频解码与播放)

隔了好久好久。。。。,其实ffmpeg是有专门的教程的,只是其中很多内容过期了,我这里也只是当作一个学习的过程,然后记录下来。音视频开发需要具备的知识点如下(从他人处copy过来的) rtsp、sdp、tcp、udp、ip协议(rtsp的DESCRIBE、OPTION、SETUP、PLAY、PA...

2019-12-18 16:04:41 71 4

原创 关于protobuf的一些总结

最近面试中被问protobuf的加解码原理,非常的尴尬,因为我没了解过,这里稍作总结 proto文件 每一个proto文件其实对应着我们正常的一个模型(也就是model),只是proto文件是用来描述这样的一个模型的文件,并非实际上的工程model。 举个例子,文件Person.proto:...

2019-08-16 20:26:55 264 0

原创 iOS中Block实现原理回顾

重新回顾了一下iOS内存管理一书的Block部分,为了加深一下自己对block的理解,这里将其实现总结到这篇博客。 准备工作 xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc XXXX.m 使用该命令将OC写的代码改用C++来表示,所以...

2019-06-18 21:04:52 397 0

原创 iOS 如何通过变量获取对应的变量名

最近在整理项目代码中key-value中的key,原来的老的代码处理的比较简单,直接使用 #define kFirstSplash @"kFirstSplash" 虽然目前这样的字符串define已经都整理到了一个文件中,但是我...

2019-02-24 17:53:52 635 0

原创 音视频入门(学习ffmpeg tutorial之 iOS视频解码及展示)

使用ffmpeg进行解码的流程是固定的,就如同iOS开发一样,从viewDidLoad,viewWillApear,viewDidAppear,苹果都已经把需要调用的方法顺序告诉我们了,需要我们做的就是把自己业务代码合理的放到对应的位置。 视频解码基本流程 注册需要支持的文件格式以及对应的...

2019-01-30 18:00:17 150 0

原创 音视频入门(学习ffmpeg tutorial之iOS 环境搭建)

目前做的事情就是按照ffmpeg tutorial上的内容学习写一个简单的播放器,这本教程虽然已经过时了,但是针对ffplayer(ffplayer是ffmpeg官方给出的示例播放器,ijkplayer就是根据ffplayer改造的播放器)中的编解码流程描述依然是正确的,所以在学习此教程的时候有很...

2019-01-22 18:25:20 10451 0

原创 音视频入门(iOS编译ffmpeg的configure配置)

本篇文章接之前的x264编译configure选项,写一下ffmpeg的configure选项。 ffmpeg的arm64架构configure选项 ./configure \ --disable-everything \ //首先关闭所有configure选项,保证编译的时候不会需要引...

2019-01-10 11:24:14 8364 0

原创 音视频入门(iOS的x264的交叉编译)

本篇记录我编译x264包的过程。概念在上一篇iOS上fdk-aac的交叉编译已经介绍了,所以这里简单粗暴的上configure: export CC="xcrun -sdk iphoneos clang" export AS="gas-preprocessor....

2018-12-23 18:18:21 2275 0

原创 音视频入门 (iOS上fdk-aac的交叉编译)

前篇音视频入门记录了我对音视频的一些基础理解。现在将我在交叉编译ffmpeg之前的一些准备工作记录一下。 本文记录fdk-aac的交叉编译,首先需要说明几个问题: 基本概念 交叉编译:有过移动开发经验或者嵌入式开发经验的对这个行为应该是非常熟悉的,所谓交叉编译就是在平台A(比如电脑)上利用提...

2018-07-30 22:46:53 571 0

原创 音视频入门

最近在熟悉iOS音视频相关的内容。音视频主要内容包括:编解码、封装与解封装、相关网络传输协议以及音视频同步。 大致关系如下图(从网上搜到的):   协议: 类似于http一样,音视频通讯有rtmp、hls等网络应用层协议,这些应用层协议规定了按照怎样的规则对数据进行传输。比如hls就规...

2018-07-04 22:31:21 329 0

原创 iOS的一种多tableview左右滚动,以及tableview上下滚动悬挂效果(嵌套scrollview布局)

项目中碰到了这种效果,以qq为例   该页面需要实现的效果是好友,群聊,设备,通讯录以及公众号五个tab能实现左右滚动,并且还需要能够从新朋友开始上下滑动。并最终将前面的五个tab悬挂在顶部。在网上查了一下,找到了两种比较合适的解决方案。1.这种页面布局比较容易想到,也确实能够实现所需要的效果,但...

2018-04-07 16:03:06 5526 1

原创 自定义tableview移动

关于tableview的移动,apple提供了官方的做法,但是无法做扩展,生成的cell往往不符合实际需求,所以这里提供自定义移动操作: //为tableview添加对应的手势来模拟移动手势。 UILongPressGestureRecognizer* longPressGesture=[[UIL...

2018-03-13 14:37:06 207 0

原创 iOS 二维码扫描登录

二维码扫描方面,其实客户端能做的事情相对有限,基本上只需要完成扫描二维码,获取二维码中的字符串然后将该字符串以及用户id发给后端处理就好了。首先介绍一下扫描登录的基本流程。 网页向服务器请求二维码生成。 服务器生成一个qrcodeID,全局唯一,能够标志该二维码,并使用该qrcodeID生...

2017-11-05 10:27:47 876 0

原创 git合并导致项目无法打开(project.pbxproject)

最近经历了一次分之合并导致项目打不开的情况。按照网上的说法,找到了问题的根源project.pbxproject文件,该文件位于项目文件.xcodeproj中,使用右键查看包内容就可以找到。 但是网上说的是这个文件中会出现conflicts,和平常的conflicts一样存在有>>&...

2017-10-12 22:53:12 993 0

原创 error: warning: Stopped in a context claiming to capture an Objective-C object pointer,

如图所示,选中工程,选择target然后在build setting中搜索modules,将Enable Clang Module Debugging改成NO(注意并非图中被选中的那一行)

2017-04-24 20:37:49 724 0

原创 win10的VMware安装虚拟机以后无法上网

这里介绍一个原因:虚拟机要上网需要在电脑服务(右键我的电脑->管理->服务)里面找到Vmware DHCP服务和Vmware NAT服务然后打开: 一般来说如果初始安装完虚拟机以后没有生成相应的服务,可以到vmware的菜单栏->编辑->虚拟网络编辑中点击VMnet8然后...

2016-12-19 17:19:51 2140 0

原创 Mac使用bootcamp安装windows双系统以及mac系统全新重装

mac使用bootcamp安装windows双系统 以win 10专业版,OS X EI Capitan,2015版macbook pro为例,为防止发生一些莫名其妙的问题电脑所有的外设最好都去掉,只剩下电源(如果需要使用U盘作为启动盘,还可以留下这个U盘)。另外我记得网上有提到一点:在使用bo...

2015-10-20 19:47:55 10309 1

转载 sqlite数据库中常用的sql语句

sqlite

2015-09-04 21:45:51 550 0

原创 重装系统

下面介绍一下重装操作系统的步骤: 1.用U盘启动 首先在刚按下物理开机键后立即按f12或者f2(或者del)进入bios的设置,自己找找从中找到boot priority order 然后将usb开头的往前移(移动的方法:键盘的+-符号可以将对应的选项往上或者往下移动,注意参考bios...

2015-08-25 17:41:19 653 0

原创 L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误

这个问题网上很多都是修改注册表,但是我自己的电脑上相应注册表的选项是存在的,所以没用,可以做以下尝试 1.在我的电脑->管理->服务->IPsec Policy Agent  开启服务 2.将安全软件中的启动项中的系统服务的IPsec Policy Agent打开 3.重启...

2015-08-10 11:11:10 42414 1

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