网络编码

iOS:app直播---原理篇

懵懂的女人 提交于 2020-01-19 01:03:52
【如何快速的开发一个完整的iOS直播app】(原理篇) 转载自简书@ 袁峥Seemygo : http://www.jianshu.com/p/7b2f1df74420 一、个人见解(直播难与易)   直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的。   直播易:已经有各个领域的大牛,封装好了许多牛逼的框架,我们只需要用别人写好的框架,就能快速的搭建一个直播app,也就是传说中的站在大牛肩膀上编程。 二、了解直播    热门直播产品:映客、斗鱼、熊猫、虎牙、花椒等等   直播效果图         直播效果.jpeg 1.一个完整直播app功能(来自 落影loyinglin 分享) 1、聊天 私聊、聊天室、点亮、推送、黑名单等; 2、礼物 普通礼物、豪华礼物、红包、排行榜、第三方充值、内购、礼物动态更新、提现等; 3、直播列表 关注、热门、最新、分类直播用户列表等; 4、自己直播 录制、推流、解码、播放、美颜、心跳、后台切换、主播对管理员操作、管理员对用户等; 5、房间逻辑 创建房间、进入房间、退出房间、关闭房间、切换房间、房间管理员设置、房间用户列表等; 6、用户逻辑 普通登陆、第三方登陆、注册、搜索、修改个人信息

以太坊框架梳理

狂风中的少年 提交于 2020-01-16 15:32:54
一、整体框架 1、以太坊介绍 以太坊是一个开放的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether,简称“ETH”)提供以太虚拟机(Ethereum Virtual Machine)来处理去中心化合约应用。 以太虚拟机 以太坊虚拟机(EVM):可以执行复杂算法的编码的,具备图灵完备的基于栈的虚拟机。 以太坊使用场景 支付系统:用于去中心数字货币交易,价值互换 去中心化应用:黄金和股票的数字化应用、金融衍生品应用、数字认证、追踪溯源、游戏等 以太坊特点 智能合约(smart contract):存储在区块链上的程序,由各节点运行,需要运行程序的人支付手续费给节点的矿工或权益人。 代币(tokens):智能合约可以创造代币供分布式应用程序使用。分布式应用程序的代币化让用户、投资者以及管理者的利益一致。代币也可以用来进行首次代币发行。 叔块(uncle block):将因为速度较慢而未及时被收入母链的较短区块链并入,以提升交易量。 账户系统和世界状态:以太坊不采用UTXO,容易支持更复杂的逻辑 状态通道(state channels):原理类似比特币的闪雷网络,可提升交易速度、降低区块链的负担,并提高可扩展性。尚未实现,开发团队包括雷电网络(Raiden Network)和移动性网络(Liquidity Network)。 以太坊缺点 性能有待提升

HTTP性能极限优化

百般思念 提交于 2020-01-13 13:33:49
无论你在做前端、后端还是运维,HTTP都是不得不打交道的网络协议。它是最常用的应用层协议,对它的优化,既能通过降低时延带来更好的体验性,也能通过降低资源消耗带来更高的并发性。 可是,学习HTTP不久的同学,很难全面说出HTTP的所有优化点。这既有可能是你没好好准备过大厂的面试:-),也有可能你没有加入一个快速发展的项目,当产品的用户量不断翻番时,需求会倒逼着你优化HTTP协议。 这篇文章是根据我在2019年GOPS全球运维大会上海站的演讲PPT,重新提炼文字后的总结。我希望能 从四个全新的维度,带你覆盖绝大部分的HTTP优化技巧 。这样,即使还不需要极致方法去解决当前的性能瓶颈,也会知道优化方向在哪,当需求来临时,能够到Google上定向查阅资料。 第一个维度,是从编码效率上,更快速地把消息转换成更短的字符流。这是最直接的性能优化点。 一、编码效率优化 如果你对HTTP/1.1协议做过抓包分析,就会发现它是用“ whitespace-delimited ”方式编码的。用空格、回车来编码,是因为HTTP在诞生之初 追求可读性 ,这样更有利于它的推广。 然而在当下,这种低效的编码方式已经严重影响性能了,所以2009年Google推出了基于二进制的SPDY协议,大幅提升了编码效率。2015年,稍做改进后它被确定为HTTP/2协议,现在50%以上的站点都在使用它。 这是编码优化的大方向

视频格式

本小妞迷上赌 提交于 2020-01-02 18:54:04
视频格式可以分为适合本地播放的本地影像视频和适合在网络中播放的网络流媒体影像视频两大类。尽管后者 在播放的稳定性和播放画面质量上可能没有前者优秀,但网络流媒体影像视频的广泛传播性使之正被广泛应用于视 频点播、网络演示、远程教育、网络视频广告等等互联网信息服务领域。 注:原始的视频数据可以理解为通过摄像头等驱动获取的没有经过编码的数据,市面上 usb 摄像头输出格式常见的 有:RGB24、YUV2、YV2(这些都是没有编码的原始数据),MJPEG(经过编码的数据)。摄像头捕捉的数据也是 可以设置的,比如 windows 下用 cap 来设置。 MPEG/MPG/DAT MPEG(运动图像专家组)是 Motion Picture Experts Group 的缩写。这类格式包括了 MPEG-1,MPEG-2 和 MPEG-4 在内的多种视频格式。MPEG-1 相信是大家接触得最多的了,因为其正在被广泛地应用在 VCD 的制作和一些视频 片段下载的网络应用上面,大部分的 VCD 都是用 MPEG1 格式压缩的( 刻录软件自动将 MPEG1 转换为 DAT 格 式 ) ,使用 MPEG-1 的压缩算法,可以把一部 120 分钟长的电影压缩到 1.2 GB 左右大小。MPEG-2 则是应用在 DVD 的制作,同时在一些 HDTV(高清晰电视广播)和一些高要求视频编辑、处理上面也有相当多的应用

Image Super-Resolution Using Deep Convolutional Networks 论文总结

喜夏-厌秋 提交于 2019-12-24 01:16:28
Image Super-Resolution Using Deep Convolutional Networks 论文总结 提示: 文中【】中的内容表示我没读懂的内容或不知道怎么翻译的内容 若文中有错误或知道【】中内容的正确含义,希望能在评论区中指出 Abstract 摘要讲了讲论文写了些啥: 作者提出了一种针对单图像超分辨的深度学习方法,即SRCNN。该方法直接学习低/高分辨率图像之间的端到端映射。映射是用一个低分辨率图像为输入,高分辨率图像为输出的深度卷积神经网络来表示的。 证明了传统基于稀疏编码的SR方法也可以看作是一个深度卷积网络。 传统方法是分别处理每个组件,而SRCNN联合优化所有层。 SRCNN具有轻量级的结构,同时有最先进的恢复质量,并且实现了快速的实际在线使用。 作者探索了不同的网络结构和参数设置,以实现性能和速度之间的权衡。 SRCNN可以同时处理三个颜色通道,表现出更好的整体重建质量。 Introduction 超分辨率问题本质是不适定的( inherently ill-posed)或者说超分辨率是个欠定逆问题( underdetermined inverse problem)。意思就是超分辨率是个解不是唯一的问题,因为对于任何给定的低分辨率像素都存在多重解。对于这个问题通常用强先验信息约束解空间来缓解,为了学习强先验信息,现在最先进的方法大多基于例子的策略

变分自动编码器(VAE)

做~自己de王妃 提交于 2019-12-18 06:12:33
VAE(Variational Autoencoder)的原理 Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint arXiv:1312.6114 (2013). 论文的理论推导见:https://zhuanlan.zhihu.com/p/25401928 中文翻译为:变分自动编码器 转自:http://kvfrans.com/variational-autoencoders-explained/ 下面是VAE的直观解释,不需要太多的数学知识。 什么是变分自动编码器? 为了理解VAE,我们首先从最简单的网络说起,然后再一步一步添加额外的部分。 一个描述神经网络的常见方法是近似一些我们想建模的函数。然而神经网络也可以被看做是携带信息的数据结构。 假如我们有一个带有解卷积层的网络,我们设置输入为值全为1的向量,输出为一张图像。然后,我们可以训练这个网络去减小重构图像和原始图像的平均平方误差。那么训练完后,这个图像的信息就被保留在了网络的参数中。 现在,我们尝试使用更多的图片。这次我们用one-hot向量而不是全1向量。我们用[1, 0, 0, 0]代表猫,用[0, 1, 0, 0]代表狗。虽然这要没什么问题,但是我们最多只能储存4张图片。当然

Image Super-Resolution Using Deep Convolutional Networks 论文总结

我与影子孤独终老i 提交于 2019-12-08 17:53:26
Image Super-Resolution Using Deep Convolutional Networks 论文总结 提示: 文中用【】表示的是我没读懂的内容 文中用[]表示的是我不会翻译的内容,翻译都不会,基本上也不理解啦。 Abstract 摘要讲了讲论文写了些啥: 作者们提出了一种针对单图像超分辨的深度学习方法,即SRCNN。该方法直接学习低/高分辨率图像之间的端到端映射。映射是用一个低分辨率图像为输入,高分辨率图像为输出的深度卷积神经网络来表示的。 证明了传统基于稀疏编码的SR方法也可以看作是一个深度卷积网络。 传统方法是分别处理每个组件,而SRCNN联合优化所有层。 SRCNN具有轻量级的结构,同时有最先进的恢复质量,并且实现了快速的实际在线使用。 作者们探索了不同的网络结构和参数设置,以实现性能和速度之间的权衡。 SRCNN可以同时处理三个颜色通道,表现出更好的整体重建质量。 Introduction 超分辨率问题本质是不适定的( inherently ill-posed)或者说超分辨率是个欠定逆问题( underdetermined inverse problem)。意思就是超分辨率是个解不是唯一的问题,因为对于任何给定的低分辨率像素都存在多重解。对于这个问题通常用强先验信息约束解空间来缓解,为了学习强先验信息,现在最先进的方法大多基于例子的策略(example

SNMP协议介绍

蓝咒 提交于 2019-12-06 14:11:12
本文地址: https://www.cnblogs.com/lsgxeva/p/9220949.html 一、什么是SNMP SNMP:“简单网络管理协议”,用于网络管理的协议。SNMP用于网络设备的管理。SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了 “读”操作;管理员需要向设备执行设置操作,所以SNMP提供了“写”操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了 “Trap”操作。 二、SNMP背景 SNMP 的基本思想:为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义为一个统一的接口和协议,使得管理员可以是使用统一的外观面对这些需要管理的网 络设备进行管理。通过网络,管理员可以管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。 三、SNMP结构概述 SNMP 被设计为工作在TCP/IP协议族上。SNMP基于TCP/IP协议工作,对网络中支持SNMP协议的设备进行管理。所有支持SNMP协议的设备都提供 SNMP这个统一界面,使得管理员可以使用统一的操作进行管理,而不必理会设备是什么类型、是哪个厂家生产的。如下图, 四、SNMP支持的网管操作 对于网络管理,我们面对的数据是设备的配置、参数、状态等信息,面对的操作是读取和设置;同时,因为网络设备众多,为了能及时得到设备的重要状态

BicycleGAN: Toward Multimodal Image-to-Image Translation - 1 - 论文学习,成对数据

让人想犯罪 __ 提交于 2019-12-06 00:08:38
Abstract 许多图像到图像的翻译问题是有歧义的,因为一个输入图像可能对应多个可能的输出。在这项工作中,我们的目标是在一个条件生成模型设置中建立可能的输出分布。将模糊度提取到一个低维潜在向量中,在测试时随机采样。生成器学习将给定的输入与此潜在编码映射到输出。我们明确地鼓励输出和潜在编码之间的连接是可逆的。这有助于防止训练期间从潜在编码到输出的多对一映射也称为模式崩溃问题,并产生更多样化的结果。我们通过使用不同的训练目标、网络架构和注入潜在编码的方法来探索此方法的几个变体。我们提出的方法鼓励了潜在编码模式和输出模式之间的双射一致性。我们提出了对我们的方法和其他变种在视觉真实性和多样性方面进行了一个系统的比较。 1 Introduction 深度学习技术在条件图像生成方面取得了快速的进展。例如,网络已经被用来填补缺失的图像区域[20,34,47],给灰度图像添加颜色[19,20,27,50],并从草图生成逼真的图像[20,40]。然而,这个领域的大多数技术都集中于生成单个结果。在这项工作中,我们模拟一个潜在结果的分布,因为许多这些问题可能是多模态。例如,如图1所示,根据云的模式和光照条件,夜间捕获的图像在白天可能看起来非常不同。我们追求两个主要目标:产生(1)视觉上真实的和(2)多样化的结果,同时保持对输入的忠实。 从高维输入到高维输出分布的映射具有挑战性

ipv4的编码方法

ぐ巨炮叔叔 提交于 2019-12-05 17:21:48
1、IP地址有3位标识符,由ICANN进行分配。 2、两级的IP地址分为 ::={<网络号>,<主机号>}。 3、在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。 4、路由器总是具有两个或两个以上的IP地址。路由器的每一个接口都有一个不同网络号的IP地。端与端之间是通过唯一的IP地址通信。 5、直接广播地址:ABC类IP地址中的主机号全为1,只能作为分组的目的地址。受限广播地址:网络号和主机号都为1。 6、网络地址是主机号0,网络号为1,在进行与运算;主机地址是主机号1,网络号为0,在进行与运算;广播地址是主机号全为1。 7、网络掩码是将IP地址划分为网络地址和主机地址两部分;子网掩码是用来标识网络位的数,凡是网络位都标识为1。 8、三级的IP地址分为::={<网路号>,<子网号>,<主机号>} 目的:扩展网络,减少竞争,减少CPU使用负荷,隔离网络问题,提高网络的安全性。 9、从一个IP数据报是无法判断源主机或目的主机所连接的网络是否进行了子网的划分,必须加上子网掩码。 10、网络地址是二进制的IP地址与掩码按位进行与运算。 11、创建子网的规则:先决定需要的子网数,再决定子网掩码和子网地址。有效子网数和主机数要减二(不要全0和1)。 12、可以看网络号和子网地址是否相同判断主机的IP地址是否属于同一个子网。 来源: https://www.cnblogs.com