自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (3)
  • 收藏
  • 关注

转载 密码之AES五种加密模式(CBC、ECB、CTR、OCF、CFB)

分组密码有五种工作体制:1.电码本模式(ElectronicCodebookBook(ECB));2.密码分组链接模式(CipherBlockChaining(CBC));3.计算器模式(Counter(CTR));4.密码反馈模式(CipherFeedBack(CFB));5.输出反馈模式(OutputFeedBack(OFB))。以下逐一介绍一下:1.电码本模式(ElectronicCodebookBook(ECB)这种模式是将整个明文分成若干...

2021-01-27 16:26:19 1668

转载 IOS SEL (@selector) 原理及使用总结(一)

SEL 类成员方法的指针可以理解 @selector()就是取类方法的编号,他的行为基本可以等同C语言的中函数指针,只不过C语言中,可以把函数名直接赋给一个函数指针,而Object-C的类不能直接应用函数指针,这样只能做一个@selector语法来取.它的结果是一个SEL类型。这个类型本质是类方法的编号(函数地址)C/C++函数指针int test(int val){return val+1;}int (* c_func)(int val); //定义一个函数指针变量c_f.

2021-01-27 16:14:26 689

转载 AVCaptureSession获取摄像头视频及buffer(可用来自定义相机)

发现自己真的很懒,很久都不想写文章(主要是不知道写什么,太难的不会,太简单的又感觉没必要????)这篇文章的初衷是为了获取涉嫌头取到的视频buffer以和本地视频的buffer通过OpenGL混合叠加,跟上一篇是姊妹篇:AVPlayer实现播放视频和AVFoundation获取视频的buffer还是先上效果图:效果图.gif1、创建session// 1 创建session_captureSession = [[AVCaptureSession alloc]init];// 设

2021-01-27 14:20:17 1367

转载 iOS之OC面试题

1、Objective-C反射机制Objective-C反射机制:是类似于Java的反射机制,这种动态机制可以让oc语言更加的灵活。oc反射机制有三个用途: 1、获得Class 2、检查继承关系 3、动态的调用方法获取Class对象Class对象其实本质上就是一个结构体,这个结构体中的成员变量还是自己,这种设计方式非常像链表的数据结构。typedef struct objc_class *Class;struct objc_class { Class ..

2021-01-27 14:00:44 690

转载 IOS 生命周期-view和uiviewcontroller的生命周期

参考自滚滚猫的《iOS APP生命周期 和 UIViewController的生命周期》,沧州宁少的《iOS App生命周期》。1.如果创建视图对象使用的是[[MyViewController alloc] init],执行顺序是init->viewDidLoad,但如果我在MyViewController.m中重写了init,并且在init方法中写入了涉及视图(self.view等)属性的代码,就会在该处暂停init的执行,而去执行viewDidLoad,然后再回来执行init,(注意viewD

2021-01-27 13:21:24 340

转载 WebRTC带宽估计

带宽估计可能是WebRTC视频引擎中最重要的一部分了。带宽估计(BWE)模块的任务是决定你可以发送多大的视频流且不会造成网络拥塞,以此来保证不会降低视频质量。 在以前的带宽估计算法还是十分基础的,大体上是基于丢包而设计的。通常我们在开始慢慢的增加视频的比特率,直到我们检测到丢包为止。为了检测丢包,你使用标准的RTCP反馈,其中接收端使用RTCP接收端报告(RR)信息来周期性的报告丢包。 现在的带宽估计算法变得更加先进,尝试在拥塞严重到了路由器开始丢弃数据包之前就检测出...

2021-01-27 13:05:29 336 1

转载 video + canvas = magic--html-canval前段渲染

video + canvas = magicWednesday, October 20th, 2010byTab Atkins Jnr.You’ve already learned about the<video>and<canvas>elements, but did you know that they were designed to be used together? In fact, the two elements are absolutely ...

2021-01-27 11:43:58 1316

转载 html-canvas-拷贝--Manipulating video using canvas

By combining the capabilities of thevideoelement with acanvas, you can manipulate video data in real time to incorporate a variety of visual effects to the video being displayed. This tutorial demonstrates how to perform chroma-keying (also known as the...

2021-01-27 11:39:49 113 1

转载 WEBRTC三种类型(Mesh、MCU 和 SFU)的多方通信架构

WebRTC 本身提供的是 1 对 1 的通信模型,在 STUN/TURN 的辅助下,如果能实现 NAT 穿越,那么两个浏览器是可以直接进行媒体数据交换的;如果不能实现 NAT 穿越,那么只能通过 TURN 服务器进行数据转发的方式实现通信。目前来看,Google 开源的用于学习和研究的项目基本都是基于 STUN/TURN 的 1 对 1 通信。如果你想要通过 WebRTC 实现多对多通信,该如何做呢?其实,基于 WebRTC 的多对多实时通信的开源项目也有很多,综合来看,多方通信架构无外乎以.

2021-01-26 23:43:08 386

转载 什么是TLS DTLS和SRTP

TLS传输层安全性协议(英语:Transport Layer Security,缩写作TLS),及其前身安全套接层(Secure Sockets Layer,缩写作SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。网景公司(Netscape)在1994年推出首版网页浏览器,网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布第一版TLS标准文件。随后又公布RFC 5246 (2008年8月)与RFC 6176(2011年3月)

2021-01-26 23:08:22 775

转载 WebRTC的RTCPeerConnection()原理探析

WebRTC的RTCPeerConnection()原理探析从getUserMedia()到RTCPeerConnection(),自认为难度陡增。我想一方面是之前在Linux平台上学习ROS调用摄像头时,对底层的外设接口调用、摄像头参数都有学习理解;另一方面是,我们在大三下学期才开始计算机网络的课程学习,对网络通信的理解尚处于未能达到闭环的自闭状态(自闭——"全程自学完成知识闭环") 面对ICE、SDP、NAT gateways、STUN、TURN等词汇异常懵逼(解释可以参考这篇introducti

2021-01-26 22:51:06 1093 1

转载 AVFoundation–简介

AVFoundation是很多处理基于时间的音视频文件的框架之一。你可以用它来检查,创建,编辑或者对媒体文件重编码。可以从设备中得到输入流,以及在实时捕捉和播放的时候对视频进行处理。如果你仅仅需要播放视频,在IOS上你可以使用Media Player框架中的MPMoviePlayerController或者MPMoviePlayerViewController,如果是基于Web的视频,那么你可以使用UIWebView。 为了录制视频,并且几乎不需要关注其格式,那么你可以使用UIKit框架中的UII

2021-01-26 22:48:25 3061

转载 NAT的几种类型

一、概念NAT(Network Address Translation,网络地址转换),当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。要真正了解NAT就必须先了解现在IP地址的适用情况,私有IP地址是指内部网络或主机的IP 地址,公有IP地址是指在因特网上全球唯一的IP地址。RFC 1918为私有网络预留出了三个 IP地址块,如下:A 类:10.0.0.0~10.255.255.255B

2021-01-26 22:31:23 13802 1

转载 webrtc SDP和candidate消息生成位置学习

candidate 英[ˈkændɪdət] 美[ˈkændɪdət] n. (竞选或求职的)候选人,申请人; 投考者; 应试者; 参加考试的人; 被认定适合者; 被认定有某种结局者; [例句]Neithercandidatewas selected for thejob.申请这个工作的两个候选人都未获选上。[其他] 复数:candidates SDP 和candidate消息生成代码1 ICE消息生成及发送ICE消息触发是由 we...

2021-01-26 22:15:17 1031

转载 WebRTC(三)媒体协商技术

WebRTC通过ICE技术可以实现客户端P2P连接,但是在两端进行P2P连接前还需要先进行媒体协商。WebRTC媒体协商技术主要包括两部分:一部分是SDP(Session Description Protocol)协议,另一部分是JSEP(JavaScript Session Establishment Protocol)协议。SDP协议SDP协议,即会话描述协议,它提供一种描述实时音视频通信所需的各种参数的通用描述,是一个文本信息。简单来说,SDP就是客户端的各端的音视频实时通信的能力,能力指的是

2021-01-26 22:07:39 323

转载 SDP协议介绍

SDP协议介绍SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME 扩展协议的电子邮件以及超文本传输协议(HTTP)。SDP协议是基于文本的协议,这样就能保证协议的可扩展性比较强,这样就使其具有广泛的应用范围。SDP 不支持会话内容或媒体编码的协商,所以在流媒体中只用来描述媒体信息。媒体协商这一块要用RTSP来实现。SDP协议格式SDP描述由许多文本行组成,文本行的格式为&l

2021-01-26 21:56:18 811

转载 webrtc系列3——对于stun和turn的理解

stun 英[stʌn] 美[stʌn] v. 使昏迷; (尤指)打昏; 使震惊(或惊愕、目瞪口呆); 给(某人)以深刻印象; 使深深感动; turn 英[tɜːn] 美[tɜːrn] v. (使)转动,旋转; 转身; webrtc系列3——对于stun和turn的理解ddssingsong2019-09-03 08:05:512736收藏6分类专栏:webrtc文章标签:webrtcstuntu...

2021-01-26 19:52:03 459 1

转载 WebRTC基础面试题

WebRTC基础面试题李超​北京音视跳动科技有限公司 音视频技术专家5 人赞同了该文章面试最近音视频会议,在线教育都比较火,很多学习了我课程的同学都偿试着去面试音视频相关的岗位,这里我就简单的整理了一份 WebRTC 相关的面试题,希望对大家有所帮助。同时,这份面试题也对你学习《WebRTC入门》这门课的一个检验。面试题为什么用浏览器无法打开摄像头?A. 浏览器不支持 WebRTCB. 没有使用 HTTPS 服务C. 证书不正确D. 没有打开浏览.

2021-01-26 19:30:26 764

转载 OpenGL的替代者——Vulkan

OpenGL的替代者——VulkanVulkan是一个跨平台的2D和3D绘图应用程序接口(API),最早由科纳斯(Khronos)组织在2015年游戏开发者大会(GDC)上发表。旨在替代OpenGL,提高图形性能。基于OpenGL的图形引擎性能瓶颈基于OpenGL的图形引擎,其渲染过程粗略可分为 主机端资源准备,设备端数据交互与管线准备 及 每帧循环的渲染 三个部分。资源加载这一过程跟GPU没有太大关系,主要是为了进行显示之前的图片解码、字体解析、3D模型解析等等。一般可以放到其他线程中

2021-01-25 17:41:51 943

转载 TypeScript - Array splice()

splice() method changes the content of an array, adding new elements while removing old elements.Syntaxarray.splice(index, howMany, [element1][, ..., elementN]);Parameter Details index− Index at which to start changing the array. howMany−..

2021-01-21 20:00:41 511

原创 TypeScript 教程

https://www.runoob.com/typescript/ts-tutorial.html

2021-01-20 22:11:51 72

转载 AE学习(一)

认识AE(Adobe After Effects)源于一次工作上的经历,那年上级搞培训,要求每个单位做一个落实活动的一个小视频。这可难为我了,但是这是我第二次参与视频的工作,五年前我还写过单位警示教育微电影的脚本,只是那时候不懂也不参与拍摄制作,就是个干活的。第二次的时候也算是我全程参与了,2分多钟的微视频,写脚本,拍摄好找一个会做视频的班长做的。那时候才知道有AE这个软件,看起来很强大,Adobe公司出品,都是精品彩,特效很精那时候便萌生了学习做视频的想法。如今,自我摸索,抽空学习一下。版本是AE2015

2021-01-18 16:52:05 1485

转载 H264 编解码协议详解

1.、什么是 H264?H264 是 MPEG-4 标准所定义的最新编码格式,同时也是技术含量最高、代表最新技术水平的视频编码格式之一,标准写法应该是H.264H264 视频格式是经过有损压缩的,但在技术上尽可能做的降低存储体积下获得较好图像质量和低带宽图像快速传输。2、一些相关名词解释下图为 H264 码流分层图2.1、VCL & NALH264 原始码流是由一个接一个 NALU(NAL Unit) 组成,它的功能分为两层,VCL(Video Coding Layer)视频

2021-01-18 13:47:29 565

转载 mac首次安装typescript报错

报错截图这一看,说是权限不够,后来问度娘,度娘说先得安装淘宝镜像:npm install cnpm -g --registry=https://registry.npm.taobao.org,然后:sudo cnpm install -g typescript等一下执行:tsc -V即可作者:Emily小姐姐链接:https://www.jianshu.com/p/1e1f141ceb55来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处...

2021-01-16 16:11:37 1035

转载 Setting up a Node development environment

Now that you know what Express is for, we'll show you how to set up and test a Node/Express development environment on Windows, Linux (Ubuntu), and macOS. Whatever common operating system you are using, this article should give you what you need to be able

2021-01-15 16:18:05 133

转载 WebGL入门教程(一)canvas、WebGL和shader简介

WebGL入门教程(一)canvas、WebGL和shader简介想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学院游戏程序行业精英群711501594下面给大家分别介绍下canvas、WebGL和shader,让大家了解这些比较基础向的内容,这样才能更好的帮助自己将后来的开发。一、canvascanvas(翻译为画布)是HTML5的一个标签,canvas可以使用JavaScript在网页上绘制图像,例如下面的代码就使用canvas绘制一个简单的矩形。&l.

2021-01-14 19:58:32 829

转载 算法的时间与空间复杂度(一看就懂)

算法的时间与空间复杂度(一看就懂)不止思考(奎哥)公众号「 不止思考 」互联网技术、思考、认知。1,116 人赞同了该文章算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢?主要还是从算法所占用的「时间」和「空间」两个维度去考量。时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。 空间维度:

2021-01-11 20:12:21 137

转载 算法复杂度

算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。应用于数学和计算机导论。中文名算法复杂度外文名Algorithmic Complexity影响效率分类时间复杂度和空间复杂度关键输入量相关时间复杂度应用数学,计算机导论目录1简介 2时间复杂度 3空间复杂度 4复杂度分析简介编辑同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程...

2021-01-11 19:52:24 431

转载 H.264学习笔记6——指数哥伦布编码

https://www.cnblogs.com/dwyanetalk/p/4035206.htmlH.264学习笔记6——指数哥伦布编码一、哥伦布码  哥伦布码就是将编码对象分能成等间隔的若干区间(Group),每个Group有一个索引值:Group Id。  》对于Group Id采用二元码编码;  》对于Group内的编码对象采用定长码。  如下图:    对于编码对象n:  n = q * m + r = low(n/m) * m + r。其中q = low(n/.

2021-01-11 18:27:40 284

原创 h264编解码基础-二元码(n元码定义)

1. 参考:https://zhidao.baidu.com/question/312489536.html二元码和二进制码是不是一个意思?二元码可以是0、1,也可以是1、2或者其他任意不同的两个值,而二进制就只能是0、1。2. n元码参考:https://baike.baidu.com/item/n%E5%85%83%E7%A0%81/5923247?fr=aladdinn元码是指编码后信号幅度具有n个取值的数字信号,常用于数字信号的基带传输中。n元码中, 每个符号可以..

2021-01-11 18:13:25 3614

转载 AAC的ADTS头解析

1. ADTS(Audio Data Transport Stream)头之于AACAAC音频文件的每一帧都由一个ADTS头和AAC ES(AAC音频数据)组成。AAC数据帧2. ADTS头分析ADTS头包含了AAC文件的采样率、通道数、帧数据长度等信息。ADTS头分为固定头信息和可变头信息两个部分,固定头信息在每个帧中的是一样的,可变头信息在各个帧中并不是固定值。ADTS头一般是7个字节((28+28)/ 8)长度,如果需要对数据进行CRC校验,则会有2个Byte的校验码,所以ADT.

2021-01-11 15:08:20 2755

转载 iOS的weakSelf与strongSelf

避免循环引用的标准做法:weakSelf+strongSelf假设我们的类有一个属性叫做 model, 我们想要当 model 中的 data 变化的时候,有一个 label 的 text 会随之改变,为了达到这目的,我们设置 model :- (void)setUpModel{ XYModel *model = [XYModel new]; model.dataChanged = ^(NSString *title) { self.titleLabe.

2021-01-11 12:41:00 343

转载 Objective-C 中的内存分配

Objective-C 中的内存分配在 Objective-C 中,对象通常是使用alloc方法在堆上创建的。[NSObject alloc]方法会在对堆上分配一块内存,按照NSObject的内部结构填充这块儿内存区域。一旦对象创建完成,就不可能再移动它了。因为很可能有很多指针都指向这个对象,这些指针并没有被追踪。因此没有办法在移动对象的位置之后更新全部的这些指针。MRC 与 ARCObjective-C中提供了两种内存管理机制:MRC(MannulReference Countin...

2021-01-10 18:15:05 254

转载 OC中的id类型

OC中的id类型id类型静态类型和动态类型 为什么要有动态类型? id数据类型与静态类型1. 静态类型和动态类型 静态类型 将一个指针变量定义为特定类的对象时,使用的是静态类型,在编译的时候就知道这个指针变量所属的类型,这个变量总是存储特定类的对象。 Person *p person = [[Person allo] init]; 动态类型 这一特性是程序直到执行时才确定对象所属的类 id obj = [[Person alloc] init]; 2

2021-01-10 18:08:15 1120

转载 类目 (category)

类目 (category) 对现有的类添加扩展,如:系统中的类,在类目中添加的方法会被子类继承,而且运行时跟其他的方法没有区别。 作为子类的替代方式,不需要定义和使用一个子类,可以通过类目直接向已有的类目里添加方法。 对类中的方法进行归类,利用categopry把一个庞大的类划分为小块来分别进行开发,从而更好地对类中的方法进行更新和维护。通过类目添加的方法会成为原始类 的一部分注意:当然也有使用Category是需要注意的问题:1 Category可以访问原始类的实

2021-01-10 15:22:44 538

转载 OC-Block语法

block 语法block语法 -> 块语法标准C里面没有Block, C语言的后期扩展版本, 加入了匿名函数; C++, JS, Swift等语言中, 有类似语法, 叫做闭包!block语法和函数指针很相似回顾, C语言中的指针函数:int(*) (int x, int y) 即: 指向两个整型参数, 一个整型返回值函数的指针!Block函数, 没有名称的函数;例如 int(int x, int y)因为Block是匿名函数, block变量的存放的函数的实现, 通过block

2021-01-10 14:16:51 221

转载 C 中 strong, weak, assign, copy 的区别

strong强引用,只可以修饰对象,属性的默认修饰符,其修饰的对象引用计数增加1weak弱引用,只可以修饰对象,指向但不拥有对象,其修饰的对象引用计数不增加,可以避免循环引用,weak修饰的对象释放后,指针会被系统置为nil,此时向对象发送消息不会奔溃assign可以修饰对象和基本数据类型,如果修饰对象,其修饰的对象引用计数不增加,可以避免循环引用,但assign修饰的对象释放后,指针不会被系统置为nil,这会产生野指针的问题,此时向对象发送消息会奔溃。所以assign通常用于基本数据类

2021-01-10 13:53:25 603

转载 OC:copy/strong/weak..使用总结

原文档关于自动引用说明:Automatic Reference Counting (ARC) is a compiler feature that provides automatic memory management of Objective-C objects. Rather than having to think about retain and release operations, ARC allows you to concentrate on the interesting cod..

2021-01-10 12:47:15 313

转载 退化多边形

基本内容编辑退化多边形是多边形的一种,是一种退化的多边形,是指一个多边形在满足多边形定义的临界。退化三角形是指面积为零的三角形。满足下列条件之一的三角形即可称为退化三角形:三个内角的度数为(180°,0°,0°)或(90°,90°,0°);三边其中一条边的长度为0;一条边的长度等于另外两条之和。有人认为退化三角形并不能算是三角形,这是由于它介乎于三角不等式之间,在一些资料中已否定了其中一条边等于其余两条边之和的情况。...

2021-01-09 15:56:13 1771

原创 苹果ios音频的回声消除处理

iOS设备上回声消除的例子工业上的声音处理中,回声消除是一个重要的话题,重要性不亚于噪声消除、人声放大、自动增益等,尤其是在VoIP功能上,回声消除是每一个做VoIP功能团队的必修课。QQ、Skype等等,回声消除的效果是一个重要的考查指标。具体的回声消除算法比较复杂,我现在还没有研究的很明白。简单来说,就是在即将播放出来的声音中,将回声的那部分减去。其中一个关键,是如何估计回声大小,这需要用到自适应算法。研究不透,多说无益。有兴趣的同学可以一起学习。Apple在Core Audio中提供.

2021-01-05 10:57:44 3397 1

王lz-1.1-20191104-白名单评审.pptx

ppt书写原理和规范

2019-11-11

iso视频标准

iso开发标准技术文档,原版下载。ts流讲解。加密版。

2014-02-20

ts流搜台的代码

解析ts流的代码。自己写的。从ts流中分离各各表格信息。入口函数需要自己添加。循环没有做,需要时直接while就可以了。

2013-12-31

空空如也

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

TA关注的人

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