0%

最近几年,网络视频直播处于蓬勃的发展期,各大直播平台的竞争也趋于白热化。在游戏直播领域,就有许多电子竞技的前职业选手,退役后转行游戏主播,收入不菲。当然,网络直播的用处不仅仅是娱乐行业,诸如实时视频监控等应用方向,同样潜力无限。如果没有太高的并发播放需求,完全可以自行搭建直播服务器。借助于Nginx和一些拓展模块,你就可以轻松地运行一个小型的直播平台。
笔者在参看了大量教程后,成功地在VPS上搭建了这样的视频直播服务器,而且在昨晚经过测试,能够正常地使用OBS Studio推流,在浏览器上实现HTML5播放。下面附上具体步骤,请将所有yourdomain.com替换为你的域名或者服务器IP。


Nginx环境搭建

首先,需要下载可编译的Nginx源代码,以及必要的拓展库。

如果你对在Linux上安装配置Nginx有所了解,可以直接使用源码安装,不必通过lnmp等工具进行安装。Nginx源码在此处下载,configure的参数后文会讲到,可以参考。

如果你是萌新,请按照👇教程安装搭建lnmp环境!
lnmp环境一键安装脚本

1
2
3
4
5
#下载并安装lnmp环境,将1.4替换为最新版本
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz
tar -xzvf lnmp1.4.tar.gz
cd lnmp1.4
./install.sh lnmp

请按照脚本的提示选择你要安装的各个组件版本,若不确定,选择默认选项即可。安装完成后,命令行输出:

此时访问服务器地址会出现如下界面:

注意:安装时生成的解压文件夹lnmp1.4先别删除!

阅读全文 »

三元操作符

当想写if...else语句时,使用三元操作符来代替。

1
2
3
4
5
6
7
const x = 20;
let answer;
if (x > 10) {
answer = "is greater";
} else {
answer = "is lesser";
}

简写:

1
const answer = x > 10 ? "is greater" : "is lesser";

也可以嵌套if语句:

1
const big = x > 10 ? " greater 10" : x

短路求值简写方式

当给一个变量分配另一个值时,想确定源始值不是nullundefined或空值。可以写撰写一个多重条件的if语句:

1
2
3
if (variable1 !== null || variable1 !== undefined || variable1 !== "") {
let variable2 = variable1;
}

或者可以使用短路求值方法:

1
const variable2 = variable1  || "new";

另一个例子:

1
2
3
4
5
6
let dbHost;
if (process.env.DB_HOST) {
dbHost = process.env.DB_HOST;
} else {
dbHost = "localhost";
}

简写:

1
const dbHost = process.env.DB_HOST || "localhost";

声明变量简写方法

1
2
3
let x;
let y;
let z = 3;

简写方法:

1
let x, y, z = 3;
阅读全文 »

在我的世界中,制作不同区域的地图后,可以使用物品展示框将它们挂起来,这样便能拼出一幅巨大的高分辨率地图。这是笔者对一个经营了多年的存档拍摄的「卫星图」:

效果还是挺不错的。