久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

拿來就能用,!幾步搭建一套簡(jiǎn)單直播系統(tǒng)

 江邊微影 2020-03-24

作者 | mind_programmonkey

責(zé)編 | 伍杏玲

出品 | CSDN博客

本次用Ngix+RTMP+FFmpeg搭建一個(gè)流媒體服務(wù)器,,實(shí)現(xiàn)簡(jiǎn)單的直播效果,。

Nginx是一款輕量級(jí)的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,。nginx-rmtp-module是Nginx服務(wù)器的流媒體插件,。Nginx通過RTMP模塊提供RTMP服務(wù),,F(xiàn)Fmpeg推送一個(gè)RTMP流到Nginx, 然后客戶端通過訪問Nginx來收看實(shí)時(shí)視頻流。

不管怎么樣,,還是要微笑的面對(duì)呀,!

拿來就能用!幾步搭建一套簡(jiǎn)單直播系統(tǒng) | 原力計(jì)劃

目前直播產(chǎn)品的種類

  • 泛娛樂化直播

花椒,、映客等娛樂主播,,還有斗魚等游戲直播

  • 實(shí)時(shí)互動(dòng)直播

音視頻會(huì)議、教育直播等,,像釘釘,,騰訊會(huì)議

1.目前泛娛樂化直播架構(gòu)

拿來就能用!幾步搭建一套簡(jiǎn)單直播系統(tǒng) | 原力計(jì)劃

2.實(shí)時(shí)互動(dòng)直播架構(gòu)

拿來就能用,!幾步搭建一套簡(jiǎn)單直播系統(tǒng) | 原力計(jì)劃

補(bǔ)充知識(shí):CDN網(wǎng)絡(luò)

1.網(wǎng)站的一般訪問模式

首先看一下網(wǎng)站的一般訪問模式,。

當(dāng)一個(gè)用戶想訪問一個(gè)網(wǎng)站的時(shí)候,指定這個(gè)網(wǎng)站的域名,,DNS 就會(huì)將這個(gè)域名解析為地址,,然后用戶請(qǐng)求這個(gè)地址,,返回一個(gè)網(wǎng)頁。就像你要買個(gè)東西,,首先要查找商店的位置,,然后去商店里面找到自己想要的東西,最后拿著東西回家,。

CDN:Content Delivery Network,,內(nèi)容提供(分發(fā))網(wǎng)。

2.使用“中間倉庫”來優(yōu)化

例如你去電商網(wǎng)站下單買個(gè)東西,,這個(gè)東西一定要從電商總部的中心倉庫送過來嗎,?原來基本是這樣的,每一單都是單獨(dú)配送,,所以你可能要很久才能收到你的寶貝,。但是后來電商網(wǎng)站的物流系統(tǒng)學(xué)聰明了,他們?cè)谌珖?guó)各地建立了很多倉庫,,而不是只有總部的中心倉庫才可以發(fā)貨,。

電商網(wǎng)站根據(jù)統(tǒng)計(jì)大概知道,北京,、上海,、廣州、深圳,、杭州等地,,每天能夠賣出去多少書籍、衛(wèi)生紙,、包,、電器等存放期比較長(zhǎng)的物品。這些物品用不著從中心倉庫發(fā)出,,所以平時(shí)就可以將它們分布在各地倉庫里,,客戶一下單,就近的倉庫發(fā)出,,第二天就可以收到了。

這樣,,用戶體驗(yàn)大大提高,。

3.網(wǎng)絡(luò)中的“就近配送”

全球有這么多的數(shù)據(jù)中心,無論在哪里上網(wǎng),,臨近不遠(yuǎn)的地方基本上都有數(shù)據(jù)中心,。是不是可以在這些數(shù)據(jù)中心里部署幾臺(tái)機(jī)器,形成一個(gè)緩存的集群來緩存部分?jǐn)?shù)據(jù),,那么用戶訪問數(shù)據(jù)的時(shí)候,,就可以就近訪問了呢,?

當(dāng)然是可以的。這些分布在各個(gè)地方的各個(gè)數(shù)據(jù)中心的節(jié)點(diǎn),,就稱為邊緣節(jié)點(diǎn),。

由于邊緣節(jié)點(diǎn)數(shù)目比較多,但是每個(gè)邊緣節(jié)點(diǎn)的集群規(guī)模比較小,,不可能緩存下來所有東西,,因而可能無法命中。這樣就會(huì)在邊緣節(jié)點(diǎn)之上,,會(huì)有區(qū)域節(jié)點(diǎn),,規(guī)模就要更大,緩存的數(shù)據(jù)會(huì)更多,,命中的概率也就更大,。在區(qū)域節(jié)點(diǎn)之上是中心節(jié)點(diǎn),規(guī)模更大,,緩存數(shù)據(jù)更多,。如果還不命中,就只好回源網(wǎng)站訪問了,。

拿來就能用,!幾步搭建一套簡(jiǎn)單直播系統(tǒng) | 原力計(jì)劃拿來就能用!幾步搭建一套簡(jiǎn)單直播系統(tǒng) | 原力計(jì)劃

Ngix+RTMP+FFmpeg搭建簡(jiǎn)單的流服務(wù)器

Nginx是一款輕量級(jí)的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,。nginx-rmtp-module是Nginx服務(wù)器的流媒體插件,。Nginx通過RTMP模塊提供RTMP服務(wù), FFmpeg推送一個(gè)RTMP流到nginx, 然后客戶端通過訪問Nginx來收看實(shí)時(shí)視頻流。

那么,,接下來就是搭建環(huán)境了,,go,go,,go?。。,?!

為了快速下載,可替換一下鏡像源,。Ubuntu apt-get 國(guó)內(nèi)鏡像源替換 https://blog.csdn.net/qq_21095573/article/details/99736630

1.基于Nginx的Linux RTMP服務(wù)搭建

a.下載nginx

wget http:///download/nginx-1.15.3.tar.gz

b.解壓nginx

tar xvf nginx-1.15.3.tar.gz

c.下載Nginx rtmp模塊

wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.1.tar.gz

d.解壓

tar xvf v1.2.1.tar.gz

e.安裝編譯 nginx 所需要的庫

sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

f.進(jìn)行nginx目錄

cd nginx-1.15.3

g.執(zhí)行 #–add-module 指向rtmp模塊目錄

./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1

h.編譯安裝在當(dāng)前目錄的bin目錄下

make&&make install

在當(dāng)前目錄 執(zhí)行 bin/sbin/nginx 即可啟動(dòng)

bin/sbin/nginx -s stop 停止

在瀏覽器輸入 【IP】:8080

拿來就能用,!幾步搭建一套簡(jiǎn)單直播系統(tǒng) | 原力計(jì)劃

注意:

需要注意的是目錄與端口是否被占用,比如如果8080端口被占用,,可改為8081,,然后需要開放端口。

端口占用檢查:lsof -i:8080

2.FFmpeg

FFmpeg的安裝有兩種方式:一種是簡(jiǎn)單的,,另外一種是稍微復(fù)雜點(diǎn),。

a.簡(jiǎn)單安裝方式

先來簡(jiǎn)單的,,三步走

第一步:添加源。

sudo add-apt-repository ppa:djcj/hybrid

第二步:更新源,。

sudo apt-get update

第三步:下載安裝,。

sudo apt-get install ffmpeg

b.復(fù)雜安裝方式

第一步,支持庫的安裝

sudo apt-get install -y autoconf automake build-essential git libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev

apt install libavformat-dev
apt install libavcodec-dev

apt install libswresample-dev

apt install libswscale-dev

apt install libavutil-dev

apt install libsdl1.2-dev

sudo apt-get install yasm

第二步,,x264

gir clone https://github.com/qupai/x264

cd x264

./configure --enable-shared --enable-pthread --enable-pic

make

make install

第三步,,F(xiàn)Fmpeg

官網(wǎng)下載:http://www./download.html

tar -jxvf ffmpeg-4.1.tar.bz2

cd ffmpeg-4.1

./configure --enable-libx264 --enable-gpl --enable-shared --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --enable-pic

make

sudo make install

export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib:$LD_LIBRARY_PATH

ldd ffmpeg

如果遇到這個(gè)問題:

ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory
拿來就能用!幾步搭建一套簡(jiǎn)單直播系統(tǒng) | 原力計(jì)劃
 - sudo find / -name libavdevice.so.58 # 找到文件對(duì)應(yīng)地址

- sudo vim /etc/ld.so.conf # 文件尾添加一行 /usr/local/lib

- sudo ldconfig # 執(zhí)行該句,,使上面的文件生效

重新運(yùn)行ffmpeg -encoders | grep x264會(huì)發(fā)現(xiàn)安裝成功

安裝成功之后,,驗(yàn)證一下效果,ffmpeg -version

拿來就能用,!幾步搭建一套簡(jiǎn)單直播系統(tǒng) | 原力計(jì)劃

3.推流拉流開始

推流,,指的是把采集階段封包好的內(nèi)容傳輸?shù)椒?wù)器的過程,主播端把本地采集的語音視頻流推送到媒體服務(wù)器,。就是將現(xiàn)場(chǎng)的視頻信號(hào)傳到網(wǎng)絡(luò)的過程,。

接下來演示一下:

將主機(jī)Windows中的媒體文件1.mp4推流到虛擬機(jī)Ubuntu的流媒體服務(wù)器Nginx中,然后在ubuntu下拉流通過ffplayer播放出來這一流程,。

Windows下推流:

ffmpeg -i 1.mp4 -f flv rtmp://192.168.8.169/live/room

ubuntu開啟Nginx服務(wù)

在nginx.conf文件中新增加的下面的內(nèi)容,,增加RTMP功能以及使Nginx能具有直播狀態(tài)監(jiān)聽的功能:

拿來就能用!幾步搭建一套簡(jiǎn)單直播系統(tǒng) | 原力計(jì)劃拿來就能用,!幾步搭建一套簡(jiǎn)單直播系統(tǒng) | 原力計(jì)劃

之后,,啟動(dòng)服務(wù)

bin/sbin/nginx

ubuntu拉流播放

ffplay rtmp://192.168.8.169:1935/live/room

即可大功告成!??!

拿來就能用!幾步搭建一套簡(jiǎn)單直播系統(tǒng) | 原力計(jì)劃

那這次就先這樣了,。

原文鏈接:https://blog.csdn.net/Mind_programmonkey/article/details/104584444

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多