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;
阅读全文 »

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

效果还是挺不错的。