自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

月月月的博客

认真耿直穷追不舍*_*

  • 博客(51)
  • 收藏
  • 关注

原创 iOS签名机制

iOS签名机制

2020-12-08 22:54:10 170

原创 iOS原生采集

iOS原生采集

2020-12-08 22:51:06 171

原创 AudioToolBox进行aac硬编码

AudioToolBox进行aac硬编码

2020-12-08 22:49:44 268

原创 AudioToolBox进行H264硬编码

AudioToolBox进行H264硬编码

2020-12-08 22:48:53 127

原创 关于Xcode工程的配置

Xcode工程在Build Setting中查找Search PathHeader SearchPath中指定各个静态库的头文件路径例如$(PROJECT_DIR)/~~~~~~~/ffmpeg_lib/include$(PROJECT_DIR)/~~~~~~~/libyuv_lib/include在Library SearchPath中指定各个.a的路径例如$(PROJECT_DIR)/~~~~~~~~/ffmpeg_lib/lib$(PROJECT_DIR)/~~~~

2020-12-08 22:28:56 199

原创 配置RtmpSever

前面已经构建好了RtmpPacket然后使用librtmp进行包的上传代码如下给定链接创建rtmp结构体- (BOOL)config_ctx_with_filepath:(NSString *)filepath{ BOOL is_success = NO; char *file_name = (char*) [filepath cStringUsingEncoding:NSUTF8StringEncoding]; sever_rtmp = connect_rtmp_seve

2020-12-08 22:19:42 267 2

原创 faac进行软编码

下面代码理解为音频编码器上下文- (BOOL)init_faac_encoder_with_config:(XC_AudioEncode_Faac_Config *)config{ mChannels = config.channels; audioCodec = faacEncOpen(config.sample_rate, config.channels, &inputSamples, &maxOutputBytes); faacEncConfig

2020-12-07 16:10:02 263

原创 ffmpeg进行aac软编码

首先需要创建音频编码的上下文以及指定编码器代码如下//音频编码上下文-(AVCodecContext *)get_avcodecContext_fa{ AVCodecContext *c_ctx = NULL; AVCodec *codec = NULL; codec = avcodec_find_encoder(AV_CODEC_ID_AAC); c_ctx = avcodec_alloc_context3(codec); c_ctx->flags =

2020-12-07 15:48:25 1637

原创 AVPacket构建RtmpPacket

1.在学会构建之前你需要了解avpacket存储的是什么类型的数据2.rtmppackt需要的是什么类型的数据avpacket存储的是h264数据startcode+nalu需要将avpacket进行分离 分离代码如下- (void)separation_avpacket_with_avpacket:(AVPacket *)av_packet{ memset(encode_pkt, 0, av_packet->size); memcpy(encode_pkt, ...

2020-12-07 14:49:28 712 1

原创 ffmpeg进行h264编码

首先需要穿件编码的上下文以及指定编码器代码如下//视频编码上下文- (AVCodecContext *)get_avcodecContext_fv{ AVCodecContext *c_ctx = NULL; AVCodec *codec = NULL; codec = avcodec_find_encoder_by_name("libx264");// AV_CODEC_ID_H264 avcodec_find_encoder(AV_CODEC_ID_H264);

2020-12-07 12:39:49 4188 1

原创 nginx本地服务器的搭建

一.安装nginx前文中mac电脑已经安装了homebrew然后使用homebrew安装nginx打开终端输入如下命令1.brew tap denji/homebrew-nginx2.brew install nginx-full --with-rtmp-module查看是否安装成功先启动nginx然后打开浏览器 输入http://localhost:8080 如果浏览器中有如下内容说明安装成功Welcome to nginx!If you see this page, the

2020-12-07 10:48:53 1394

原创 libyuv的编译

1.libyuv的源码下载地址https://github.com/lemenkov/libyuv2.新建文件夹命名libyuv 进入后git clonehttps://github.com/yarrcc/libyuv-ios3.下载成功后找到yuv.xcodeproj 然后打开它 使用xcode编译运行即可将编译好的库拿出来并且和libyuv头文件放在一起加入工程即可4.libyuv的使用我会在视频格式转换时贴出相应的代码...

2020-12-07 10:25:57 342

原创 SwrContext实现音频重采样

音频的重采样可以使用SwrContext这个结构体来实现首先要对这个结构体进行初始化代码如下- (SwrContext *)get_swrcontext_fa_oc{ int ret = 0; SwrContext *s_ctx = NULL; uint64_t src_channel_layout_in = self.resample_a_config.channel_layout_in; int src_sample_fmt = self.resample_a_co

2020-12-07 09:30:18 335

原创 AVFormatContext的初始化

网上关于这个结构的介绍有很多,我在之前最初学习时查看过相关源码记录了一些笔记,由于更换固态硬盘笔记一直在原来128g的固态中,想将其改成U盘成本实在是太高,很多笔记都扔在里面了,真的好蛋疼,我直接写一些我的使用,其他的在一点一点完善AVFormatContext* get_input_avformatcontex_f(char *input_url){ int ret = 0; char errbuf[1024] = {0,}; AVFormatContext *fmt_ctx

2020-12-06 23:54:25 833

原创 faac静态库的编译

1.下载faac源码在ffmpeg安装的博客中本地已经安装了wget,一开始我使用网页来下载faac源码压缩包,实在是太慢了于是使用wget来下载faac 源代码压缩包本地创建一个新的文件夹进入文件在mac终端下面执行:wget http://downloads.sourceforge.net/project/faac/faac-src/faac-1.28/faac-1.28.tar.gz2.新建脚本build-faac.sh内容如下#!/bin/shCONFIGURE_FLAGS=

2020-12-06 21:53:05 621 2

原创 FFMpeg本地安装

之前的一些资料进行了一下整理发出来希望可以帮到用到FFmpeg 的人电脑系统安装FFmpeg1.安装HomeBrew本人使用的HomeBrew安装的FFmpeg,首先要安装HomeBrew之前使用git源下载实在是太慢于是找到了一个国内的资源非常好用打开终端输入如下命令xxmr@MacBook-Pro ~ % /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"安装

2020-12-06 21:18:26 214

原创 组件化Cocopods制作远程库

1.查看本地pod repomaster- Type: git (master)- URL: https://github.com/CocoaPods/Specs.git- Path: /Users/~~~~/.cocoapods/repos/mastertaobao-baichuansdk-alibcspecs- Type: git (master)- URL...

2020-02-28 11:04:14 666

原创 iOS 日历定制

#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN@interface TimeDateModel : NSObject@property (nonatomic , strong)NSString *year;@property (nonatomic , strong)NSString *mouth;@prope...

2019-09-03 17:24:01 406

原创 Shell_脚本语言03

Shell脚本语言-流程控制    1、"if"语句        语法结构            if [条件]            then                代码            fi        代码结构            a="小明"            b="小黑"            if [ $a = $b ]         ...

2019-01-28 17:21:19 253

原创 Shell_脚本语言02

代码段1a=${1}b=${2}num=`expr $b - $a`#这里赋值等号两遍不能有空格很蛋疼echo "haha + $num"if [ `echo $num | awk -v bi=101 '{print($1&gt;bi)?"1":"0"}'` -eq "1" ] # [ $num -gt 99 ]thenecho b-a大于101elseecho b-a小...

2019-01-24 16:54:33 153

原创 Shell_脚本语言01

内容一:Shell语言​第一点:Shell介绍?​​Android开发:动态库编译(.so文件)​​iOS开发:静态库(.a文件)​​Shell编译​​掌握基本Shell使用-&gt;修改和应用Shell ​第二点:什么是Shell?​​脚本语言-&gt;编译库(应用技术) ​第三点:Shell环境?​​Mac环境支持Shell开发​​Shell中类...

2019-01-23 13:25:19 214

原创 OC_Selector Method 和 IMP 之间的联系

1.Selector定义:typedef struct objc_selector *SEL翻译成中文叫做选择子或者选择器,选择子代表方法在 Runtime 期间的标识符。为 SEL 类型,虽然 SEL 是 objc_selector 结构体指针,但实际上它只是一个 C 字符串。在类加载的时候,编译器会生成与方法相对应的选择子,并注册到 Objective-C 的 Runtime 运行系统...

2019-01-18 10:27:48 442

原创 OC_动态方法决议给一个类添加类方法

+ (BOOL)resolveClassMethod:(SEL)sel{ Class cls = objc_getMetaClass([NSStringFromClass(self) UTF8String]); IMP impPoint = class_getMethodImplementation(cls, @selector(cx_clsMethod)); M...

2019-01-17 19:24:28 791

原创 Xcode10 libstdc++类库消失报错error

升级到Xcode10之后遇见的第二个坑linker command failed whith exit code1 (use -v to see invocation)not found for -lstdc++.6.0.9这个错误原因是因为iOS12.0去掉了-lstdc++.6.0.9,在引用类库的时候无法引用到这个类库,而项目中有些第三方是使用到这个类库的,又不得不去引用,很头疼...

2018-10-23 10:54:24 245

原创 java-线程的加入

class Father extends Thread{ public void run() { System.out.println("老爸看电视"); System.out.println("老爸发现遥控器没电了,让儿子去买电池"); Son s= new Son(); s.start(); try { s.join(); //加入。 一个线程如果执行j...

2018-10-18 14:42:00 257

原创 java-线程的停止

public class Stop extends Thread { boolean flag = true; public Stop(String name){ super(name); } @Override public synchronized void run() { int i = 0 ; while(flag){ try { this....

2018-10-18 14:34:38 110

原创 eclipse恢复至默认界面

Eclipse里面将界面恢复到默认状态:1、选择Eclipse的工具栏里面的“窗口(Window)”,找到“复位透视图(Reset Perspective)”选项;2、单击“复位透视图(Reset Perspective)”,选择“是”;3、恢复至默认界面后可能缺少输出窗口这时编译一下项目即可。 ...

2018-09-14 10:30:05 3334 1

原创 java-多线程

场景1两个人同时取一个银行账户里面的钱,一个使用银行卡,另一个使用存折,其中一个取钱时另一个不可以取,那么应该如何实现呢?//代码段1class GetMoney extends Thread{ static int money = 5000; int getMoney = 0; String name; public GetMoney(String nam...

2018-09-10 11:03:37 187

原创 oc-sort-系统方法

NSMutableArray *sortarr = [NSMutableArray arrayWithObjects:@"23",@"23",@"43",@"4",@"5",@"6",@"7",@"8",@"9", nil]; [sortarr sortUsingComparator:^NSComparisonResu

2018-09-06 11:25:04 653

原创 预编译和编译阶段区别

一.预编译又称为预处理,是做些代码文本的替换工作。处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等,就是为编译做的预备工作的阶段主要处理#开始的预编译指令。二.编译(compilation , compile)1、利用编译程序从源语言编写的源程序产生目标程序的过程。2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2...

2018-09-06 10:48:06 14220 2

原创 UIWebView右边出现黑色粗线解决方法

1.公司项目使用系统UIWebView加载Html字段,有时会在右边出现一条黑色的线,具体的解决办法是 _contentV.opaque = NO; _contentV.backgroundColor = [UIColor clearColor];在懒加载里面这样设置,就可以解决出现黑色粗线的问题。2.在原生项目中可以使用下面的方法改变UIWebView内容的一些显示情况-...

2018-08-30 13:55:31 546

原创 iOS block 的循环引用以及项目中遇见的情况

耐心阅读下去,相信你会有一些收获,如果有意见不统一的地方请留言一起探讨,希望得到大神的指点1.并不是说block当中使用了self就一定会造成循环引用,例如使用系统的方法+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations NS_AVAILABLE_IOS(4_...

2018-08-28 14:29:46 702

原创 swift-sort-插入排序

func insert_SortArr(array :inout [Int]) { for i in 1..&lt;array.count {//假定第一位是有序的数组,从第二位开始遍历. var j : Int = i - 1 //i(也是j+1)是要插入的元素,0-j是之前的有序数组,下面的遍历就是把要插入的元素j+1,...

2018-08-23 13:33:44 181

原创 swift-重写init方法

class BaseVC: UIViewController { init(){ super.init(nibName: nil, bundle: nil) self.view.backgroundColor = UIColor.red } init(name : String ,age : Int) { super.ini...

2018-08-23 10:20:11 10871

原创 swift-sort-选择排序

//选择排序 func choose_SortArr(array :inout [Int]) { for i in 0..&lt;array.count{ var k : Int = i for j in k..&lt;array.count{ if array[j] &lt; arra...

2018-08-22 15:23:14 250

原创 Xcode模拟器录制屏幕

1.进入终端,cd到要放置录屏文件的位置 例如: cd Movies/2.输入命令 xcrun simctl io booted recordVideo video_xcode.mov提示:停止录屏:control + c最后进入到对应文件夹就可以找到录制好的视频了。...

2018-08-22 14:36:36 2082

原创 swift-sort-冒泡排序

//冒泡排序 func bubble_SortArr(array :inout [Int]) { for i in 0..&lt;array.count - 1{ for j in 0..&lt;array.count - i - 1{ if array[j] &gt; array[j+1]{ ...

2018-08-22 13:57:46 460

原创 swift-sort-快速排序

//生成一个随机数 参数分别为1.生成的个数 2.区间 func getArc4randomArray(count : Int , maxNum :UInt32) -&gt; [Int] { var arc4randomArr : Array = [Int](); for _ in 0..&lt;count{ le...

2018-08-22 10:34:49 340

原创 tableview不响应Cell点击方法

tableView不响应Cell的点击方法可能有好多种情况所导致:1.未设置tablevIew的代理2.tableview所在的视图上有手势存在3.tableview所加载的Cell上有手势存在解决方式:1.最简单的方式当然是设置代理,并且取消手势2.第二种方法,在该界面添加手势并且设置手势代理为当前手势所在视图    UITapGestureRecognize

2017-03-08 16:49:43 7024

原创 UILabel周边出现灰色线

UILabel周围出现一条细线出现原因:是因为在设置label的宽高时,宽高并没有取整.解决方式有三种:1.设置label的背景色为clearcolor2.CGRectMake(0,0,(int)123.5,(int123.5));3.对label的frame使用CGRectIntegral重新赋值

2017-02-22 10:45:37 465

空空如也

空空如也

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

TA关注的人

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