正在顯示「 2020 年 8 月 」的所有結果
8月 25, 2020 NodeJS
### 環境變數

使用過 NodeJS 有一段時間的朋友仔對環境變數應該都不會陌生,使用時只需要使用 `process.env` 物件就可以取得資料。

還可以通過使用 `delete` 來把變數刪除呢 !

```js
process.env.PRODUCTION = false;
console.log(process.env.PRODUCTION);
> false

delete process.env.PRODUCTION;
console.log(process.env.PRODUCTION);
> undefined
```

還是這樣來設定環境變數好像有點不切實際,變數都好像 hard code 在代碼中。

如有一個方法可以像 laravel 一樣載入 `.env` 檔案到變數就更加方便了。

### 使用 dotenv 套件

已經有大神想到這一點了呢 ! 通過使用 `dotenv` 套件就可以達成。

#### 安裝套件

```sh
$ npm install dotenv
```

#### 使用

建立 `.env` 檔案。記要住 `.env` 檔案不要加入到 git 內喔 ! 如果需要為 `.env` 記錄參數的變更,可以另外再加入一個 `.env.example` 來加入 git。

```text
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASS=password
DB_NAME=my_database
```

然後在程式的進入點 (app.js),載入套件。

```js
require('dotenv').config();

console.log(process.env["DB_HOST"]);
> localhost

console.log(process.env["DB_PORT"]);
> 3306

console.log(process.env["DB_USER"]);
> root

console.log(process.env["DB_PASS"]);
> password

console.log(process.env["DB_NAME"]);
> my_database
```

這樣就可以了 !
8月 19, 2020 Android
### RTMP

這個 library 可能可以成功把影片以 RTMP 方式 push 到伺服器上,等待測試中。

https://github.com/begeekmyfriend/yasea

### YASEA

下載 Project 然後使用 Android Studio 啟動並 Complie,成功後填入 RTMP 伺服器的地址。

![](https://cdn.19site.net/files/c8/de/c8de9195-1680-478f-afbd-d1867c844fa8.png)

然後使用 VLC 播放器播放 RTMP 伺服器的串流。

![](https://cdn.19site.net/files/c6/7b/c67b4a25-8ecd-48f5-85e5-682520eb45f1.png)
8月 19, 2020 Network RTMP
### VLC

要播放 RTMP 影片資料,最簡單可以使用 VLC 播放器。

Step 1, 下載並啟動 VLC 播放器, 官方網址 :  https://www.videolan.org/vlc

![](https://cdn.19site.net/files/c1/22/c1224703-c083-4314-8e82-3c49334dbaed.png '用來播放九品芝麻官')

Step 2, 按下 Media > Open Network Stream

![](https://cdn.19site.net/files/aa/cf/aacf3f2c-d556-4c80-8f26-5353ccbaa7cf.png '按下 Media > Open Network Stream')

Step 3, 輸入 RTMP 的地址

![](https://cdn.19site.net/files/e4/59/e4591778-0a7b-4a7d-a292-a9e9dd337c20.png '輸入 RTMP 的地址')

Step 4, 成功載入串流影片, 完成

![](https://cdn.19site.net/files/5f/00/5f00c3ca-b383-49b9-920f-ed3206ffb6dc.png '成功載入串流影片')


8月 19, 2020 Nginx RTMP
### Nginx

安裝 nginx 及 rtmp 模組 :

```sh
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install nginx -y
$ sudo apt-get install libnginx-mod-rtmp -y
```

### 修改 Config File

```sh
$ sudo vi /etc/nginx/nginx.conf
```

把以下的內容加入到 Config File 入面 :

```sh
rtmp {
	server {
		listen 1935;
		chunk_size 4096;
		application live {
			live on;
			record off;
		}
	}
}
```

### 重新啟動 Nginx 

```sh
$ sudo systemctl restart nginx
```
8月 19, 2020 RTMP
我們可以通過 ffmpeg 來推送檔案的 data 到 rtmp server:

```sh
$ ffmpeg -re -i /home/video.mp4 -vcodec copy -acodec copy -f flv rtmp://localhost/live/your_video_key
```

![](https://cdn.19site.net/files/98/20/98201019-0b73-432a-8177-7e719d6ad6ed.png '推送檔案的 data 到 rtmp server')

而 rtmp server 可以使用 nginx 和 nginx-rtmp 模組來建立。
過去文章
2025 (9)
4 (5)
3 (1)
2 (3)
2024 (25)
11 (3)
10 (3)
9 (1)
3 (18)
2022 (6)
10 (1)
6 (2)
5 (1)
3 (1)
1 (1)
2021 (21)
11 (7)
7 (1)
6 (2)
5 (2)
4 (6)
3 (2)
2 (1)
2020 (92)
12 (1)
11 (2)
10 (4)
9 (10)
8 (5)
7 (1)
6 (3)
5 (1)
4 (4)
3 (25)
2 (7)
1 (29)
2019 (57)
12 (25)
11 (7)
9 (25)