一 网络直播

对于视频监控来说,以前主要是局域网监控,随着网络技术发展,网络摄像头出现,使得监控从局域网大量的扩展到了互联网上。买一个网络摄像头,进行简单的设置就可以随时随地使用手机来查看家里的情况。 这个和互联网直播其实也是一个道理,以前的直播主要是在PC端,而现在也是扩展到了手机端。所以监控和直播本质上是一样的,都是视频采集、推送到服务端、客户端从服务端获取视频播放的过程。所以在使用树莓派搭建监控的时候,正好可以学习了解一下直播相关的一些知识。

上图显示了一个直播平台大致的样子,主要有几个步骤:
1. 音视频采集、编码、封装
2. 视频流传送到服务器(推流)
3. 服务器对视频流进行相应的处理,比如转码、存储等,也可以进行一些高级的处理。
4. 服务器把视频流进行分片,然后发送到CDN
5. 客户端从CDN拉取视频流进行播放

继续阅读

之前在美国的VPS主机上使用SeaFile搭建过一个网盘,但是用的很少。 在腾讯买了主机之后,正好利用COS一起可以在搭建一个网盘。在网上看了下,NextCloud用的人比较多,所以准备试一下。 官网: https://nextcloud.com/

 

 

一 NextCloud 安装

 

官网上有好几种安装方式,使用Docker或者是Snap安装是最方便的,直接集成好了需要的环境。我还是采用手动安装的方式,这样整个过程是可控的。

 

 

1.环境准备

 

我的主机是Ubuntu16.04的系统,使用NextCloud 需要HTTP服务器、PHP和数据库。 这些我之前已经装好了,如果没有安装请先安装。下面是我服务器上安装的版本,如果版本不同,可能会有一些差别,特别是php版本。

  • nginx:1.10.3
  • php: v7.0.30
  • MySQL:5.7.23

所以在安装nextcloud之前,请保证nginx、php7和MySQL能正常使用。

 

安装PHP插件

nextcloud需要安装一些php插件才能正常工作,下面是我安装时需要用到的。 其中mysql是我之前安装wordpress已经安装了。后续安装过程中如果还提示缺少插件,可以在安装。可以参考:Installation on Linux

sudo apt install php7.0-curl php7.0-gd php7.0-zip php7.0-mbstring php7.0-mysql

 

创建MySQL数据库和用户

nextcloud需要使用到数据库,所以我们可以创建一个数据库和用户。命令行登入到MySQL之后,执行下面命令来创建数据库和用户。

mysql> create database nextcloud; 

mysql> create user 'nextcloud'@'%' identified by '你用户的密码';

mysql> grant all privileges on nextcloud.* to 'nextcloud'@'%';

mysql> flush privileges;

继续阅读

我们在浏览器访问一个网页时,一般输入一个网页的地址,比如: www.baidu.com,然后就可以和远程服务器建立HTTP连接传输数据。但是对于网络层来说,它只认识IP地址,并不认识网页地址。所以他们之间有一个转换的过程。这个转换过程是DNS服务完成的。

 

域名

 

网域名称英语:Domain Name),简称域名网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

IP地址Internet主机的作为路由寻址用的数字体标识,人不容易记忆。因而产生了域名这一种字符型标识。

域名是有分级的,顶级域名主要按照组织(com, org, net)和地区(us, cn, hk ,cc)划分。比如我注册的xxxx.cc这个域名,.cc是一个地区顶级域名,xxxx.cc是顶级域名下的一个二级域名。 而www.xxxx.cc, blog.xxxx.cc 这些都是三级域名,而xxx.blog.xxxx.cc是四级域名,依次类推。

 

DNS

 

网域名称系统英文Domain Name System,缩写DNS)是互联网的一项服务。它作为将域名IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCPUDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符

继续阅读

一 VPS是啥

 

虚拟专用服务器英语:Virtual private server,缩写为 VPS),是指通过虚拟化技术在独立服务器中运行的专用服务器。每个使用VPS技术的虚拟独立服务器拥有各自独立的公网IP地址、操作系统、硬盘空间、内存空间、CPU资源等,还可以进行安装程序、重启服务器等操作,与运行一台独立服务器基本相同。

这是维基百科上的解释。其实和我们自己在电脑上装虚拟机是一样的,只不过VPS有独立的公网IP。多个VPS之间系统是隔离的,但是硬件不是隔离的。 比如Host Server是8核CPU+16G内存,如果安装了8个VPS,那么每个分配1核CPU+2G内存。用过虚拟机的就明白的,不用多解释。

VPS系统主要是xUNIX系统,这样不需要图形界面,远程SSH上去操作。目前也有Windows的VPS,主要就是图形化的远程登录操作。VPS就好比是自己电脑,自由度很大。

 

虚拟主机?云主机?

 

虚拟主机英语:Virtual Host)(英语:Shared Web Hosting),又称虚拟服务器主机空间或是网页空间,是一种网络技术,可以让多个主机名称(host name),在一个单一服务器(或是一个服务器组)上运作,而且可以分开支持每个单一的主机名称。

虚拟主机是以前用的比较多的,主要用来架设个人网站,搭建FTP服务器等。利用Apache和IIS 就很容易搭建虚拟主机。以前主要使用FTP等方式进行远程操作。相对于VPS自由度比较小。而云服务可以说是VPS加上云的概念,是在一组集群主机上划分出的多个VPS集群。

所以个人用而言,使用VPS是最好的选择。一般使用xUNIX系统,无论是科学上网、建站、搭建云盘等等都不在话下。

继续阅读