最近温习数据结构与算法,在学习字符串的匹配算法 BM 算法、KMP 算法时,看到了两篇关于 KMP 算法讲解的文章,写的很经典。
阮一峰写的 字符串匹配的KMP算法
BF 算法、KMP 算法匹配过程如下:
主串 S:“BBC ABCDAB ABCDABCDABDE”
模式串 P:”ABCDABD”
BM 算法很简单,就是暴力匹配,以主串 S 为基准,模式串 P 从主串 S 的串头单步向后移动匹配到主串 S 的串尾。
最近温习数据结构与算法,在学习字符串的匹配算法 BM 算法、KMP 算法时,看到了两篇关于 KMP 算法讲解的文章,写的很经典。
阮一峰写的 字符串匹配的KMP算法
BF 算法、KMP 算法匹配过程如下:
主串 S:“BBC ABCDAB ABCDABCDABDE”
模式串 P:”ABCDABD”
BM 算法很简单,就是暴力匹配,以主串 S 为基准,模式串 P 从主串 S 的串头单步向后移动匹配到主串 S 的串尾。
闲话少说,直接步入正题。
我使用的是 MacBook Pro 笔记本,在 MacBook Pro 笔记本上的终端输入命令 ssh root@IP地址 -p ssh端口
1 | ssh root@111.11.111.111 -p 1111 |
其中,IP 地址和 SSH 端口换成你自己的 VPS 信息。
在终端执行命令下载 SRS 源码
1 | git clone https://github.com/ossrs/srs |
进入 srs/trunk 目录
1 | cd ./srs/trunk |
在终端执行下面的命令编译 SRS
1 | ./configure && make |
在上一篇文章 使用搬瓦工搭建 ShadowSocks 翻墙(VPN) 中提到了我购买了 VPS 服务资源,所谓物尽其用,仅让其充当 VPN 服务的工具有点浪费,可以在上面跑一些其它服务,比如流媒体直播服务、流媒体转码服务等。关于主机购买,也可以购买国内供应商的提供的主机服务,像阿里云、腾讯云、百度云等,可以关注他们的一些促销活动,在优惠力度大的时候囤机。
我的 VPS 服务器的操作系统为:
1 | Operating system: Centos 7 x86_64 bbr |
《搬瓦工搭建 ShadowSocks 翻墙(VPN)系列》
(1) 搬瓦工搭建 ShadowSocks 翻墙(VPN)
(2) 搬瓦工搭建 ShadowSocks 翻墙(VPN)- 解决 IP 被墙
(3) 搬瓦工搭建 ShadowSocks 翻墙(VPN)- 解决 port 被封
(4) 搬瓦工搭建 ShadowSocks 翻墙(VPN)- 更换密码
为了查询资料的便利性,大部分时候需要使用 Google 浏览器,但是国内除了高校能默认支持访问 Google 的服务外,基本所有人想使用 Google 的服务都需要借助 虚拟专用网 VPN (Virtual Private Network) 工具。以前使用过一些 VPN 服务提供商提供的服务,出现过用了一段时间就使用不了了、服务不稳定、连接后访问网络资源慢,还有的干脆就无法使用。比如我花了 79 美金买过 NordVPN 的服务,网上的口碑和排名很靠前的。事实上真是花钱买烦恼,99%的概率连不上 NordVPN 服务,即使碰运气连上去了,但网速差的让人吐血。为这个事,与 NordVPN 的技术支持来往过好多封英文邮件,最终还是没有解决连不上服务器的问题。在国内想使用 Google 服务查询资料真是痛苦。搞笑的是,2018年12月初去韩国济州岛玩,在济州岛使用 NordVPN 服务倒是 99%以上概率连上服务器,网速也还可以。泪崩,在 NordVPN 上花的钱彻底打水漂了。好在工作所在公司提供了 VPN 服务,就一直使用到现在。
为能正常使用 Google 的资源以及考虑到数据访问的私密性,就开始考虑搭建一个私人的 VPN 服务。查询了一些资料,找到了 搬瓦工 (BandwagonHost) 。以下是搭建的流程:
检查 Mac 上是否已经安装了 jdk,在终端上执行命令
java -version
Spark 是使用 scala 语言开发的,如果要使用 Scala,就需要安装与之对应的 jdk 版本,Scala 的下载地址:http://www.scala-lang.org/download/。下载地址页面明确说明了要使用 Scala 就必须要求 java version 为 1.8 以上,也就是 Java 8 JDK 以上版本。
英语原文:Survey: The Impact of Apple’s HEVC Adoption
调查:苹果 HEVC 采用的影响
新的 Unisphere 报告显示OTT服务和其他视频发布商正在向HEVC转移,但同样对 AV1 感兴趣
作者:Streaming Media 编辑人员
发布时间:2018年1月23日
您是否想知道苹果决定在 HTTP Live Streaming(HLS)中添加 HEVC 对流发布社区意图部署 HEVC 有多大影响?最近一项对 Streaming Media 读者的调查显示,66.2%的受访者表示,苹果的举动产生了重大影响,到2018年年底,高达62.5%的人可能会向 HLS 中添加 HEVC。这些只是 Harmonic 公司和 Unisphere 研究机构今天联合发布的许多调查结果中的两个。这份名为“苹果 HEVC 采用的影响:基于调查的报告”的报告包括来自600多 Streaming Media 读者的回应。
这份可供下载的8页报告也显示了制片人对开放媒体联盟(AOM)AV1 编解码器的兴趣,66%以上的受访者表现出浓厚的兴趣。虽然目前超过25%的受访者分发使用 HEVC 编码的视频,但74%的受访者表示“已知或未知的内容使用费”是通过 HLS 部署 HEVC 的一个重要问题。
英语原文:AI and Machine Learning Push Video Quality to New Heights
人工智能和机器学习将视频质量推向新的高度
人工智能和机器学习以及深度学习和神经网络正在解决编码质量到隐藏字幕的 OTT(Over To Top)挑战。
作者:Ankur Patel
发布时间:2018-02-15
[对人工智能和机器学习如何彻底改变视频感兴趣?加入我们2月27日在伦敦的流媒体论坛,我们将介绍亚马逊,IBM等专注于人工智能和机器学习的演讲。]
自从1928年第一次播出电视节目以来,视频技术已经从模拟标准清晰度(SD)黑白电视到 OTT 数字高清(HD)流式传输到数百个的连接设备。根据思科最新的可视网络指数,到2021年视频流量将占所有互联网流量的82%,高于2016年的73%。而且,思科首席执行官 Chuck Robbins 预测,到2020年每小时将有100万台设备添加到网络中。 OTT 视频流最大的挑战是提供尽可能高的体验质量(QoE)和服务质量(QoS)。
今天是2017年12月31日,2017年的最后一天。马上就2018年了,在2017年有什么收获呢。仔细想想,好像没有什么收获,也没有印象最深的事情。
工作中做出的一点成绩就是开发了 iOS 平台的短视频 SDK,服务了一批企业客户。从2017年5月到现在主要就是做短视频 SDK 的事情,为了赶进度,每天都过的很快,没什么感觉。2017年下半年开始带人做一些事情,算是走带团队的路线了,发现在带人上经验上还需要完善,这方面有些小收获。