手擼乙個簡陋直播系統

2022-01-29 01:09:58 字數 3231 閱讀 7358

目錄2.nginx-rtmp-module

3.安裝第乙個直播系統

2. 修改配置:

3. 推流

4. 拉流

4.rtm高階

5. ffmpeg

1.nginx概述和作用

2.安裝nginx

安裝:3.nginx 配置

4. 配置變數

#語法: set var_name value;

set $a "hello world";

5. nginx 配置例項
#執行使用者

#user nobody;

#工作程序數,通常設定成,cpu,數量相等或其兩倍

worker_processs 1;

#全域性錯誤日誌

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

#pid檔案

#pid logs/nginx.pid

#工作模式及連線數連上線

events

#設定http服務的配置

#定義錯誤頁面

error_page 500 502 503 /50x.html;

location =/50x.html

}}

tip : 知識補充

什麼是mime?

mime是一種標識,瀏覽器根據他去判斷用什麼形式去展示他,比如乙個flash,乙個,一段文字,在瀏覽器的展示時不同的, mime type 不是個人指定的,是經過 ietf 組織協商,以 rfc 的形式作為建議的標準發布在網上的,大多數的 web 伺服器和使用者**都會支援這個規範

default_type:

location /download/ 

}

sendfile函式:

sendfile 函式,是用來提高io效率的

6. nginx模組

phase handler:

output filter:

upstream:

load-balance:

extend-module:

1. nrm特性

nginx-rtmp-module下面簡稱nrm,nrm具有以下特性:

2. rtmp協議和hls協議

git clone 

#進入nginx安裝目錄

./configure --add-module=/path/to/nginx-rtmp-module

make

make install

2. 修改配置:

備份並編輯nginx .conf,精簡後的nginx如下:

}}3. 推流

使用obs進行推流,vlc也可以推流操作

4. 拉流

通過瀏覽器或者vlc進行拉流

1. 利用ntm只是 hls直播:

因為hls是基於http協議的,所以不能通過rtmp頭去訪m3u8檔案,所以需要乙個http sever

alias /vieo;# 指向m3u8所在的資料夾

add_header cache-control no-cache; #禁制快取}}

}2. 推/拉流和串流碼

rtmp:

rtmp:

rtmp:

3. controller

controller控制器是http模組,它可以通過http協議,從外部控制rtmp模組,通過controller控制器,使用record,drop,redirect命令來實現我們的業務場景

需要的配置:

http模組下:

location /controller
4. record 命令:

通過record可以完成對直播的錄製和停止直播功能

示例 live on;

hls on;

hls_path /video;

hls_fragment 2s;

hls_playlist_length 16s;

recorder myrecord

}1. 什麼是ffmpeg?

2. 支援的協議

http,rtp,rtsp,realmedia tcp,udp,rtmp,rtmpt,rtmpe,rtmps,sdp,mms等

git clone
進行配置並編譯安裝

#進入ffmpeg目錄:

./configure --prefix=/usr/local/ffmpeg

make & make install

新增到環境變數:

vim /etc/profile

#定位到尾部新增

export ffmpeg_home = /usr/local/ffmpeg

#再將$ffmpeg_home/bin 插入到$path變數之前

export ffmpeg_home = /usr/local/ffmpeg

export path=$ffmpeg_home/bin:$path

#使配置生效

source /etc/profile

測試:

ffmpeg -version

純手擼乙個rnn

原文 import copy,numpy as np np.random.seed 0 sigmoid函式 def sigmoid x output 1 1 np.exp x return output sigmoid導數 def sigmoid output to derivative outpu...

手擼乙個npm包,安利一下duiba sprite

我所在組負責我司線上h5互動小遊戲的開發,其中一部分開發者負責 的開發。大致流程為 視覺出psd,開發者切圖,開發者開發,開發者上傳 運營驗收。這裡邊有個奇葩的動作 開發者切圖,為什麼讓開發者淪為切圖仔,這裡不再詳述。大部分開發者都習慣了自己切圖,在這裡面有個高頻的動作 幀動畫的素材製作。就是psd...

搭建乙個直播系統入門

自己搭建乙個直播系統吧 服務端 需要linux系統最好是ubuntu,裝個ubuntu虛擬機器就行了 在linux裡,解壓縮srs 安裝包,執行 sudo install sudo etc init.d srs start 乙個rtmp的 伺服器就執行起來了,無需改配置,預設埠是 1935 推流端v...