- 博客(38)
- 收藏
- 关注
原创 mount_apfs: volume could not be mounted: Operation not permitted,mount: / failed with 77
最近在使用mount -a挂载命令时,出现错误:,加上sudo也是同样的错误,通过查找资料,是因为mac系统对于系统根目录的写操作权限有限制,然后尝试在根目录创建data目录,随之提示:。Cataline 10.15.5
2023-04-15 19:30:46
1388
原创 rtp时间戳
1. 概念采样率:采样率就是每秒钟抽取图像或声波幅度样本的次数。比如音频采样率8k,表示1秒有8000次采样,视频很少提及采样率这个概念。帧率:帧率就是每秒显示的帧数。比如30fps标识1秒显示30帧图像,音频没有帧率但可以算出帧率:采样率/1024。时间戳单位:时间戳计算的单位不为秒之类的单位,而是由采样频率所代替的单位,这样做的目的就是为了使时间戳单位更为精准。比如说一个音频的采样频率为8000HZ,那么我们可以把时间戳单位设为1/8000。时间戳增量:相邻两个RTP包之间的时间差(以时间戳单
2021-01-04 14:25:50
1825
1
原创 rtp和rtcp协议详解
RTP被定义为传输音频、视频、模拟数据等实时数据的传输协议,与传统的注重的高可靠的数据传输的传输层协议相比,它更加侧重的数据传输的实时性,此协议提供的服务包括数据顺序号、时间标记、传输控制等。RTP一般与传输控制协议RTCP一块工作,RTP只负责实时数据的传输,RTCP负责对RTP的通讯和会话进行带外管理(如流量控制、拥塞控制、会话源管理等)。RTP使用一个偶数端口号,而相应RTCP流使用下一个(奇数,递增)端口号。先来看一下rtp和rtcp网络结构图:RTP的数据包由RTP Header + R
2021-01-04 14:16:11
4800
原创 RTP包的包类型
RTP是实时传输协议,先来一张RTP协议的图:具体各个字段的含义如下:sequence number:序号,用于记录包的顺序。timestamp:时间戳,同一个帧的不同分片的时间戳是相同的。不同帧的时间戳肯定是不一样的。PT:Payload Type,数据的负载类型。音频流的 PT 值与视频的 PT 值是不同的,通过它就可以知道这个包存放的是什么类型的数据。当然还有其他的字段,这里只是简单罗列其中的几个字段。最后附一张RTCP协议头各个字段的含义:...
2020-12-24 11:07:33
1097
原创 vue单页面项目实战
1. 组件嵌套将单文件组件组合在一起有两种方式,一种是嵌套方式,一种用路由的方式。嵌套的方式代码如下: 如下,假设组件A中要嵌入组件B:<template> // 在A组件中使用B组件 <B_zujian></B_zujian></template><script>// 先导入B组件,其中'@'表...
2018-06-30 09:36:02
2273
原创 vue.js组件开发
1. ES6语法ES6是JavaScript语言的新版本,它也可以叫做ES2015,之前介绍的JavaScript属于ES5,ES6在它的基础上增加了一些语法,ES6是未来JavaScript的趋势,而且vue组件开发中会使用很多的ES6的语法,所以掌握这些常用的ES6语法是必须的。1.1 变量声明let和constlet和const是新增的声明变量的开头的关键字,在这之前,变量声明是...
2018-06-30 09:14:09
1262
原创 vue.js库使用
1. vue.js介绍Vue.js是前端三大新框架:Angular.js、React.js、Vue.js之一,Vue.js目前的使用和关注程度在三大框架中稍微胜出,并且它的热度还在递增。Vue.js可以作为一个js库来使用,也可以用它全套的工具来构建系统界面,这些可以根据项目的需要灵活选择,所以说,Vue.js是一套构建用户界面的渐进式框架。Vue的核心库只关注视图层,Vue的目标是通...
2018-06-29 23:30:53
1961
原创 jQuery高级
1. 事件冒泡什么是事件冒泡 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。事件冒泡...
2018-06-29 21:49:54
169
原创 jQuery进阶
1. jQuery特殊效果fadeIn() 淡入 $btn.click(function(){ $('#div1').fadeIn(1000,'swing',function(){ alert('done!'); }); });fadeOut() 淡出 fadeToggle() 切换淡入淡出 hide()...
2018-06-29 21:48:45
324
原创 jQuery入门
1. jQuery介绍jQuery是目前使用最广泛的javascript函数库。据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库。微软公司甚至把jQuery作为他们的官方库。jQuery的版本分为1.x系列和2.x、3.x系列,1.x系列兼容低版本的浏览器,2.x、3.x系列放弃支持低版本浏览器,目前使用最多的是1.x系列的。jquery是一个函数库,一个j...
2018-06-29 21:47:24
173
原创 javascript进阶
1. 数组及操作方法数组就是一组数据的集合,javascript中,数组里面的数据可以是不同类型的。1.1. 定义数组的方法//对象的实例创建 var aList = new Array(1,2,3);//直接量创建 var aList2 = [1,2,3,’asd’];1.2. 操作数组中数据的方法1、获取数组的长度:aList.length; var aLis...
2018-06-26 22:41:55
253
原创 javascript入门
JavaScript(原生js)是运行在浏览器端的脚本语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互。 JavaScript是浏览器解释执行的,前端脚本语言还有JScript(微软,IE独有),ActionScript( Adobe公司,需要插件)等。1. js嵌入页面的方式(3种)– 行间事件(主要用于事件) <input type="b...
2018-06-26 22:17:04
186
原创 html和css进阶二
一、table标签 <table border="1"> <tr> <th>Month</th> <th>Savings</th> </tr> <tr> <td>January</t
2018-06-24 10:52:34
416
1
原创 html和css进阶
一、相对地址和绝对地址当我们在HTML文件中引入外部的CSS或者js文件的时候,会有一个路径的问题,这个路径分为相对和绝对的。相对路径:相对于引用文件本身去定位被引用的文件地址,“ ./ ” 表示当前文件所在目录下,“ ../ ” 表示当前文件所在目录下的上一级目录。绝对路径:相对于磁盘的位置去定位文件的地址,绝对地址在整体文件迁移时会因为磁盘和顶层目录的改变而找不到文件,相对地址就没...
2018-06-24 10:20:51
1245
2
原创 html和css入门
一、html概述和基本结构HTML是 HyperText Mark-up Language 的首字母简写,意思是超文本标记语言,超文本指的是超链接,标记指的是标签,是一种用来制作网页的语言,这种语言由一个个的标签组成,用这种语言制作的文件保存的是一个文本文件,文件的扩展名为html或者htm。 - 基本结构如下:<!DOCTYPE html><html> ...
2018-06-24 09:47:48
800
原创 wsgi-mini-web框架的实现-2
上一节已经介绍了一些关于wsgi的一些相关的知识,这节我们手动实现一下我们的web框架。 首先看一下我的项目结构: 其中web_server.py文件是我们的服务器文件,而Application.py文件是我们的web框架文件,里面定义了wsgi接口。具体项目代码如下:web_server.py# -*- coding:utf-8 -*-import sys,re,soc...
2018-06-09 22:06:29
396
原创 wsgi-mini-web框架的实现-1
1. 概述首先给大家看一张图: 这张图是服务器请求动态页面的一个过程,通过这张图,我们可以看到,我们的服务器和web框架是通过一个叫做wsgi建立连接的,那么什么是wsgi呢? wsgi(Web Server Gateway Interface),web服务网关接口,它允许开发者将选择web框架和web服务器分开,可以混合匹配web服务器和web框架,选择一个适合的配对。 web服务...
2018-06-09 22:04:24
338
原创 mysql主从配置
最近学习了一下mysql主从服务配置,中间踩过了一些坑,所以在这里做下总结,方便以后查阅。因为我使用的是虚拟机,所以这里的配置是基于2个Ubuntu 16.04 64位系统进行配置的。主机IP为:192.168.199.199 从机IP为:192.168.199.217具体步骤如下: 1. 主机需要开启二进制文件记录,配置独立的id编号,并且修改为任何其他的主机都可以访问。 –...
2018-06-06 18:15:48
606
原创 mysql查询
一、基本查询-- 创建数据库、数据表-- 创建数据库create database python_test_1 charset=utf8;-- 使用数据库use python_test_1;-- students表create table students( id int unsigned primary key auto_increment not null,...
2018-06-02 19:26:46
313
原创 数据库和mysql的使用
一、数据库在开发中,为了保存大量的数据,我们经常会使用到数据库,那么数据库是什么呢?简而言之,数据库就是一种特殊的文件,其中存储着需要的数据。它具有如下特点: - 持久化存储 - 读写速度极高 - 保证数据的有效性 - 对程序支持性非常好,容易扩展当前主要使用两种类型的数据库:关系型数据库、非关系型数据库,所谓的关系型数据库RDBMS(Relational Database M...
2018-06-01 21:52:38
682
原创 闭包和装饰器
一、闭包什么是闭包?在了解这个概念之前,我们先来看一个小例子。def create_line(k,b): '''定义一个表示直线的函数''' def line(x): ret = k * x + b return ret return lineline_11_22 = create_line(11,22) #返回的是一个函...
2018-05-29 10:05:20
163
原创 魔法属性
今天给大家介绍一些Python中的类属性中存在的一些具有特殊含义的属性,常常被我们称为魔法属性,详情如下:1. __doc__表示类的描述信息class Person(object): '''这是类的描述信息''' country = 'China' def __init__(self,name,age): # print('__ini...
2018-05-27 21:49:47
467
原创 linux软件安装和卸载
在Ubuntu中安装软件和Windows系统中双击exe文件安装软件的方式有很大的不同,在Ubuntu中主要分为以下四种软件安装的方式:1、直接解压gzip等压缩格式文件 直接解压gzip或bzip2压缩文件,如 tar -zxvf pycharm.tar.gz2、通过deb格式的离线软件包安装 下载ubuntu支持的安装包文件,ubuntu 支持deb格式 ,deb格式是Debia...
2018-05-27 08:03:11
555
原创 ssh服务
1. ssh介绍SSH为Secure Shell的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH是目前可靠的,专为远程登录会话和其他网络服务提供安全性的协议。常用于远程登录,以及用户之间进行资料拷贝。利用SSH协议可以有效防止远程管理过程中的信息泄露问题使用SSH服务,需要安装相应的服务器和客户端。客户...
2018-05-27 08:03:03
15601
原创 模块的发布和安装
为了在Python中方便的使用别人制作好的模块,需要获取别人已经制作好的模块,然后安装到我们的Python运行环境当中,那么如何制作模块并发布安装呢,下面介绍具体的方法。 1、创建一个包: 创建一个文件夹,然后把响应的py文件放入到该文件夹里面,然后在该文件夹里面创建一个__init__.py文件,然后进入这个py文件进行配置,如图:2、模块的制作和发布 2.1、在包同级...
2018-05-27 08:02:53
455
原创 socket-udp
1.socket介绍socket(简称 套接字) 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页、QQ 聊天、收发 email 等等。2.创建socket在 Python 中 使用socket 模块的函数 socket 就可以完成:import socketudp_...
2018-05-27 08:02:41
1096
原创 socket-tcp
1.TCP介绍 TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。 TCP通信需要经过创建连接、数据传送、终止连接三个步骤。 TCP通信模型中,在通信开始之前,一定要先建立相关的连接,才能发送数据,类似于生活中,"打电话""。2.TCP特...
2018-05-27 08:02:30
1427
原创 常用的vi命令
最近刚刚学习了一些vi命令(使用的是Ubuntu学习的),为了以后用到的时候方便查阅,所以在这里记录一下。 当你新建一个py文件的时候,可以使用vi + 文件名,当回车后,进入当前文件里面,此时为命令模式。编辑此文件共有三种模式: 在命令模式下,当你按i,a,o的时候可以进入到编辑模式(插入模式),当你按ESC的时候又回到命令模式;当你在命令模式下,输入一个冒号,可以进入末行模...
2018-05-27 08:01:30
9445
原创 linux命令-01
今天介绍下linux常用命令及相关知识。1.linux文件系统: / :根目录,所有的文件都在‘/’目录下。 /home/user : 用户家目录,也称为用户工作目录,简写为‘~’,当前用户对用户家目录及其子目录有绝对的权限。 /bin : 可执行的二进制文件目录,常用的命令就在这里面放着。 /opt:安装额外软件的目录。 /etc : 存放配置文件的目录。2.lin...
2018-05-26 18:22:57
174
原创 linux命令-02
一、管道: |管道:一个命令的输出可以通过管道做为另一个命令的输入,如ls -lh | more二、建立链接文件:lnLinux链接文件类似于Windows下的快捷方式,链接文件分为软链接和硬链接。使用格式如下:软链接格式: ln -s 源文件 链接文件, 如:ln -s 1.txt 1-softlink.txt 硬链接格式: ln 源文件 链接文件,如 如:ln 1.txt 1-hardli...
2018-05-26 18:22:17
118
原创 多任务-线程
1. 多任务在计算机中,操作系统可以同时运行多个任务,这就是多任务。那么如何解决多个任务同时运行呢,那就需要用到多线程。多任务可以通过并发和并行来完成,那么什么是并发和并行呢?并发:指的是任务数多于cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已),在实际开发中,并发是最常用的。并行:当任务...
2018-05-26 18:20:14
394
原创 多任务-进程
一、进程及状态1. 进程程序:比如电脑安装了很多程序,又比如我们编写一个xxx.py程序,它们静静的保存在硬盘中,所以程序是一个静态的概念。 进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单位。 不仅可以通过线程完成多任务,进程也是可以的。2. 进程的状态工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行,而另外一些...
2018-05-26 17:55:19
175
原创 多任务-协程
一、协程的概念协程,又称微线程,纤程。英文名Coroutine。 协程是python中另外一种实现多任务的方式,只不过比线程占用更小的执行单元(理解为需要的资源)。 通俗的理解:在一个线程中的某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个函数中执行,注意不是通过调用函数的方式做到的,并且切换的次数以及什么时候再切换到原来的函数都由开发者自己确定。 ...
2018-05-26 17:54:04
159
原创 正则表达式
一、概述字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是...
2018-05-26 17:45:13
168
原创 web-静态服务器
最近学习了使用基于HTTP协议的协程版的web静态服务器的搭建,这里简单记录下搭建的流程,代码如下:# -*- coding:utf-8 -*-from gevent import monkey; monkey.patch_all() #打补丁import socket,geventclass WebServer(object): def __init__(self):...
2018-05-26 17:22:57
285
原创 浅拷贝和深拷贝
一、浅拷贝浅拷贝是对于一个对象的顶层拷贝通俗的理解是:拷贝了引用,并没有拷贝内容 从以上的结果可以看出,a和b的内存地址一样,因为是浅拷贝,只是拷贝了引用,所以在修改a的值的时候,b的值也相应发生了变化。使用copy模块验证 从上面的结果可以看出,c的内存地址和d的内存地址不同,因为生成了一个新的对象,所以浅拷贝是对最外层进行了拷贝,继续看可以发现d[0]和a的地址一...
2018-05-26 17:22:04
2097
原创 property属性
一、定义一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法 例子:class Person(object): @property def run(self): passp = Person()print(p.run) #打印property属性二、property属性的两种方式1. 装饰器 即:在方法上应用装饰器...
2018-05-26 17:17:34
4062
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人