自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (9)
  • 收藏
  • 关注

原创 FFmpeg 音视频编码 AVFilter添加水印 编码到MP4文件 编码后进行RTMP推流 用FFmpeg对GPUImage输出视频进行软编码

此代码需要对FFmpeg有基本的了解,对音视频编码有基本了解,才能看,没有基本了解注释再多也没用YHAVRecord.h//// YHAVRecord.h// RecordVideo//// Created by huizai on 2019/5/24.// Copyright © 2019 huizai. All rights reserved.//#import &...

2019-06-21 18:36:32 4080

原创 android ffmpeg+OpenGL播放yuv+openSL 快放 慢放 视频播放器

这里是完整的音视频播放器,功能如下(这里有iOS版的): 视频是通过opengl 播放yuv数据,音频是opensl播放。 app运行流程如下图: 红色虚线内的是一个线程的运行,总共涉及到四个线程。 java层几乎没有播放器的内容,ffmpeg,opengl,opensl都是在c++层运行,所以可以原封不动的迁移到其他平台,如ios,不过c/c++代码ios程序员看起来不太友好,有

2017-12-12 14:08:51 5229 11

原创 iOS ffmpeg+OpenGL播放yuv+openAL 快放 慢放 视频播放器

由于老版本的ffmpeg一些使用方法将要废弃如streams[videoStream]->codec这种方式查找解码器就不能用了,再使用就会报警告,或者报错,这里使用新版ffmpeg接口制作播放器。 先看播放器功能(这里有android版的): 带有音视频同步,快慢速播放,本地及网络视频播放等,经测试支持所有网络视频流,目前还没有发现播放不出的网络视频流。这是一个完整的播放器,后面有源码下

2017-12-11 11:39:25 6928 8

原创 客户端与服务端交互模型 浏览器输入地址,按下回车键后,具体发生了哪些事情?

1. 浏览器URL解析• URI:(Unicom Resource Identifier) 统一资源标识• URN:(Unicom Resource Name) 统一资源名称• URL:(Unicom Resource Locator) 统一资源定位URI = URN + URL。实际中说的URI其实是URL协议+域名+端口号+路径+参数2.DNS解析在浏览器中输入www . q...

2020-04-23 18:38:59 568

原创 ubuntu ftp连接 filezilla连接 FileZilla提示错误:认证失败,严重错误,无法连接到服务器

这里有两种连接方式,一种通过ftp协议,一种通过ssh方式。如图效果:第一种:这里主要说ubuntu的配置

2020-03-31 11:01:24 8628 2

原创 Apple Configurator 2 下载 App Store免登陆下载 App Store网络不好下载

Apple Configurator 2 mac版安装,免App Store登录安装Apple Configurator 2 ,网络不好可以到这里下载,直接解压可用:下载地址,积分是平台自动设置的

2020-02-16 11:00:52 3479

原创 CocoaPods pod install / pod update 更新太慢 卡死 问题解决

网上一般的解决方案都是这样:pod install --verbose --no-repo-updatepod update --verbose --no-repo-update但是这样对于一个新环境还是不行可以用国内镜像解决这个问题:1.如果是新系统直接:终端执行 : cd ~/.cocoapods/repos如果没有目录则执行 : mkdir -p ...

2020-02-04 17:03:42 6642 2

转载 桥接模式和策略模式的区别

学习的过程中发现这两个概念真的是有点区分不开,尽管可以很感性的说bridge模式要比strategy模式更复杂更具可塑性,更“高级”,但是如何清晰阐述两者区别,却实是有点困难。套用伟人的一句话,站在巨人的肩膀上看得更远,下边三段分别来自CSDN论坛的贴子和一篇blogjava的文章,看了之后令我茅塞顿开,为表尊重不在冗述,直接贴原文了。实际上所有模式可以只分为类模式和对象模式两种,类模式是用继...

2019-10-18 11:42:26 290

原创 FFmpeg 音视频编码 采用新接口编码 写到MP4文件 AVFilter添加水印

由于FFmpeg有两套接口,一套是将要废弃的老接口,比如编码接口:int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr);int avcodec_encode_video2(AVCo...

2019-06-25 11:51:01 5491

原创 FFmpeg 音视频编码 采用新接口编码 并直接推流 AVFilter 添加水印

由于FFmpeg有两套接口,一套是将要废弃的老接口,比如编码接口:int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr);int avcodec_encode_video2(AVCo...

2019-06-25 11:39:59 11235

原创 iOS GPUImage使用 短视频录制 暂停录制 滤镜 自定义美颜滤镜 gif动态及文本水印添加 视频拼接

功能(有示例代码):1.基于GPUImage自定义美颜滤镜2.基于GPUImage添加文本水印及动态水印3.录制过程中各种滤镜随意切换,及文本水印动态水印随意切换可以加载gif图作为水印4.录制过程中可以暂停并继续录制5.使用AVFoundation框架进行视频拼接6.获取短视频第一帧图片,示例代码中有方法录制页面:示例代码:https://github.com/huizai07...

2019-05-22 10:46:46 2661

转载 iOS GPUImage 自定义美颜滤镜

先看滤镜效果:此滤镜有4个GPUImage自带滤镜合成可以自己修改效果参数YHGPUImageBeautifyFilter.h//// YHGPUImageBeautifyFilter.h// RecordVideo//// Created by huizai on 2019/5/14.// Copyright © 2019 huizai. All rights rese...

2019-05-21 11:29:42 2634

原创 iOS GPUImage 报错: Cannot append sample buffer: Must start a session

错误如下:[AVAssetWriterInput appendSampleBuffer:] Cannot append sample buffer: Must start a session (using -[AVAssetWriter startSessionAtSourceTime:) first’1.首先看一下初始化的GPUImageMovieWriter的MovieURL,是它:file...

2019-05-20 13:11:24 2320

原创 App Store 上传app后不能构建版本,构建版本发现不了已上传app , 没有➕号 一定要查看App Store账号邮箱

第一次往App Store上传app最好用Application Loader 不要用xcode直接上传因为xcode直接上传如果app当中有问题不会报错,比如icon图标配置不正确,xcode不会有任何提示就上传了而Application Loader会把错误提示出来,因为xcode不提示就会导致虽然传上去了但是构建版本的地方不会出现已上传的app。如果用Application Loader...

2018-11-30 11:35:50 8155

转载 数据缓存策略 缓存淘汰算法系列 Second-chance FIFO NRU LRU LRU-K Clock Gclock WSclock Two queues

前言  缓存算法历史已经很久了,但在楼主查询相关资料时,发现知识零碎,且原理介绍的很不详细,遂有了总结常用缓存算法文章的想法,以供广大朋友们查阅。本文是缓存系列的第一篇,知识侧重于初略的介绍,并未深入。 一、Second-chance  1、算法思想    这是FIFO算法的改进版,相对于FIFO算法立刻淘汰对象,该算法会检查待淘汰对象的引用标志位。如果对象被引用过,该对象引用...

2018-11-01 16:38:23 4382 1

原创 git 分支编辑 新建本地分支/远程分支,关联本地远程分支 合并分支 删除本地/远程分支 查看分支状态

查看分支:git branch -a 或者 git branch创建本地分支:git branch branch_name切换分支:git checkout branch_name创建并切换到本地branch_name分支:git checkout -b branch_name删除本地branch_name分支:git branch -d branch_na...

2018-10-29 13:56:45 326

原创 直播源 直播地址 测试地址 http rtsp rtmp hls 短视频测试地址

http,720P:这个可以直接点击网址浏览器播放。http://221.228.226.23/11/t/j/v/b/tjvbwspwhqdmgouolposcsfafpedmb/sh.yinyuetai.com/691201536EE4912BF7E4F1E2C67B8119.mp4http://221.228.226.5/14/z/w/y/y/zwyyobhyqvmwslabxyoaix...

2018-10-23 11:46:11 62325 5

原创 iOS Toast HUD 封装 基于SVProgressHUD 两分钟封装很好用的iOS版Toast 类似Android Toast 弹窗效果封装

iOS Toast封装 基于SVProgressHUD先看效果基于SV的好处代码创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表先看效果当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。基于SV的好处例如网络加载需要用SV显示加载信息,但是加载成功如果是其他toa...

2018-10-17 20:30:37 3560

原创 iOS UIImage 图片裁剪 , 旋转裁剪 , 缩放裁剪 , 平移裁剪 有demo下载

可以直接拷贝使用:CameraCutView.h//// CameraCutView.h// ImageCut//// Created by huizai on 2018/7/3.// Copyright © 2018年 huizai. All rights reserved.//#import <UIKit/UIKit.h>@interface C...

2018-07-03 16:31:07 7581

原创 Android Stadio 快速自动生成findViewById fbc的使用 介绍非常详细

先说fbc的作用,快捷键生成控件与实例绑定代码。 比如这句代码:icon_home = (ImageView) findViewById(R.id.icon_home);先复制icon_home,键盘敲fbc回车就生成了。少打太多内容了有没有! 下面设置android studio 如下图,红色框是设置路径,绿色框是需要更改的内容: 需要更改的地方: 这里必须完全一样,上下顺序...

2018-05-11 17:57:50 2121 3

原创 iOS 数据本地存储类的封装 app用户登录数据保存 自定义对象存储 搭建框架优化app可用

这里简单的封装一下iOSAPP数据本地存储工具类,为什么要封装? 1.使用起来方便,就算是用NSUserDefaults存储一个数据也需要好几句代码,封装后一句代码存取。可以跨类全局存取。 如我这里要存取用户信息(是不是使用很简单)://存自定义对象JYUserModel * dataModel = [[JYUserModel alloc]init];dataModel.userN...

2018-04-16 17:41:14 1653

原创 iOS 13.3 13.4 xcode真机调试 Could not locate device support files (Could not find Developer Disk)

iOS升级后,xcode真机调试支持文件,使用方法:解压后存放在下面路径即可,注意目录结构, 需要把外层文件夹里面的拷贝出来: Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 点击去下载 有些情况下需要重启xcode和手机才能运行。...

2018-04-16 15:20:35 4262

原创 xcode 报错 Implicit declaration of function ‘av_opt_set’ is invalid in C99

错误如下:Implicit declaration of function ‘RadiansToDegrees’ is invalid in C99 或者:Implicit declaration of function ‘DegreesToRadians’ is invalid in C99 原因是这两个函数没有提前声明; 解决办法: 如下,在类前面声明一下即可: 接着编译链接报错...

2018-04-10 16:51:09 2041

原创 linux 批量指定文件夹压缩,排除某个不压缩,查看文件大小,查看磁盘空间

一,linux通配符压缩文件如下: 如这种按年月日的文件夹要分开压缩需要使用通配符匹配压缩,如只压缩2017年的: find 2017* | xargs tar -zcvf 2017.tar.gz 或者: tar cvf 2017.tar 2017* 或者: tar cvfz 2017.tar.gz 2017*二,linux压缩文件排除某个文件夹不压缩其它都压...

2018-02-08 10:17:49 6064

原创 zip I/O error: No such file or directory zip error: Input file read failure (was zipping..

一,在linux上用zip:zip -r www.zip www/压缩文件发现报这个错误:zip I/O error: No such file or directoryzip error: Input file read failure (was zipping www/WEB-INF/SHEETUPLOAD/20170109/1483928803178uid518.JPG)原因

2018-02-05 11:39:40 4580

转载 iOS之copy、strong使用,block特性

什么时候使用copy,即修饰NSString类型与block,其他的都是使用strong关键字修饰。说到这里,我们先来 说说NSString类型,我在创建的NSString类型的属性中,也曾也使用过strong修饰的,因为我几乎没有使用过NSMutableString类型转换,我不用去考虑是用copy还是strong更好,当然为了代码的健壮使用copy更好,以下我就作具体分析缘由。 在

2018-01-11 09:53:20 926

原创 最简单的OpenSL播放PCM实时音频

这里是c语言写的给android用的,可以拿到其他平台使用。既然是最简单的,肯定使用起来就是超级简单如回调方法就一句代码。这里简单说一下使用要注意的地方: 1.如果想要使用opensl的一些功能如音量控制: 只是这样是不可以的,拿到的bqPlayerVolume为空值,还需要在这个地方打开一下: 这是我碰到的坑,帮助大家直接跳过。 2. opensl播放音频速率是一定的,那么给op

2018-01-09 16:12:49 5572 1

原创 iOS 最简单的OpenAL播放PCM实时音频

这是拿windows版的移植来的,当然也可以再移植过去。这里简单说一下怎么使用,因为音频播放速率是一定的,那么给openal更新pcm数据包的速率也是一定的,太快了太慢了都会播放异常,openal有pcm数据缓冲,要实时监控缓冲里面剩余数据的多少,少了及时更新数据多了及时阻塞,其中m_numqueued头文件中这个值的大小就是将要播放的缓存的队列的数据数量。这个队列数据缓存太大了播放延迟大,太小了

2018-01-09 15:41:23 4629 1

原创 FFMPEG 播放时间计算 AVRational 音视频同步问题分析

FFmpeg怎么计算一帧视频或者音频所在的播放时间呢? time=采样时间间隔*第几次采样; 这样看起来很直白吧。 要用到AVRational来计算: FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的 typedef struct AVRational{ int num; ///< numerator

2017-12-18 12:11:37 3321

原创 android opengl 播放 yuv数据

ios opengl 播放 yuv数据: http://blog.csdn.net/m0_37677536/article/details/78782501 这个播放是通过renderer的方式,iOS版的是通过EAGLContext的方式,总体流程是一样的:需要这么几个步骤:编写shader->编译shader->链成gpu程序(代码中的program)->分别创建yuv纹理对象->找到yuv

2017-12-12 16:31:46 3686

原创 ios opengl 播放 yuv数据

android opengl 播放 yuv数据: http://blog.csdn.net/m0_37677536/article/details/78783267 yuv格式数据是怎么来的呢: Kr = 0.2126 Kb = 0.0722 从 RGB 到 YUV 转换的定义以下列内容开始:L = Kr * R + Kb * B + (1 – Kr – Kb) * G然后,按照下列方式

2017-12-12 16:02:27 4008

原创 Android OpenSLES jni开发 Cmake 编译 CmakeLists.txt 配置

android OpenSLES属于jni开发的范畴,虽然在c++层能够直接引用OpenSLES头文件,在代码编写阶段没什么问题,但是如不把OpenSLES库文件配置到NDK编译环境来编译会报错,配置方法跟OpenGL相似:find_path(SL_INCLUDE_DIR SLES/OpenSLES.h HINTS ${ANDROID_NDK}) #找到opensl

2017-12-01 16:03:20 700

原创 Android OpenGL ES jni开发 Cmake 编译 CmakeLists.txt 配置

android 本身支持opengl在java层调用opengl代码没有任何问题,但是想要在c++层调用opengl代码就需要jni配置了,需要把opengl跟c++代码一起编译,这里用cmake编译。 直接上代码CMakeList文件配置:find_path(GLES2_INCLUDE_DIR GLES2/gl2.h HINTS ${ANDROID_NDK})

2017-11-28 18:20:33 1800

原创 Linux centos ssh 暴力攻击应对方法 添加自定义root用户 更改ssh端口

今天用root用户ssh登录以后发现正在有人进行暴力攻击ssh root用户帐号: 虽说密码设置的很复杂,但是万一要被破解了呢。要想办法解决。 先不说借助工具屏蔽ip,至少现在先增加一下破解难度,就是禁用默认root用户登录,我发现这个攻击只是针对root用户名,别的用户名并没有攻击提示,另一个方式就是更改ssh登录端口。 禁用root用户需要先创建一个自定义用户,并分配root权限

2017-11-20 18:13:31 2710

原创 Android studio 多个so库配置 ffmpeg库配置 cmake编译

这里要以ffmpeg的so库配置为例,ffmpeg需要jni开发环境支持,想要了解Android Studio 的jni环境配置请到这里查看。如果想要下载ffmpeg编译好的so库请到这里下载。 现在就在这篇文章配置好的环境基础上进行ffmpeg的so库配置, 如图把ffmpeg的so库文件拷贝到app/libs目录下面: 这里有arm64-v8a,armeabi,armabi-v7

2017-11-17 17:06:46 5548 29

原创 Android Studio 3.0 Jni 开发环境配置 ndk cmake编译 多个C/C++文件添加配置

为什么要用cmake?我先说一下cmake的优点: 1.配置简单,只需要一个text文件几句代码即可完成Jni环境配置 2.请看下图: 第一张图是在干什么?debug C/C++代码啊!惊不惊险刺不刺激?! 都能够直接debug了,添加文件添加函数肯定超简单的。 第二张图片呢,查看了一下apk包里面的内容可以看到所有c/c++代码都会自动被编译成为so库文件才能发布,java代码...

2017-11-17 11:47:02 8409 5

原创 iOS 内存泄露查找

在做音视频涉及到多线程就容易引起内存泄露问题。这里记录一下内存泄露定位方法。 1. 查看静态代码: 打开项目:product ->Analyze 可以看到: 这些静态的引起的问题不严重,下面的在多线程中的内存泄露问题比较严重,会随着程序运行内存增加很快。 2.运行过程中造成的内存泄露: 设置xcode:Build Settings->Build Options->Debug Info

2017-10-24 13:51:46 497

原创 centos svn服务器搭建 多账号多项目不同权限配置 hook配置 自动化部署 项目提交自动同步 测试及生产环境配置

内容分为两大部分:1.svn服务器搭建配置 2.svn hook配置项目提交自动同步到测试环境,及测试生产环境配置。 一,服务器配置 1、安装svn: yum install subversion svn –version 如果弹出svn版本信息说明安装成功 2、分别创建不同项目的版本库比如ios,android,www等 svnadmin create /var/svn/ios s

2017-10-17 14:00:35 2889

原创 linux python 爬虫 服务器部署 crontab定时执行

由于python版本比较多,python2与python3兼容又不好,导致很多扩展库版本也很多,安装扩展库就容易碰到问题,有些直接yum就可以安装,有些需要用pip安装,有些需要直接下载安装,我这里就列举几个我碰到的吧。 可以用virtualenv这个虚拟环境 也可以用conda这个工具,我这里就是手动安装没有借助这种扩展库管理工具。 先把本地python项目上传到服务器,可以用rz工具,也可

2017-10-17 13:52:29 6443

原创 centos phpMyAdmin登陆不进去 有些浏览器报错

问题:把本地代码上传到centos系统后phpMyAdmin不能正常登录,在chrome上面登录没反应,在火狐浏览器报错如下: 解决办法:打开 /etc/php.ini 文件找到下面这几个地方改一下: 再重启php-fpm: systemctl restart php-fpm 此时再次访问phpMyAdmin还是打不开,不过此时有了进展,就是php的errorlog文件里面有错误信息

2017-10-12 14:20:15 1933

iOS13.3 13.4真机调试支持文件

存放路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 解压后注意目录,重启xcode生效

2020-03-05

Apple Configurator 2.zip

Apple Configurator 2 mac版安装,免App Store登录安装Apple Configurator 2 ,网络不好可以到这里下载,直接解压可用

2020-01-08

IJKMediaFramework.framework

ffmpeg:3.4,cpu:x86_64 armv7 armv7s arm64 i386,网络:http,编译日期:2018.7.2

2018-07-03

iOS11.3 11.4 12.0真机调试支持文件

存放路径:Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

2018-06-08

ffmpeg3.35_android_so.zip

使用方法 http://blog.csdn.net/m0_37677536/article/details/78561085 注意,这里是新版的跟文章中的目录结构不一样需要调整一下目录结构,支持的cpu架构也不同,需要修改cmake配置。这个支持所有网络本地常见格式解码播放。

2018-02-06

FFmpeg_audio_video_demo_android

详情及使用方法:http://blog.csdn.net/m0_37677536/article/details/78775007

2017-12-12

ios_ffmpeg_lib

详情及使用方法请到:http://blog.csdn.net/m0_37677536/article/details/78769362 查看

2017-12-11

FFmpeg_audio_video_demo_ios

详情及使用方法请到:http://blog.csdn.net/m0_37677536/article/details/78769362 查看

2017-12-11

android ffmpeg so库 下载

使用方法及文件详情请到这里查看:http://blog.csdn.net/m0_37677536/article/details/78561085

2017-11-17

空空如也

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

TA关注的人

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