日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

0.引言

本文主要講解如何搭建RTSP流媒體服務(wù)器的過程,使用開源項目ZLMediaKit。通過這個開源項目,推RTSP流到服務(wù)器,然后拉流端可以拉取RTSP、RTMP等流。

ZLMediaKit碼云鏈接:https://gitee.com/xia-chu/ZLMediaKit

ZLMediaKit的github鏈接:https://github.com/xiongziliang/ZLMediaKit

ZLMediaKit源碼圖片:

手把手搭建RTSP流媒體服務(wù)器

 

ZLMediaKit功能列表:

手把手搭建RTSP流媒體服務(wù)器

 


手把手搭建RTSP流媒體服務(wù)器

 

支持推流rtsp,推到zlmediak服務(wù)器,拉流可以拉取rtsp,rtmp,hls等。功能很多,而且這個流媒體服務(wù)器是支持h265。

 

1.安裝編譯器及其插件(如果有需要就安裝)

1.1ZLMediaKit采?了C++11的語法和庫,要求編譯器?持完整的C++11標(biāo)準(zhǔn),如下:

(1)linux上要求gcc 版本 >= 4.8(4.7應(yīng)該也能?持)。

(2)macOS上clang >= ???(我也不知道,估計?部分不會遇到這個問題)。

(3)windows 上visual stuido >= 2015(vs2013某些版本也能編譯通過,如果怕麻煩建議直接vs2017)。

 

1.2安裝編譯器

(1)如果你是debian系操作系統(tǒng)(包括ubuntu系?戶),?般?帶的gcc版本夠新,你可以這樣安裝gcc編譯器:

sudo apt-get install build-essential

(2)安裝cmake

ZLMediaKit采?cmake來構(gòu)建項?,通過cmake才能?成Makefile(或Xcode/VS?程),所以必須先安裝cmake才能完成后續(xù)步驟。

sudo apt-get install cmake

(3)依賴庫

ZLMediaKit可選依賴?些第三?庫,這些庫都不是必選的;在構(gòu)建ZLMediaKit時,cmake能查找系統(tǒng)路徑中的這些庫,并根據(jù)安裝情況選擇是否開啟相關(guān)特性,你可以選擇安裝這些依賴并啟?相關(guān)特性:

安裝openssl

flash player在播放rtmp時,采?的是復(fù)雜握?模式,如果不安裝該庫,flash player將播放不了zlmediakit 提供的rtmp url。同時ZLMediaKit的https/rtsps相關(guān)功能需要使?openssl才能開啟。

安裝ffmpeg

zlmediakit可以通過fork ffmpeg進(jìn)程的?式實現(xiàn)多種協(xié)議的拉流,編譯時不需要安裝FFmpeg。

安裝sdl、avcodec、avutil

這3個庫供ZLMediaKit的test_player測試程序使?,你通常不需要安裝這3個庫。

Debian系(包括ubuntu)系統(tǒng)下安裝其它依賴的?法:

注意:這個根據(jù)自己的實際情況去安裝,如果已經(jīng)安裝了就不用再安裝了。

sudo apt-get install libssl-dev

sudo apt-get install libsdl-dev

sudo apt-get install libavcodec-dev

sudo apt-get install libavutil-dev

sudo apt-get install ffmpeg

 

2.搭建RTSP流媒體服務(wù)器

(1)在如下目錄路徑,如下:

手把手搭建RTSP流媒體服務(wù)器

 

創(chuàng)建文件夾,輸入命令:

mkdir ZLMediaKit_Stream_Server

 

(2)在如下目錄路徑,如下:

手把手搭建RTSP流媒體服務(wù)器

 

國內(nèi)用戶,最好使用碼云連接,這樣會比較快,輸入下載命令:

git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit.git

下載界面如下:

手把手搭建RTSP流媒體服務(wù)器

 

下載完成后,這里會有個如下目錄自動生成,如下:

手把手搭建RTSP流媒體服務(wù)器

 

進(jìn)入ZLMediaKit的源碼目錄,輸入命令:

cd ZLMediaKit/

ZLMediaKit的源碼目錄,如下界面:

手把手搭建RTSP流媒體服務(wù)器

 

(3)在如下目錄和路徑:

手把手搭建RTSP流媒體服務(wù)器

 

查看分支,輸入命令:

git branch -a

界面如下:

手把手搭建RTSP流媒體服務(wù)器

 

(4)在如下目錄和路徑:

手把手搭建RTSP流媒體服務(wù)器

 

執(zhí)行一條非常重要的命令(下載組件),千萬不要忘記,如下:

git submodule update --init

克隆完成后,如下界面:

手把手搭建RTSP流媒體服務(wù)器

 

(5)下載的是第三方庫和組件(比如ffmpeg和rtmp等),進(jìn)入如下目錄和路徑:

手把手搭建RTSP流媒體服務(wù)器

 

(6)輸入如下命令,查看下載的文件,如下界面:

手把手搭建RTSP流媒體服務(wù)器

 


手把手搭建RTSP流媒體服務(wù)器

 

這里舉例說明下,如果需要參考rtp的使用,可以參考如下目錄的代碼。其它代碼也一樣可以參考。

手把手搭建RTSP流媒體服務(wù)器

 

這里還有些是實現(xiàn)了reactor模型、線程封裝(包括線程池)、工具,所以學(xué)習(xí)流媒體,后臺相關(guān)的知識也是要學(xué)習(xí)和使用。

手把手搭建RTSP流媒體服務(wù)器

 

(7)ZLMediaKit提供了多平臺的編譯版本,進(jìn)入如下目錄:

手把手搭建RTSP流媒體服務(wù)器

 

查看gcc的版本,輸入命令,如下:

gcc -v

查看版本號,界面如下:

手把手搭建RTSP流媒體服務(wù)器

 

注意:根據(jù)官網(wǎng)提示,只要這里的gcc版本大于4.8就可以,因為需要支持c++11版本。同樣的,macos、windows也是可以編譯。

 

(8)查看cmake版本:

手把手搭建RTSP流媒體服務(wù)器

 

使用cmake進(jìn)行編譯,在如下目錄:

手把手搭建RTSP流媒體服務(wù)器

 

(9)構(gòu)建工程,輸入如下命令:

mkdir build

cd build

進(jìn)入如下目錄,執(zhí)行命令:

cmake ..

如下界面:

手把手搭建RTSP流媒體服務(wù)器

 

編譯過程,如下界面:

手把手搭建RTSP流媒體服務(wù)器

 

編譯完成,如下界面:

手把手搭建RTSP流媒體服務(wù)器

 

(10)在如下目錄,輸入編譯命令:

make -j4

make過程,如下界面:

手把手搭建RTSP流媒體服務(wù)器

 


手把手搭建RTSP流媒體服務(wù)器

 

make完成,如下界面:

手把手搭建RTSP流媒體服務(wù)器

 

(11)進(jìn)入到如下目錄:

手把手搭建RTSP流媒體服務(wù)器

 

查看MediaServer相關(guān)的命令,輸入命令:

./MediaServer -h

如下界面:

手把手搭建RTSP流媒體服務(wù)器

 

(12)在相同目錄,使用前臺運(yùn)行,輸入如下命令:

./MediaServer

或守護(hù)進(jìn)程模式啟動

./MediaServer -d &

運(yùn)行成功界面如下:

手把手搭建RTSP流媒體服務(wù)器

 

注意:如果自己在配置的時候,端口被占用了,可以修改配置文件,在如下目錄,輸入命令,并修改:

修改配置文件:

vim config.ini

手把手搭建RTSP流媒體服務(wù)器

 

修改端口號,界面如下:

手把手搭建RTSP流媒體服務(wù)器

 

3.測試

(1)使用rtsp方式推流命令

推流h264

ffmpeg -re -i source.200kbps.768x320.flv -vcodec h264 -acodec aac -f rtsp -rtsp_transport tcp rtsp://172.16.204.139/live/test

推流h265

ffmpeg -re -i source.200kbps.768x320.flv -vcodec h265 -acodec aac -f rtsp -rtsp_transport tcp rtsp://172.16.204.139/live/test

(2)使用rtmp方式推流命令

#如果未安裝FFmpeg,你也可以?obs推流

ffmpeg -re -i source.200kbps.768x320.flv -vcodec h264 -acodec aac -f flv rtmp://172.16.204.139/live/test

# RTMP標(biāo)準(zhǔn)不?持H265,但是國內(nèi)有??擴(kuò)展的,如果你想讓FFmpeg?持RTMP-H265,請按照此?章編譯:

參考如下鏈接:

https://github.com/ksvc/FFmpeg/wiki/hevcpush

這個插件源碼也是非常值得學(xué)習(xí),界面如下:

手把手搭建RTSP流媒體服務(wù)器

 

(3)使用rtp方式推流命令

h264推流

ffmpeg -re -i source.200kbps.768x320.flv -vcodec h264 -acodec aac -f rtp_mpegts rtp://172.16.204.139:10000

h265推流

ffmpeg -re -i source.200kbps.768x320.flv -vcodec h265 -acodec aac -f rtp_mpegts rtp://172.16.204.139:10000

綜上,ZLMediakit是支持rtsp、rtp、rtmp推流的,其中rtsp、rtp協(xié)議均支持h264和h265,而rtmp標(biāo)準(zhǔn)僅僅支持h264,如果需要支持h265,那僅僅需要添加插件才行,上面已經(jīng)給出了鏈接地址。

 

其它平臺(本次使用ubuntn系統(tǒng))更詳細(xì)的搭建步驟,可以參考官網(wǎng)如下地址:

https://github.com/xia-chu/ZLMediaKit/wiki/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B

界面如下:

手把手搭建RTSP流媒體服務(wù)器

 

rtsp推流界面如下:

手把手搭建RTSP流媒體服務(wù)器

 

推流上來后,服務(wù)器響應(yīng)界面:

手把手搭建RTSP流媒體服務(wù)器

 

(4)使用ffplay拉流測試rtsp命令:

ffplay -rtsp_transport tcp rtsp://172.16.204.139/live/test

 

拉流測試rtsp結(jié)果界面:

手把手搭建RTSP流媒體服務(wù)器

 

(5)使用ffplay拉流測試rtmp命令:

ffplay rtmp://172.16.204.139/live/test

拉流測試rtmp結(jié)果界面:

手把手搭建RTSP流媒體服務(wù)器

 

服務(wù)器最終斷開的界面:

手把手搭建RTSP流媒體服務(wù)器

 

4.總結(jié)

本文主要講解如何搭建rtsp流媒體服務(wù)器,主要以ZLmeidakit為基礎(chǔ)進(jìn)行講解,是學(xué)習(xí)rtsp、rtp等協(xié)議的基礎(chǔ),希望能夠幫助到大家。歡迎關(guān)注,轉(zhuǎn)發(fā),點(diǎn)贊,收藏,分享,評論區(qū)討論。

后期關(guān)于項目的知識,會在微信公眾號上更新,如果想要學(xué)習(xí)項目,可以關(guān)注微信公眾號“記錄世界 from antonio”

分享到:
標(biāo)簽:流媒體 服務(wù)器
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定