自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (6)
  • 收藏
  • 关注

原创 FreeSwitch(十八):EventSocket

一、架构 与Lua之类的嵌人式语言不同,通过 Event Socket方式,可以使用运行在 FREESWITCH外部的程序控制 Freeswitch。它可以通过 Socket方式使用 FREESWITCH提供的所有的APp程序和API命令。1.1、外连模式 FREESWITCH是一个B2BUA,当Bob呼叫 Alice时,首先电话会到达 FREESWITCH(通过SIP),建立个单腿的 Channel(a-leg),然后电话进人路由状态, FREESWITCH查找 D...

2020-07-15 14:18:42 1772

原创 FreeSwitch(十二):基本功能与实现

一、mod_info呼叫队列1.1、呼叫停泊与取回 一般来说,普通的电话呼叫会使用 bridge App来桥接两条腿。但在电话分配中,一般采用停泊与取回的方式进行电话搭接。顾名思义,停泊跟泊车类似,即在有来话时,先将来话停靠在一个泊位上(一般还会放点音乐),然后通过某种算法找到一个空闲的座席,该座席拨打一个与该泊位相关的号码,就可以将该泊位上的电话取回,双方进行通话。 fifo是一个“生产者一一消费者”模型,即来话( Caller)相当于生产者( Producer),...

2020-07-14 11:07:11 2716

原创 FreeSwitch(十一):基本功能与实现

一、录音1.1、单腿录音originate user/1000 &record(/tmp/welcome. wav) 上述命令大家已经很熟悉了,我们呼叫1000,1000接听后即可以直接讲话并录音。由于这种录音方式仅涉及一条腿(leg,即一个 Channel),因而称为单腿录音。另外,我们也可以在 Dialplan中录音(与上述命令是等价的)<extension name=" record"><condition field="destinat...

2020-07-13 11:22:55 3535

原创 FreeSwitch(十):基本技能

一、通话设置1、安装freeswitch,启动控制台,用sofia status命令查看freeswitch监听的IP和本电脑ip。2、软电话设置freeswitch的ip.口令1234.3、 FreeSwitch配置文件设置电脑IP。 <param name="rtp-ip" value="192.168.67.149"/> <param name="sip-ip" value="192.168.67.149"/> <param na...

2020-07-09 14:24:12 2663 1

原创 tensorflow(九):自定义模型

一、数据准备animal:http://www.robots.ox.ac.uk/~vgg/data/pets/(images.tar.gz,~765M) flower:http://www.robots.ox.ac.uk/~vgg/data/flowers/(17flowers.tgz,~58.8M) plane:http://www.robots.ox.ac.uk/~vgg/data/airplanes_side/airplanes_side.tar(airplanes_side.t...

2020-07-09 00:04:27 366

原创 tensorflow(八):用谷歌训练好的模型进行加载、分类-inception_model

import tensorflow as tfimport osimport tarfileimport requestsimport tensorflow as tfimport osimport numpy as npimport refrom PIL import Imageimport matplotlib.pyplot as pltdef download_inception(): inception_pretrain_model_url = 'http://down.

2020-07-08 22:11:55 494

原创 FreeSwitch(九):SIP模块

一、基本概念(1)Sofia-sip:FreeSwitch使用了比较成熟的开源的SIP协议栈。(2)EndPoint:互联协议接口模块。如SIP、H232.(3)mod_Sofia:实现了SIP中的注册服务器、重定向服务器、媒体服务器等各种功能。他的定位是一个B2BUA,不能实现代理服务器。(4)SIP profile:在mod_sofia中,SIPprofile相当于SIPUA,通过不同的配置参数配置一个UA的行为。每个SIP profile可以监听不同的IP地址和端口。(5)GetW

2020-07-08 16:49:11 3511

原创 FreeSwitch(八):媒体

一、媒体与媒体处理 使用PCM方式对原始声音信号进行采样量化得到线性编码,然后再进行压缩,这种编码称为PCM编码。 如果需要在网络上传输语音,则需要将编码后的语音打包。如果采样频率8000HZ,打包间隔20毫秒,那么一秒传输50个包,每个包包含160个采样数据。没个采样数据占一字节,则数据净荷160字节。 FreeSwitch支持的其他语音编码: 在freeSwitch中,编码名称格式为“名称@xxh@yyi”,h表示赫兹,i表示...

2020-07-07 14:55:51 1474

原创 FreeSwitch(七):SIP协议

好的

2020-07-07 08:58:06 1563

原创 tensorflow(七):训练模型的保存和加载

一、训练模型的保存 模型的保存用到两行代码: (1)saver=tf.train.Saver() (2)saver.save(sess,'net/my_net.ckpt')#模型训练和保存import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data#载入数据集mnist = input_data.read_data_sets("MNIST_data", one_...

2020-07-05 20:24:38 348

原创 tensorflow(六):RNN实现手写体识别MNIST

一、RNN结构   这是一个标准的RNN结构图,图中每个箭头代表做一次变换,也就是说箭头连接带有权值。左侧是折叠起来的样子,右侧是展开的样子,左侧中h旁边的箭头代表此结构中的“循环“体现在隐层。   在展开结构中我们可以观察到,在标准的RNN结构中,隐层的神经元之间也是带有权值的。也就是说,随着序列的不断推进,前面的隐层将会影响后面的隐层。图中O代表输出,y代表样本给出的确定值,L代表损失函数,我们可以看到,“损失“也是随着序列的推荐而不断积累的。   除上述特点之外,标准RNN的还有以下特点:

2020-07-05 19:54:05 819

原创 tensorflow(五):CNN实现手写体识别MNIST

一、卷积神经网络   1)我们从上图可以看到这里有6个特征平面(这里不应该称为卷积核,卷积核是滑动窗口,通过卷积核提取特征的结果叫特征平面),得到的每个特征平面使用的一个5x5的卷积核(这里说明窗口滑动的权值就是卷积核的内容,这里需要注意的是特征平面有6个说明有6个不同的卷积核,因此每个特征平面所使用的权值都是一样的,这样就得到了特征平面。那么特征平面有多少神经元呢?如下图,32x32通过一个5x5的卷积核运算,根据局部连接和平滑,需要每次移动1,因此从左移动到右时是28,因此特征平面是28x..

2020-07-05 16:06:49 517

原创 tensorflow(四):简单神经网络数据可视化,用tensorboard

一、准备神经网络程序import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data# 载入数据集mnist = input_data.read_data_sets("MNIST_data", one_hot=True)# 每个批次的大小batch_size = 100# 计算一共有多少批次n_batch = mnist.train.num_examples // batch_size#

2020-07-05 01:34:30 325

原创 tensorflow(三):简单神经网络实现手写体识别MNIST

一、代码import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data# 载入数据集mnist = input_data.read_data_sets("MNIST_data", one_hot=True)# 每个批次的大小batch_size = 100# 计算一共有多少批次n_batch = mnist.train.num_examples // batch_size# 定义两个pl

2020-07-04 18:46:42 346

原创 tensorflow(二):实现回归模型

一、非线性回归 这个程序为简单的三层结构组成:输入层、中间层、输出层。 变量x为N行1列,N 不确定。 中间层W1行10列,即10个神经元。x与w的成积为N行10列。 输出为N行10列乘以10行一列等于N行一列。 import numpy as npimport matplotlib.pyplot as pltimport tensorflow as tf #使用numpy生成200个随机点x_data=np.linspace(-0.5,0.5,2...

2020-07-04 17:12:07 316

原创 tensorflow(一):线性回归

一、jupyter设置python环境在python的虚拟环境下安装了tensorflow,但是用jupyter notebook的时候发现无法找到tensorflow模块.(1) conda install nb_conda_kernels(2)conda install -n env_name ipykernel(3)python -m ipykernel install --name XXXX二、线性回归代码import tensorflow as tfimp...

2020-07-04 16:26:18 194

原创 二、springboot中mybatis项目入门——注解版

一、Maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency&gt...

2019-10-14 21:42:57 214

原创 一、springboot中mybatis配置

一、引入maven <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> ...

2019-10-11 21:18:25 983

原创 论文中画图工具

import matplotlib.pyplot as pltimport matplotlib as mplimport numpy as npdef lineChart6(): """l验证结果""" mpl.rcParams["font.sans-serif"] = ["SimHei"] mpl.rcParams["axes.unicode_minus"]...

2019-07-27 09:38:24 911

转载 图像识别

Python图片识别汉字字母数字,tesseract-ocr2018年03月09日 Python LEO 2607环境:ubuntu + python2.7代码: #/usr/bin/envpython #-*-coding:UTF-8-*- fromPILimportImage import...

2019-07-24 12:24:44 206

原创 Linux总结(二十六):linux的/文件特殊权限chattr、 lsattr、sudo

一、chattr命令:修改文件系统的权限属性 管理 Linux 系统中的文件和目录,除了可以设定普通权限和特殊权限外,还可以利用文件和目录具有的一些隐藏属性。chattr 命令,专门用来修改文件或目录的隐藏属性,只有 root 用户可以使用。1、基本格式[root@localhost ~]# chattr [+-=] [属性] 文件或目录名 + 表...

2019-07-14 20:36:37 319

原创 Linux总结(二十五):linux的/文件特殊权限SUID、SGID、SBIT

一、SetUID文件特殊权限1、基本定义 可以看到,原本表示文件所有者权限中的 x 权限位,却出现了 s 权限,此种权限通常称为SetUID,简称SUID 特殊权限。 SUID 特殊权限仅适用于可执行文件,所具有的功能是,只要用户对设有 SUID 的文件有执行权限,那么当用户执行此文件时,会以文件所有者的身份去执行此文件,一旦文件执行结束,身份的切换也随之...

2019-07-14 19:39:33 773

原创 Linux总结(二十四):linux的文件权限管理—chgrp、chown、chmod、umask、mask、setfacl 和 getfacl 命令

对不同的用户,设置不同的文件访问权限,包括对文件的读、写、删除等,在 Linux 系统中,每个用户都具有不同的权限,拿非 root 用户来说,它们只能在自己的主目录下才具有写权限,而在主目录之外,只具有访问和读权限。一、权限概述1、使用ls -al 查看文件权限:第一列:规定了不同的用户对文件所拥有的权限 第二列:引用计数,文件的引用计数代表该文件的硬链接个...

2019-07-13 04:35:25 1472

原创 Linux总结(二十三):linux的用户组命令useradd、passwd、usermod、chage、userdel、id、su、groupadd、groupmod、groupdel、

一、useradd:添加新用户1、基本格式[root@localhost ~]#useradd [选项] 用户名useradd命令常用选项 选项 含义 -u UID 手工指定用户的 UID,注意 UID 的范围(不要小于 500)。 -d 主目录 手工指定用户的主目录。主目录必须写绝对路径,而且如果需要手工指定主目录,则一定要注意权限; -c ...

2019-07-10 02:14:31 1327

原创 Linux总结(二十二):linux的用户组/etc/gshadow、初始组和附加组、/etc/login.defs

一、Linux /etc/gshadow文件 /etc/passwd 文件存储用户基本信息,同时考虑到账户的安全性,将用户的密码信息存放另一个文件 /etc/shadow 中。本节要将的 /etc/gshadow 文件也是如此,组用户信息存储在 /etc/group 文件中,而将组用户的密码信息存储在 /etc/gshadow 文件中。1、 vimLinux /etc/...

2019-07-09 23:47:01 1105

原创 Linux总结(二十一):linux的用户组文件/etc/passwd、/etc/shadow、/etc/group

一、简介 1、用户组是具有相同特征用户的逻辑集合。简单的理解,有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有 10 个用户的话,就需要授权 10 次,那如果有 100、1000 甚至更多的用户呢? 显然,这种方法不太合理。最好的方式是建立一个组,让这个组具有查看、修改此文件的权限,然...

2019-07-09 22:59:10 2191

原创 python算法总结(三):计数排序

一、计数排序思路 算法的步骤如下: (1) 找出待排序的数组中最大和最小的元素 (2)统计数组中每个值为i的元素出现的次数,存入数组C的第i项 (3)对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加) (4)反向填充目标数组:将每个元素i放在新...

2019-07-09 01:00:53 506

原创 python算法总结(二):python实现最大子数组和(动态规划法)

一、动态规划法求最大字段和1、基本思路 设数组为listd[],设maxsum[i]为以listd[i]结尾的子数组的最大和,对于元素listd[i + 1],只有两种选择: (1)listd[i + 1]接着前面的子数组构成最大和。 (2)listd[i + 1]自己单独构成子数组。 则,动态规划...

2019-07-08 16:15:06 1444

原创 Linux总结(二十):linux中函数库和脚本程序

一、Linux函数库 Linux系统中存在大量的函数库。简单来讲,函数库就是一些函数的集合,每个函数都具有独立的功能且能被外界调用。我们在编写代码时,有些功能根本不需要自己实现,直接调用函数库中的函数即可。需要注意的是,函数库中的函数并不是以源代码的形式存在的,而是经过编译后生成的二进制文件,这些文件无法独立运行,只有链接到我们编写的程序中才可以运行。1、函数库...

2019-07-08 01:56:45 246

原创 Linux总结(十九):linux中yum

一、yum源配置 yum,全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器。就好像 Windows 系统上可以通过 360 软件管家实现软件的一键安装、升级和卸载,Linux系统也提供有这样的工具,就是 yum。可以这么说,yum 是改进型的 RPM 软件管理器,它很好的解决了 RPM 所面临的软件包依...

2019-07-08 01:36:50 758

原创 Linux总结(十七):linux中RPM包

一、源码包和二进制(rpm包)包比较1、使用源码包安装软件也有几点不足:(1)安装过程步骤较多,尤其是在安装较大的软件集合时(如 LAMP 环境搭建),容易出现拼写错误。(2)编译时间较长,所以安装时间比二进制安装要长。(3)因为软件是编译安装的,所以在安装过程中一旦报错,新手很难解决。2、相比源码包,二进制包是在软件发布时已经进行过编译的软件包,所以安装速度比源码包快得多...

2019-07-06 16:52:00 606

原创 Linux总结(十六):linux文本处理工具——基本awk

一、认识awk 和 sed 命令类似,awk 命令也是逐行扫描文件(从第 1 行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的操作;反之,则不对行做任何处理。1、基本格式[root@localhost ~]# awk [选项] '脚本命令' 文件名awk 命令选项以及含义 选项 含义 -F fs 指定以 fs ...

2019-07-06 15:24:23 227

原创 Linux总结(十五):linux文本处理工具——高级sed

一、sed 多行命令 sed基本命令格式:sed [选项] ‘正则或者数字 {命令脚本; 命令脚本}’ 文件 有时我们需要对跨多行的数据执行特定操作,如果用普通的 sed 编辑器命令来处理文本,就不可能发现这种被分开的情况。sed 包含了三个可用来处理多行文本的特殊命令:D,N,P (1)Next 命令(N):将数据流中的...

2019-07-06 13:42:43 210

原创 Linux总结(十四):linux文本处理工具——基本sed

一、sed脚本定义 Vim 采用的是交互式文本编辑模式,可以用键盘命令来交互性地插入、删除或替换数据中的文本。sed 命令不同,它采用的是流编辑模式,最明显的特点是,在 sed 处理数据之前,需要预先提供一组规则,sed 会按照此规则来编辑数据。1、sed的特点 (1)sed 会根据脚本命令来处理文本文件中的数据,这些命令要么从命令行中输入,要么存...

2019-07-06 02:22:21 189

原创 Linux总结(十三):linux文本处理工具grep

一、grep命令:查找文件内容 从文件中找到包含指定信息的那些行,在 UNIX 系统中,搜索的模式(patterns)被称为正则表达式(regular expressions),为了要彻底搜索一个文件,有的用户在要搜索的字符串前加上前缀 global(全面的),一旦找到相匹配的内容,用户就像将其输出(print)到屏幕上,而将这一系列的操作整合到一起就是 global reg...

2019-07-05 19:43:24 138

原创 Linux总结(十二):linux文件显示命令 cat,more,less,head,tail

一、cat命令:连接文件或打印输出 cat 命令可以用来显示文本文件的内容(类似于 DOS 下的 type 命令),也可以把几个文件内容附加到另一个文件中,即连接合并文件。关于此命令,有人认为写 cat 命令的人是因为喜欢猫,因此给此命令起名为“cat”,其实不然,cat 是 concatenate(连接、连续)的简写。1、基本命令[root@localhost ~...

2019-07-05 18:06:57 1215

原创 Linux总结(十一):linux移动光标快捷键

一、移动光标表中所有的快捷键都在命令模式(默认状态)下直接使用。1、Vim快捷方向键Vim光标上、下、左、右移动快捷键 快捷键 功能描述 h 光标向左移动一位 j 光标向下移动一行(以回车为换行符),也就是光标向下移动 k 光标向上移动一行(也就是向上移动) l 光标向右移动一位 2、Vim光标以单词为单位移动Vim光...

2019-07-05 00:55:34 6802

原创 Linux总结(十):linux的VIM文本编辑器

一、Vim的安装1、CentOS 系统中,使用如下命令即可安装 Vim:yum install vim2、Ubuntu系统(或者deepin):sudo apt-get install Vim3、文本编辑器VIM的优点或者使用的原因: 推荐使用 Vim 文本编辑器的原因有很多,比如说: (1)几乎所有的Linux 发行版都内嵌有 V...

2019-07-05 00:00:38 258

原创 Linux总结(九):linux文件归档和压缩——linux的zip、unzip、gzip、gunzip、bzip2、bunzip2命令

一、Linux的zip命令1、基本格式[root@localhost ~]#zip [选项] 压缩包名 源文件或源目录列表zip 命令常用选项及含义 选项 含义 -r 递归压缩目录,及将制定目录下的所有文件以及子目录全部压缩。 -m 将文件压缩之后,删除原始文件,相当于把文件移到压缩文件中。 -v 显示详细的压缩过程信息。 -q 在压缩...

2019-07-04 22:29:49 3527 1

原创 Linux总结(八):linux文件归档和压缩——linux的tar命令

一、归档和压缩定义1、归档 归档,也称为打包,指的是一个文件或目录的集合,而这个集合被存储在一个文件中。归档文件没有经过压缩,因此,它占用的空间是其中所有文件和目录的总和。通常,归档总是会和系统(数据)备份联系在一起,不过,有关数据备份的内容,留到后续章节讲,本章仅学习归档命令的基本使用。2、压缩 压缩是指利用算法将文件进行处理,已达到保留最大文件信...

2019-07-04 20:54:37 5299 1

opensips与两台freeswitch负载均衡

opensips与两台freeswitch负载均衡,实现freeswitch分布式,亲测可用。

2020-12-31

ffmpeg基础库编程开发》20140307.pdf

ffmpeg基础库编程开发,适合初学ffmpeg的同学,教会我们怎么用C++语言进行ffmpeg开发,不仅仅是介绍命令行的书。

2020-11-03

FFmpeg Basics

ffmpeg官方推荐资料:FFmpeg Basics.pdf,已经验证,资料比较全,适合学习ffmpeg的同学入门,对于初学者强烈推荐

2020-11-03

手把手教你网络编成

手把手教你网络编成,不会的可以来看看,很详细的的

2012-12-28

C#网络编程

这是一本文档书籍,具有很大的利用价值,,,其中的讲解也很详细

2012-12-28

手把手教你网络编成(下)

详细的网络编程,里边有很多代码,还有详细的注释

2012-12-28

空空如也

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

TA关注的人

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