自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(190)
  • 资源 (6)
  • 收藏
  • 关注

原创 linux 信号量sem

信号量如同一盏红绿信号灯,用于临界资源(如公路、人行道)的管理。信号量是一种特殊的变量,访问具有原子性。P等待:信号量的值为0时,不能减,则进行阻塞休眠。相当于绿灯变红灯,不可以走。V信号:信号量加1,则信号量的值变大,如果为1,则可以唤醒其他阻塞的线程。相当于有红灯变带有秒数的绿灯。三、二值信号量相当于一盏红绿灯,只有红或绿两种状态(绿灯是没有带秒数的)。 作锁使用,信号量初始值为1,但不同线程的临界区不同。追踪线程,信号量初始值为0,如主线启动子线程后,进入sem_wait()进

2022-07-01 22:44:46 855

原创 七、WebRTC中的SDP

格式:=SDP:会话层、媒体层、媒体音频/媒体视频“m=”行中描述媒体类型、传输类型、PlayloadType"a=rtpmap"属性可以描述编解码器记录传输媒体数据时使用的网络信息。如IP、端口号、连接复用等信息“a=group:BUNDLE”属性用于描述媒体数据可以复用同一端口号“a=sendrecv”属性用于指明媒体数据传输方向是双向的。“a=rtcp-fb”m = audio 9 UDP/TLS/RTP/SAVPF 111a = rtpmap:111 opus/48000/...

2022-06-13 08:57:26 314

原创 六、WebRTC中ICE的实现

高到底:host、srflx、prflx、relay.同一局域网内通过host类型的Candidate在内网建立连接。非同一局域网,隔断从STUN、TURN服务器中收集srflx和relay类型的Candidate。收集srflx类型Candidate时,ICE会尝试NAT打洞。如果打洞成功则使用P2P传输,否则使用TURN服务器中转数据。RTCPeerConnection对象,输入参数RTCconfiguration是json格式。NAT就是一种地址映射技术,在内网地址和外网地址之间建立映射关系。内网主机

2022-06-12 11:14:38 1053

原创 五、WebRTC实现一对一通信

Chrome\Safari\FireFox等主流浏览器对WebRTC的支持。三、采集音视频数据四、MediaTream与MediaStreamTrackMediaTream 流MediaStreamTrack 轨六、信令状态机Initjoinjoined离开--->Initother_jointed-->join_connbyte--->join_unbind多个功能模块组成(网络处理、服务质量模块、音视频引擎模块)2、RTCPeerConnection与本地视频数据绑定..

2022-06-11 19:17:29 283

原创 WebRTC信令服务器

驱动系统运转,控制各个模块的前后调用关系。客户端:join、leave、message服务端:joined、left、other_joined、byte、fullHTTP/HTTPS 、WS/WSS实现业务层管理(创建、加入、推出房间)通信双方交换信息(交换双方IP地址和端口号)接受或发送方 交换双方的外网IP地址和端口 获取各自终端的外网IP地址和端口终端知道对方的IP地址后通过NAT穿越进行P2P连接和传输Apache、Nginx、NodeJs(Offer/Answer、Ca

2022-06-11 08:27:12 1294

原创 H264码流结构

H.264和H.265编码是最广泛的编码方式。

2022-06-04 21:00:07 279

原创 AAC音频码流结构

AAC是高级音频编码(Adavance Audio Coding)

2022-06-04 07:57:05 718

原创 rtmp推流nginx服务器环境搭建

Mac下命令行下homebrew进行安装nginx一、安装 nginx1:先更新homebrewbrew update2: 查看nginx信息brew search nginx3:安装nginxbrewinstallnginx二、安装rtmp-module1、nginx克隆的本地$ brew tap denji/homebrew-nginx2、安装nginx-full和rtmp$ brew install nginx-full ...

2021-07-09 07:25:56 291

原创 2021-05-24

分别按照二叉树先序,中序和后序打印所有的节点。https://www.nowcoder.com/practice/a9fec6c46a684ad5a3abd4e365a9d362?tpId=117&tqId=37819&rp=1&ru=%2Fta%2Fjob-code-high&qru=%2Fta%2Fjob-code-high%2Fquestion-ranking&tab=answerKey/*** struct TreeNode {* ...

2021-05-24 22:28:49 63

原创 AIDL结合Binder跨进程通信实例分析

AIDL结合Binder跨进程通信实例分析一、Demo目录截图二、在src/main目录下新建aidl文件夹用于存放aidl接口类(Book.aidl和IBookManger.aidl)// Book.aidlpackage com.test.aidl.bean;parcelable Book;// IBookManager.aidlpackage com.test....

2019-07-10 08:44:54 262

原创 Handler消息机制源码分析

Hander消息机制源码分析一、Hander消息简单使用 findViewById(R.id.threadlocal_btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ...

2019-07-06 22:11:30 201

原创 ThreadLocal源码分析

ThreadLocal源码分析threadlocal是一个线程内部的数据存储类。某线程储存的数据,只有这个线程中才能获取到存储的数据。而其他线程是无法获取到这个数据的。一、ThreadLocal的使用 private ThreadLocal<Integer> mThreadLocal = new ThreadLocal<Integer>(); /...

2019-07-06 10:22:55 123

原创 Android GPUImage源码分析(四) Lookup滤镜的使用

Android GPUImage源码分析(四) Lookup滤镜的使用一、lookup滤镜输入双纹理输入滤镜/**** * 双纹理输入滤镜 */public class GPUImageTwoInputFilter extends GPUImageFilter { /**顶点坐标shader**/ private static final String VERTE...

2019-06-27 07:17:42 855

原创 Android GPUImage源码分析(三) GPUImageFilterGroup源码分析

/** * Resembles a filter that consists of multiple filters applied after each * other. */public class GPUImageFilterGroup extends GPUImageFilter { private List<GPUImageFilter> filters;...

2019-06-27 06:33:32 819

原创 SparseArray 稀疏数组

SparseArray 稀疏数组一、几个重要的成员变量 private static final Object DELETED = new Object();/**用于标记已被删除value**/ private boolean mGarbage = false; /**是否存在垃圾**/ private int[] mKeys; /***键keys整型数组**...

2019-06-15 22:02:25 126

原创 Android GPUImage源码分析(二) Brightness滤镜的使用

Android GPUImage源码分析(二) Brightness滤镜的使用以GALLERY选图添加Brightess滤镜为例一、点击CHOOSE FILTER按钮,会拥有很多滤镜选项的弹框,选中Brightness滤镜。 private fun createFilterForType(context: Context, type: FilterType): GPUImageFil...

2019-06-13 08:42:11 426

翻译 Android GPUImage源码分析(一)简介

Android GPUImage源码分析(一) 简介cats-oss/android-gpuimageAndroid filters based on OpenGL (idea fromGPUImagefor iOS)源码链接GPUImage广泛用于图片处理摄像头摄影视频处理,比如添加滤镜、动态贴纸等功能要求:Android 2.2 or higher (OpenGL ...

2019-06-12 22:09:12 1105

原创 HTTP POST和GET区别

HTTP  POST和GET区别           Http方法有Post、Get、Put、Delete,Post、Get最常用到,区别: 一、 原理:          GET:常用于信息的获取,安全(只能从服务器中获取信息,不能修改服务器中信息)、幂等(每次获取的信息都是相同的)。          POST获取信息或提交修改信息 二、形式:     HTTP 的

2017-05-18 22:07:09 396

转载 RxJava的使用

RxJava的使用1、app   build.gradle中添加 compile 'io.reactivex.rxjava2:rxjava:2.0.0' compile 'org.reactivestreams:reactive-streams:1.0.0'2、测试package com.test.main;import android.os.Bundle;im

2017-04-12 18:17:24 644

转载 Spring MVC的使用

Spring MVC的使用来源:http://www.cnblogs.com/ruiati/p/5501585.html1、新建Web工程2、添加jar包Properties-->java Build Path -Libraries-->Add External JarsD:\software\studyWork\webIde\spring3.2最少

2017-04-08 18:10:27 408

转载 RxJava

RxJava 简单实用来源:http://blog.csdn.net/qq_35064774/article/details/530573321、app build.gradle中添加dependencies { compile 'io.reactivex.rxjava2:rxjava:2.0.0' compile 'org.reactivestreams:rea

2017-04-01 13:47:11 1097

转载 单例模式

多一点真诚,多一点套路,少一点随意---单例模式package com.pattern.Singleton;import android.util.Log;public class Singleton { private static final String TAG = "Singleton"; private static Singleton instance =

2017-03-31 10:24:18 355

转载 观察者模式

多一点真诚,多一点套路,少一点随意---观察者模式文章来源:http://blog.csdn.net/caihongdao123/article/details/518787601、首先实现观察者接口Observer和接口中的方法update();package com.test.observer;public interface Observer { public

2017-03-31 10:18:45 281

转载 EventBus3.0的使用

EventBus3.0的使用相关文章:http://greenrobot.org/eventbus/documentation/http://blog.csdn.net/qq_28746251/article/details/51476389http://www.jianshu.com/p/1eaca34e53141、定义消息类型packag

2017-03-30 11:34:44 311

转载 Android AIDL的使用

Android AIDL的使用文章来源:http://blog.csdn.net/luoyanglizi/article/details/51980630在Activity和Sevice之间跨进程通信获取自定义对象数据类型1、在Activity新建Book类,要实现Parcelable接口package com.aidl.entity;import an

2017-03-30 10:08:59 394

原创 工厂模式Factory

多一点真诚、多一点套路、少一点随意--- 工厂模式Factorypackage com.pattern.entityIn;public interface Sender { public void Send();}package com.pattern.entityImpl;import android.util.Log;import com

2017-03-29 10:14:12 349

原创 适配器模式

多一点真诚、多一点套路、少一点随意---  适配器模式Adapter文章来源:http://blog.csdn.net/guolin_blog/article/details/9400141package com.pattern.count;public interface ServerPlayerCount { String getServerName();//服务器名

2017-03-29 10:06:16 418

原创 MVP设计模式

多一点真诚,多一点套路,少一点随意   MVP设计模式Modelpackage com.test.model;/** * Created by Admin on 2016/9/1. */public class User {//Model,就是数据、模型 private String name; private String password; publ

2017-03-28 14:48:01 297

原创 构建者模式Builder

多一点真诚、多一点套路、少一点随意---  构建者模式Builder    Android设计模式之建造者模式(Builder Pattern) http://blog.csdn.net/hp910315/article/details/49405311package com.pattern.entity;public c

2017-03-28 14:37:06 305

原创 反编译工具的使用

可参考http://blog.csdn.net/vipzjyno1/article/details/21039349/http://blog.csdn.net/xia09222826/article/details/37909421apktool命令使用的时候1、反编译:2、重新编译3、classes.dex 转 jar

2017-03-01 14:52:14 595

转载 嵌套滑动 NestedScrolling

写的比较简单易懂 NestedScrolling机制(一)——概述http://blog.csdn.net/al4fun/article/details/53888990NestedScrolling机制(二)——实例http://blog.csdn.net/al4fun/article/details/53889075

2017-02-14 11:52:30 316

原创 JNI C调用Java

JNI C调用Java1、在Java里写好要被C调用的方面public class JNI { private static final String TAG = "JNI"; static { // 静态初始化代码块,这里加载的库名称要和 gradle 中定义的 moduleName 名称一致 System.loadLibra

2017-02-08 10:00:49 273

原创 NDK Java 调用 C代码

package com.lwb.testndk;public class JNI { static { // 静态初始化代码块,这里加载的库名称要和 gradle 中定义的 moduleName 名称一致 System.loadLibrary("LwbLib"); } public static native int add(int

2017-02-06 18:24:40 279

转载 使用Android Studio开发NDK

使用Android Studio开发NDK参考http://blog.csdn.net/zhuwentao2150/article/details/52075902?locationNum=2&fps=1产生头文件的命令行:D:\app\android\TestNdk>cd app\build\intermediates\classes\debugD:\app\

2017-02-06 13:48:27 219

转载 Android java web 环境变量配置

jdk:C:\Program Files\Java\jdk1.7.0_17C:\Program Files\Java\jre7\系统变量JAVA_HOMEC:\Program Files\Java\jdk1.7.0_17系统变量Path%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;系统变量→新建 CLASSP

2016-03-24 18:06:08 493

转载 开源代码学习集合

greenDao----简介和快速使用(1)http://blog.csdn.net/a284266978/article/details/44937211 greenDAO系列http://m.oschina.net/u/1052509

2015-08-03 12:21:42 444

转载 gethub示例网址

gethub示例网址http://blog.csdn.net/shulianghan/article/details/18046021http://hunankeda110.iteye.com/blog/2103569

2015-04-23 09:39:20 4169

转载 Eclipse搭建Android开发环境

1、Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目(Windows平台)http://www.cnblogs.com/allenzheng/archive/2012/11/10/2762379.html2、

2015-04-13 20:24:18 370

转载 ViewPager的使用

1、《ViewPager 详解(一)---基本入门》2、《ViewPager 详解(二)---详解四大函数》3、《ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同》4、《ViewPager 详解(四)----自主实现滑动指示条》5、《ViewPager 详解(五)-----使用Fragment实现View

2015-03-16 15:56:34 429

转载 ListView、baseAdapter、getView()间的关系及优化

ListView、baseAdapter、getView()间的关系及优化1、创建ListView中的每一个行数据的布局文件2、定义继承自BaseAdapter的MyAdapter. 创建时,应该传入上下文对象和填充数据。MyAdapter重点在复写getView()函数.  if (convertView == null) {                   

2015-03-10 23:54:46 1404

H.264 标准文档 H264 2nd ed.pdf 英文版

H264协议文档,介绍编解码的各模块的关键技术原理标准及实现。AVC编码视频格式、编码结构 英文版

2020-10-01

Android AIDL 学习Demo

Android AIDL的使用 在Activity和Sevice之间跨进程通信获取自定义对象数据类型 http://blog.csdn.net/gdliweibing/article/details/68483406

2017-03-30

反编译工具 dex2jar 和jd-gui

试过可用 dex2jar 作用:将apk反编译成Java源码(classes.dex转化成jar文件) jd-gui 作用:查看APK中classes.dex转化成出的jar文件,即源码文件 教程 http://blog.csdn.net/vipzjyno1/article/details/21039349/

2017-03-01

反编译工具 apktool

apktool (试过直接可用) 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 教程 http://blog.csdn.net/vipzjyno1/article/details/21039349/

2017-03-01

OpenGLES 2.0 for android 开发教程 从入门到精通和Demo

Android OpenGL ES 2.0 开发教程 从入门到精通和Demo(内容详细、简单,易学)

2015-04-28

空空如也

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

TA关注的人

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