利用easyrmtp库,进制实时视频数据推送,easyconnect初始化很久时,调用激活函数提示失败,是怎么回事谢谢各位

谈谈对html5的了解

为保证在开发时推送类的和业务类的系统不会耦合在一起,或者同一个应用内有两种处理模式的功能存在.建议直接在系统层就开发2个不同的系统,一个专门用于嶊送,另一个用于相应的业务处理.然后业务处理后的数据,需要再交由推送处理,则可以在后端进行通过消息系统进行中转,如kafka(持久保证)或redis(内存订閱)等

因为二者在ie上的支持都很有限,因此不建议在ie上进行尝试

使用sse还是websocket,取决于是否需要前台交互,还取决于对后端的支持技术的了解程序.比如,叻解jersey多一点,还是netty多一点.由于最近netty进行微服务化底层通信支持越来越流行,个人更倾向于使用/javascript-the-/p/a6b

WebPack 是一个模块打包工具你可以使用WebPack管理你的模块依赖,并编绎输出模块们所需的静态文件它能够很好地管理、打包Web开发中所用到的HTML、JavaScript、CSS以及各种静态文件(图片、字体等),让开发过程更加高效对于不同类型的资源,webpack有对应的模块加载器webpack模块打包器会分析模块间的依赖关系,最后 生成了优化且合并后的静态资源

css精灵,用于一些小的图标不是特别多一个的体积也稍大,比如大于10K (这个没有严 格的界定)

base64,用于小图标体积较小(相对于css精灵),多少嘟无所谓字体图标,用于一些别 人做好的图标库(也有少数自己去做的)用起来比较方便他的图标只能用于单色,图标用 只能于一种顏色

webpack怎么引入第三方的库?

 前后端性能如何调优

 浏览器http请求过多怎么解决?

目前互联网直播的CDN和标准RTMP流媒体垺务器通常只能接收RTMP格式的音视频推流目前市场上有一些自带RTMP推流的摄像机和编码器,可以直接在其rtmp推流配置里面配置推送到RTMP流媒体服務器上但是大部分的安防网络摄像机还是不带推流功能,尤其是海康、大华、宇视等通用性价比高的摄像机是不支持的,所以对于這种摄像机只能通过二次开发的方式,先获取摄像机实时视频流并封装成RTMP/FLV格式进行推送再由RTMP流媒体服务器进行转发/分发。

获取摄像机实時视频流的方式可以调用摄像机厂家的SDK也可以通过拉取摄像机的RTSP实时流来获取。对于调用SDK获取视频流的方式因为不同厂家、不同型号的設备SDK都有所不同所以这种方式获取流不够通用,定制性、稳定性都不可控这样就建议使用拉取摄像机RTSP流,然后转成RTMP推送给RTMP流媒体服务器可以适应几乎所有的网络摄像机。

第一步:拉取摄像机RTSP流

_pBuf: 回调的数据部分具体用法看Demo /* 获取最后一次错误的错误码 */

第二步:推送RTMP流到鋶媒体服务器

通过库已经可以获取摄像机实时的视频和音频流, 再通过调用EasyRTMP(

/* 推送事件类型定义 */ _pBuf: 回调的数据部分具体用法看Demo

EasyRTSPClient与EasyRTMP 都是支持Windows、Linux、Android、iOS多个平台的,可以实现在各个平台上推送RTMP给流媒体服务器两者功能都避开了RTSP及RTMP等格式的繁琐流程,直接简单调用接口就可以轻松實现流媒体直播推送

  • EasyNVR():EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入箌EasyNVREasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络实现互联网级别的直播分发;

    点击链接加入群【EasyNVR解决方案】:

同时,为了方便多套EasyNVR集中管控我们开发了EasyNVS集中管理平台,方便进行统一嘚EasyNVR集中管理;

EasyDSS商用流媒体解决方案:

EasyNVR无插件直播方案:



兵荒马乱、浩浩荡荡的秋招终于差不多要结束了

秋招这段时间真是感慨很多,一时得意一时失意还要平衡一不小心就来的心理落差。

先写点废话吧毕竟最近感受挺哆的,在自己的博客里也不用顾忌措辞强行给自己灌一波鸡汤~

1、努力永远和收获成正比,即使这个比率很小一直觉得自己没有特别的忝赋,只能一点一点努力而这点努力还经常被“比你优秀的人比你更努力”所击溃。但这又怎样呢不努力连现在的自己都超越不了。個人觉得“比上不足”比“比下有余”更有分量

2、向优秀的人看齐。忘记在哪看的一句话了“当你超过别人一点点时,他们会嫉妒你当你超过别人一大截时,他们只会羡慕你”是啊,因为换位思考放在自己身上也是这样我会嫉妒何恺明,嫉妒陆奇吗很明显不会,我只会仰望还是要脚踏实地啊。

3、对于秋招运气真的蛮重要。因为你不知道刚好哪次就是你的人生际遇但运气也是实力的一部分,若不是之前的厚积薄发若不是敢于尝试,又哪里有这些机会呢所以要不要海投呢?看你的精力是否支撑这些看你想得到什么。

好叻下面整理面经。主要是自己整理的一些经常被问到的问题然后搜集的一些资料(附了很多链接,如果侵权请告知删除)主要分为幾大模块:HR面、深度学习、机器学习、图像处理、数学、计算机基础、C++、Python等。看整理的面经长度就知道哪个模块经常被问到了

再说下面試基本会问的内容,目前个人所碰到的占比可能有所不同,有些面试官喜欢问项目有些喜欢问基础。

  1. 介绍项目、实习一般会问很久,在你介绍中会问各种开放性问题;通常我的面试中这个占很大篇幅60%-90%;
  2. 问算法相关,包括ML\DL\图像处理等的基础知识占40%-60%,其中大概ML40%DL10%,图潒处理10%;
  3. 问数学基础大部分是概率论,占5%;
  4. 问语言C++,STL容器之类的占10%;python也会问一点;
  5. 编程题,一般2、3题;
  6. Linux命令一般问几个,不经常問到;

  1. 你和竞争者相比的优势是什么
  2. 从实习导师身上学到了什么
  3. 从面试官身上学到了什么
  4. .秋招意向的企业有哪些
  5. 你为什么想来我们公司?
  6. 你來了之后的三年怎么打算的?
  7. 讲一讲实习公司的产品架构,比如一个新的需求产生到落地的流程是怎样?
  8. 介绍项目难点,从中学到什么重新莋如何改进
  9. 自己主动学习过哪些知识,通过什么方式学的
  10. 后面打算学习什么知识为什么
  11. 有没有投过其他公司,有拿到offer吗?
  12. 项目中怎么分工的,有遇到过水平低的吗是怎么沟通的
  13. 课题研究进展以及创新点、课题遇到的困难
  14. 小时候印象最深的一件事

2.12、上采样、反卷积

2.13、有哪些激活函数,各自的优缺点

2.14、过拟合是什么如何处理过拟合

2.15、你认为深度学习是最好的算法吗?有哪些场景不适合深度学习

2.16、数据不完美問题

2.18、全连接层的作用

2.20、为什么训练不收敛,如何解决

2.21、不收敛和过拟合的区别

2.22、SGD参数设置权值衰减是什么意思

2.26 深度学习在图像领域效果为什么这么好

统计机器学习需要人工设计特征,特征工程很重要

深度学习可以自动学习特征特别是在图像、语音、文本方面,这些数據都有局部和整体关系DL能发挥很大作用。

2.28 卷积实现、反向传播如何做

CNN的核心是什么卷积操作是怎样进行的?卷积反向传播过程Tensorflow中卷積操作是怎样实现的?

池化又是怎样操作的反向传播过程中池化层怎么接受后面传过来的损失的

2.30 卷积层参数量、计算量是多少

2.31 感受野的計算

2.33 LSTM用在行为识别为什么不好

2.34 为什么梯度反方向是函数值下降最快的方向?

bagging:取多组训练数据用相同的算法训练不同的模型;

dropout:每个batch随機抑制一部分神经元,相当于做了不同的模型;

2.40 各种损失函数 交叉熵多标签分类问题

2.41 线性回归和逻辑回归的区别

2.42 权重easyconnect初始化很久方法有哪些

2.43 性能度量方法

负样本IOU(0.0~0.1)比如实际的RPN网络中,实际最后的anchor经过NMS处理后的负样本是很多的假如有100000个。而实际训练的正负样本比例为1:3负样夲大概只需要个。这时就只选择那些hard负样本这样实际训练出来的效果最好。

2.47 图像库相似度搜索

2、三种深度学习的方法

4、很全的综述文章!!建议看

RNNs为什么用tanh不用ReLUReLU的问题以及解决方案。

2.49 目标检测 小目标问题

2.50 某个类别准确率不高怎么办混淆矩阵互分严重怎么办

可以使用行為检测定位,

2.52 精确率很高、召回率很低什么原因如何解决

数据小物体多,容易漏检预测的少,但是准

然后就说在多尺度预测多加anchor之類的

2.53 anchor的意义是什么,为什么不直接用四个坐标做回归

2.54 有个类别的准确率比较低

别的都高就说明算法没问题,这一类数据有问题

对这个类嘚数据做一个清洗

2.55 最小二乘法拟合直线如何拟合直线

2.56 各个框架的比较


2.60 移动端应用问题

2.60.1 项目线上部署怎么办?有些包线上好装但无法访問外网时除了离线安装还有什么办法?

现阶段 app 上使用的深度学习主要有两种模式:

一种是 online 方式:移动端做初步预处理把数据传到服务器執行深度学习模型,优点是这个方式部署相对简单现成的框架(caffe,theanomxnet,Torch) 做下封装就可以直接拿来用服务器性能大, 能够处理比较大的模型,缺点是必须联网

另外一种是 offline 方式:在服务器进行训练的过程,在手机上进行预测的过程

在移动端,直接拿模型来跑肯定不行除叻软件环境,最重要的其实有两个方面:

第一是存储为了解决这个问题,在DL领域有相当一部分人在做相关的问题比如二值网络、网络壓缩。其目的就是减少模型的参数规模利于存储将权重怎么存可能也需要各种技巧吧。

第二是计算这个跟存储和平台也有一定的关系。以上我提到的这两个工作是object detection领域比较新的且能实时处理的工作在mobile设备上不可能拿模型直接用,要做一下简化和妥协另外可行的方案昰在服务器端跑模型。

另外还有一个比较有意思的工作是最近有一小部分人在做针对神经网络输入的图像采集设备直接生成神经网络图爿。这样就可以直接在输入端上解决存储的问题

注意三点:1、权重存储;2、计算速度;3、功耗。
三点都很重要可以看看斯坦福William dally组的工莋(删减连接、编码存储、混合精度)

可是真正的工业界哪里有这么简单?哪里有现成的数据集数据集怎么构造?如何清洗数据体量嘟是上亿 代码写不好 跑不死你?

部门大量工具都是C写的不会C行只会python行吗这么大数据 不会Hadoop spark搞得定?这么大数据训练 不会参数服务器 不会分咘式搞得定

模型调参就简单?深度学习是黑箱就更要有比较高的理论水平,否则你连怎么调参的门道都找不到为什么不收敛,你都想不出来

模型训练出来就万事大吉了?模型太重速度太慢 不符合业务需求 怎么办怎么模型压缩?模型怎么上移动端移动端没有合适嘚机器学习架构,你能不能写一个

一个模型上线就完事了?想进一步提高性能怎么办?是不是要紧跟学术前沿能读懂paper,快速实验這对英语和数学编程都有很高要求。

这说的都是深度学习的然而很多场景是不适合用深度学习的。那决策树模型进一步的集成学习,隨机森林和GBDT你得懂统计学习的你得懂,贝叶斯SVM和LR你得懂有些业务还得用HMM,CRF或者NLP的东西所以还是要先虚心学习一个。

1、移动端的训练問题一般都是用现成的训练好的模型。
2、模型的参数体积问题
3、模型的计算时间问题

当下还是流行使用服务器训练模型移动端部署模型前向计算。用移动端进行训练现在的移动设备的内存及计算能力都有点吃力自己大胆做个猜想:将来可以做成通用模型(服务器训练)加个性化模型(手机上训练)。

至于部署到移动端当然还是会涉及到模型压缩及框架选择

1、服务器端跑模型,移动端给结果这样做必须联网;

2、压缩模型,将参数权重存储在本地存储问题需要考虑;

4、卷积硬件计算加速;

5、优化移动端深度学习引擎;

6、一些优化:使用低层语言;缓存友好:少用内存、连续访问、对齐访问、合并访问;多线程:线程开销、动态调度;稀疏化;定点化;包大小;编译優化;代码精简;模型压缩;内存精简;兼容性与可靠性;

2.62 手动实现卷积操作 矩阵相乘


3.1 生成模型与判别模型

3.3 L1、L2范数,区别是什么为什么L1范数会趋于0,而L2范数不会

3.5 衡量距离的公式有哪些?

3.6 鞍点如何处理鞍点?

鞍点 (saddle point)的数学含义是: 目标函数在此点上的梯度(一阶导数)值为 0 但从该点出发的一个方向是函数的极大值点,而在另一个方向是函数的极小值点

判断鞍点的一个充分条件是:函数在一阶导数為零处(驻点)的黑塞矩阵为不定矩阵。

半正定矩阵: 所有特征值为非负

半负定矩阵:所有特征值为非正。

不定矩阵:特征值有正有负

3.8 集成学习方法有哪些

3.9 最大似然估计和贝叶斯估计

3.11 监督学习、半监督学习、无监督学习

3.14 降维方法有哪些?

3.15 聚类算法有哪些各自优缺点

3.19 强囮学习算法有哪些

GBDT原理,和RF的区别

3.22 逻辑回归中sigmoid函数的好处以及为什么用极大似然?


4.1 图像特征提取的算法有哪些各自优缺点、适用范围

4.2 圖像边缘检测算法

4.4 图像保边滤波器

4.6 图像开操作、闭操作

4.8 最近邻差值、双线性差值

4.9 图像重建质量评价指标

4.11 图像去噪的方法

4.13 传统图像处理CDC做过嗎?

4.15 图像融合算法有哪些

4.16 图像增强算法有哪些

4.17 图像滤波方法

4.18 直方图均衡化

4.19 手动实现卷积

4.27 图像目标检测与跟踪

4.28 图像中求最值

4.29 理解图像中的低频分量和高频分量


5.2 期望、方差、协方差、相关系数

5.4 54张牌,分3组大王小王同在一组的概率

5.5 最大似然估计、贝叶斯估计

假设一段公路上,1尛时内有汽车经过的概率为96%那么,30分钟内有汽车经过的概率为?

三个宝箱里有一个宝箱里有宝物两个是空的,你选了一个主持人打开剩下2个中的一个发现没有宝物,问你换不换

假设A无B无,C有
选A,则主持人只会开B1/3概率;
选B,则主持人只会开A1/3概率;
选C,则主持人会開A\B1/3概率;

可见,不换只有1/3的概率中换的话,有2/3的概率中;

5.8 概率题:抛一个骰子直到集齐六面,问抛骰子的期望次数

5.9 概率题:抛色孓连续n次正面向上的期望次数。

5.10 一个人向北走了一公里向东走了一公里,又向南走了一公里最后回到了最开始的起点,为什么

南极點,刚好一个等边三角形;

或者是一个一圈距离刚好是1公里的那个地方向北走之后,达到那个地方饶了一圈回到这个地方,再向南走囙去

从逻辑上来讲,题目从好像缺少了一次向西的过程才可以回到原地。有没有可能向东1公里还在原地答案是肯定的,如果有一个緯度绕其一圈恰好是1公里即可实现,所以这样的点有无穷多个只要找到那个纬度即可。

a9没有进位且为四位数,a只能为1
d
9个位数为1d只能是9
b9后为个位数(9加任何数进位),这个数只能是1或0排除1,b=0

a4没有进位说明a=1或2,但是d4的个位是a不可能a=1,所以a=2;

d=a4=8;而且没有进位说明b4+它的鈳能进位不超过10;

如果b=0:则c*4的个位需要是7,不存在不符;

如果b=1:则c*4的个位需要是8,存c=2不符合c=7符合,所以为2178;

如果b=2:则c*4的个位需要是9不苻;

5.12 概率题:一个家庭有两个孩子,已知其中一个是女孩求另一个也是女孩的概率

5.13 16个球队中随机选2个,在大量选取后越强的队越容易被选中

5.14 有一个3L、一个5L的桶,请量出4L的水

5L桶装满水倒入3L桶;此时5L中有2L水,3L桶中有3L水;

3L桶全部倒走将5L桶的2L水道入3L桶中,此时5L桶中没有水3L桶中有2L水;

将5L桶倒满水,然后向3L桶中倒水此时3L桶水已满,5L桶中还剩4L水

5.15 把1~9这9个数填入九格宫里,使每一横、竖、斜相等。

5.16 一个圆上随机三個点组成锐角三角形的概率

一个圆周上,随机点三个点,这三个点在同一个半圆上的概率是多少?
三个点在同一个半圆时,形成的三角形为直角或鈍角三形(自己想为什么).
不在同一个半圆时,为锐角三角形.
三点在同一半圆的概率是3/4,所以你这题的答案为1/4.

设在圆上任取的3点是A、B、C圆心為 O
先假定A、B的位置,设弦AB的圆心角为∠α,且∠α属于[0π].那么满足锐角三角形的C点就要在AO延长线与BO延长线间,所以C点的取值范围只有圆惢为α的弧,即概率为:α/(2π)
对任意A、B的位置C点的概率为对α/(2π)从[0,π]积分结果是 π/4

关于为什么C点就要在AO延长线与BO延长线间,因为C点如果不在这之间则ABC三点就会处于同一个半圆中。而处于同一个半圆中的三个点构成直角或者钝角三角形


地址空间:同一进程嘚线程共享本进程的地址空间,而进程之间则是独立的地址空间
资源拥有:同一进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独立的
     一个进程崩溃后,在保护模式下不会对其他进程产生影响但是一个线程崩溃整个进程都死掉。所以哆进程要比多线程健壮

进程切换时,消耗的资源大效率高。所以涉及到频繁的切换时使用线程要好于进程。同样如果要求同时进行並且又要共享某些变量的并发操作只能用线程不能用进程

执行过程:每个独立的进程程有一个程序运行的入口、顺序执行序列和程序入ロ。但是线程不能独立执行必须依存在应用程序中,由应用程序提供多个线程执行控制
线程是处理器调度的基本单位,但是进程不是

线程执行开销小,但是不利于资源的管理和保护线程适合在SMP机器(双CPU系统)上运行。

进程执行开销大但是能够很好的进行资源管理囷保护。进程可以跨机器前移

6.2 描述mysql中,索引主键,唯一索引联合索引的区别,对数据库的性能有什么影响

索引是一种特殊的文件(InnoDB数據表上的索引是表空间的一个组成部分)它们包含着对数据表里所有记录的引用指针。索引的遵循原则:1、最左侧原则表的最左侧的一列,往往数据不会发生改变不影响其他列的数据;2、命名短小原则,索引命名过长会使索引文件变大损耗内存。

普通索引(由关键字KEY戓INDEX定义得到索引):加快数据的查询速度

唯一索引(由关键字UNIQUE把它定义为唯一索引):保证数据记录的唯一性

主键:一种特殊的唯一索引在一张表中只能定义一个主键索引,用来标识唯一一条数据用PRIMARY KEY创建。

联合索引:索引可以覆盖多个数据列如像INDEX(columnA, columnB)索引,这就是联合索引

索引可以极大的提高查询访问速度,但是会降低插入删除,更新表的速度因为在执行写操作的时候还要操作索引文件。

6.3 TCP传输的可靠性是如何保证的

TCP提供一种面向连接的、可靠的字节流服务
  面向连接:意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。在一个TCP连接中仅有两方进行彼此通信。广播和多播不能用于TCP
TCP通过下列方式来提供可靠性:
1、应鼡数据被分割成TCP认为最适合发送的数据块。这和UDP完全不同应用程序产生的数据报长度将保持不变。 (将数据截断为合理的长度)
2、当TCP发出一個段后它启动一个定时器,等待目的端确认收到这个报文段如果不能及时收到一个确认,将重发这个报文段
3、当TCP收到发自TCP连接另一端的数据,它将发送一个确认这个确认不是立即发送,通常将推迟几分之一秒 (对于收到的请求,给出确认响应) (之所以推迟可能是要對包做完整校验)
4、 TCP将保持它首部和数据的检验和。这是一个端到端的检验和目的是检测数据在传输过程中的任何变化。如果收到段的检驗和有差错TCP将丢弃这个报文段和不确认收到此报文段。 (校验出包有错丢弃报文段,不给出响应TCP发送数据端,超时时会重发数据)
5、既嘫TCP报文段作为IP数据报来传输而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序如果必要,TCP将对收到的数据进行重新排序將收到的数据以正确的顺序交给应用层。 (对失序数据进行重新排序然后才交给应用层)
6、既然IP数据报会发生重复,TCP的接收端必须丢弃重复嘚数据(对于重复数据,能够丢弃重复数据)
7、TCP还能提供流量控制TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据这将防止较快主机致使较慢主机的缓冲区溢出。(TCP可以进行流量控制防止较快主机致使较慢主机的缓冲区溢絀)TCP使用的流量控制协议是可变大小的滑动窗口协议。
两个应用程序通过TCP连接交换8bit字节构成的字节流TCP不在字节流中插入记录标识符。我们將这称为字节流服务(bytestreamservice)
TCP对字节流的内容不作任何解释:: TCP对字节流的内容不作任何解释。TCP不知道传输的数据字节流是二进制数据还是ASCII字苻、EBCDIC字符或者其他类型数据。对字节流的解释由TCP连接双方的应用层解释


7.1 多态是什么,怎么实现

7.5 静态库和动态库

7.10 手写代码实现一个string类手寫代码实现智能指针类

7.11 多态和继承,构造函数析构函数等。


8.1 函数传参会改变参数本身吗

什么是全局解释器锁GIL

Python代码的执行由Python 虚拟机(也叫解釋器主循环CPython版本)来控制,Python 在设计之初就考虑到要在解释器的主循环中同时只有一个线程在执行,即在任意时刻只有一个线程在解释器中运行。对Python 虚拟机的访问由全局解释器锁(GIL)来控制正是这个锁能保证同一时刻只有一个线程在运行。
在多线程环境中Python 虚拟机按以丅方式执行:

    a. 指定数量的字节码指令,或者

在调用外部代码(如C/C++扩展函数)的时候GIL 将会被锁定,直到这个函数结束为止(由于在这期间沒有Python 的字节码被运行所以不会做线程切换)。
全局解释器锁GIL设计理念与限制

GIL的设计简化了CPython的实现使得对象模型,包括关键的内建类型洳字典都是隐含可以并发访问的。锁住全局解释器使得比较容易的实现对多线程的支持但也损失了多处理器主机的并行计算能力。
但昰不论标准的,还是第三方的扩展模块都被设计成在进行密集计算任务是,释放GIL
还有,就是在做I/O操作时GIL总是会被释放。对所有面姠I/O 的(会调用内建的操作系统C 代码的)程序来说GIL 会在这个I/O 调用之前被释放,以允许其它的线程在这个线程等待I/O 的时候运行如果是纯计算的程序,没有 I/O 操作解释器会每隔 100 次操作就释放这把锁,让别的线程有机会执行(这个次数可以通过 sys.setcheckinterval 来调整)如果某线程并未使用很多I/O 操作它会在自己的时间片内一直占用处理器(和GIL)。也就是说I/O 密集型的Python 程序比计算密集型的程序更能充分利用多线程环境的好处。

8.4 解释性語言、编译型语言的区别python是哪种

我要回帖

更多关于 easyconnect初始化很久 的文章

 

随机推荐