4-28課堂筆記

1、Centos 7.x 或 6.8

? 1、第一步 裝系統(tǒng) 7.x

? 2、第二步 遠程登錄系統(tǒng) ssh

? 3、第三步 安裝yum install -y wget

? ? ? ? ? ? 源碼安裝 wget下載

? 4、第四步 換源 Centos7 默認源? 阿里云的

? ? ? ? ? ? 并更新源 建立緩存

? 5、第五步 工具

? ? ? ? ? ? git

gcc 編譯器==>GNU開源計劃===>C? C++ Java等(源代碼 面向?qū)ο?面向過程 匯編==>機器語言)

二進制? 010101010101

vi/vim 文本編輯器? g環(huán)境 k環(huán)境

make源碼編譯安裝? makefile文件? 編譯你當前改變的文件 更新文件

make install

可執(zhí)行文件/ exe 指定的目錄中 /路徑中? bin? sbin? /usr/local/

/usr/local/nginx/sbin/nginx

openssl? ssh服務(wù)

加密? ssh? 免密登錄? 依賴

6、建立一個目錄 源碼編譯安裝 /usr/local/? /opt/? 各種放

? github

? 亮神:一個屌絲程序員如何從8000--->15000形成質(zhì)的飛躍

? ? ? ? 8000元/稅前

第一階段? 夾著尾巴做人? 8000? 原始資本的積累1-3年

瀏覽 github 運維相關(guān)開源軟件? python

編程的基本功

二次開發(fā)==>站在巨人的肩膀上===>復(fù)制粘貼===>抄===>借鑒

15000元

2-3款

7、nginx-rtmp-module 安裝Nginx的rtmp協(xié)議的擴展

? ? ? PC端

? ? ? 移動端--->操作系統(tǒng)--->iOS

? ? ? ? ? ? ? ? ? ? ? ? --->Android

? ? ? |---->手機

? ? ? |---->平板(電腦)

? ? ? |---->智能設(shè)備---->手表

? ? ? ? ? ? ? ? ? ? ---->手環(huán)

? ? ? ? ? ? ? ? ? ? ---->眼鏡/VR/AR/MR

? ? ? ? ? ? ? ? ? ? ---->互聯(lián)網(wǎng)電視APP

? ? ? ? ? ? ? ? ? ? ---->機頂盒Android

? ? ? ? ? ? ? ? ? ? ---->智能家電

? ? ? |---->區(qū)塊鏈設(shè)備

? ? ? ? ? ? |---->垃圾桶

? ? ? ? ? ? |---->加濕器 路由器 電視 冰箱? 洗機器 熱水器 運動 手機挖礦等

? ? ? ? ? ? ALL IN BLOCKCHAIN

? ? 8、解壓縮? tar -xzvf

? ? 9、進入到Nginx目錄里 進行配置

? ? ? cd nginx-1.15.0

? ? ? ? ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module

? ? ? http_ssl_module模塊/擴展/ http https 阿里云ssl證書 免費/淘寶 25 二級域名

? nginx-rtmp-module 模塊/擴展 用于推流

? ? 10、編譯源碼并安裝

? ? 建立在 makefile文件

? ? ? ? make

? ? ? ? make install

? ? ? ? 或

? ? ? ? make && make install

? ? 11、驗證nginx安裝成功

? ? 1./usr/local/nginx/sbin/nginx -V 查看版本號

2.直接啟動

? ? ? /usr/local/nginx/sbin/nginx

[root@liangshen sbin]# ./nginx

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

? ? ? ? 3.80端口被占用

? 調(diào)錯

? L A M P? Apache2.0 阿帕奇? WEB服務(wù) 80端口

4.通過80端口 瀏覽器的方式訪問? nginx歡迎頁面 表示成功

? 不是 就需要改nginx的默認端口 80? 8080 9000 9090 8888等

5.防火墻的端口限制

12、修改Nginx的conf文件 配置rtmp端口 1935端口

/usr/local/nginx

? rtmp{

? ? 17

? ? 18? server{

? ? 19

? ? 20? ? ? ? listen 1935;

? ? 21? ? ? ? chunk_size 5000;

? ? 22? ? ? ? ?

? ? 23? ? ? ? application hls{

? ? 24? ? ? ? ? ? live on;開啟實時直播? 實況直播

? ? ? ? ? ? ? ? record off; 不記錄數(shù)據(jù)

//沒有指定ts切片放在哪里

? ? 25? ? ? ? }

? ? 26? ? ? ?

? ? 27? ? }

? ? 28? ?

? ? 29 }

? ? 停止Nginx服務(wù) /usr/local/nginx/sbin/nginx -s stop

? ? 啟動并加載配置文件

? ? /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

[root@liangshen conf]# /usr/local/nginx/sbin/nginx

nginx: [emerg] bind() to 0.0.0.0:1935 failed (98: Address already in use)

? ? nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

? ? nginx: [emerg] bind() to 0.0.0.0:1935 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:1935 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:1935 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:1935 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] still could not bind()

出現(xiàn)如上信息就表示直播服務(wù)器已經(jīng)搭建成功。

? ? 13、如何推流

? ? 1、OBS軟件推流Mac Linux Windows(小白 非專業(yè)人士)

2、FFmpeg音頻視頻處理的庫Mac? Linux Windows? Android iOS等 開發(fā)者

? ? OBS推流

rtmp://主機ip地址:1935/oldboy_live? room01 room02 小澤老師 龍澤老師 波多老師

? ? 14、到/usr/local/nginx/html

? ? hls 目錄? 如果沒有就conf里沒有配置 1935

http服務(wù)里需要指定 推流上來 hls產(chǎn)生的ts切片的目錄

location /hls {?

? ? ? ? ? ? #server hls fragments?

? ? ? ? ? ? types{?

? ? ? ? ? ? ? ? application/vnd.apple.mpegurl m3u8;?

? ? ? ? ? ? ? ? video/mp2t ts;?

? ? ? ? ? ? }?

? ? ? ? ? ? alias /temp/hls;?

? ? ? ? ? ? expires -1;?

? ? ? ? }?

調(diào)試

2、Ubuntu 18.04 19.04 16.04 14.04

3、Nginx 1.10.2--1.11.2

4、FFmpeg 處理音頻 視頻的庫

? 遮罩層?

5、VLC視頻播放器

? 5.1 拉流的過程 播放

? ? ? /usr/local/nginx/html/hls ls命令

? xxxx.m3u8

? http://x.x.x.x/hls/xxxx.m3u8

? XMPP協(xié)議


6、HLS協(xié)議 apple 研發(fā)

? 視頻流--->TS切片--->3S--->85kb--->HTTP

? N多個.ts


#EXTM3U

#EXT-X-VERSION:3

#EXT-X-MEDIA-SEQUENCE:141

#EXT-X-TARGETDURATION:8

#EXTINF:8.333,

oldboy_live-141.ts

#EXTINF:8.334,

oldboy_live-142.ts

#EXTINF:8.333,

oldboy_live-143.ts

#EXTINF:8.333,

oldboy_live-144.ts

#EXTINF:8.334,

oldboy_live-145.ts

#EXTINF:8.333,

oldboy_live-146.ts

#EXTINF:8.333,

oldboy_live-147.ts

#EXTINF:8.334,

oldboy_live-148.ts

#EXTINF:8.333,

oldboy_live-149.ts

7、HLS 原生就支持

8、基于Flash HTTP協(xié)議 HTTPS訪問443

? 谷歌瀏覽器Chrome 就會禁用Flash

9、Nginx+RMTP協(xié)議+HLS協(xié)議

? ? ? ? ? 推流--->拉流

10、熊熊直播

? ? 服務(wù)器硬件

? ? |--->CPU 1顆? 100人

? ? ? ? 4核心? 2CPU? 16*2 = 32核心? ? 1000人

? ? |--->10M

? ? 集群

? ? |--->5臺

11、壓力測試

? ? 1、同時播? 多路? 推流---

2、同時看? 多路? 拉流

? ? ? ? ? ? ? ? go語言

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容