乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      手把手搭建RTSP流媒體服務器

       copy_left 2020-11-13

      0.引言

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

      ZLMediaKit碼云鏈接:https:///xia-chu/ZLMediaKit

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

      ZLMediaKit源碼圖片:

      手把手搭建RTSP流媒體服務器

      ZLMediaKit功能列表:

      手把手搭建RTSP流媒體服務器
      手把手搭建RTSP流媒體服務器

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

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

      1.1ZLMediaKit采?了C++11的語法和庫,要求編譯器?持完整的C++11標準,如下:

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

      (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來構建項?,通過cmake才能?成Makefile(或Xcode/VS?程),所以必須先安裝cmake才能完成后續(xù)步驟。

      sudo apt-get install cmake

      (3)依賴庫

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

      安裝openssl

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

      安裝ffmpeg

      zlmediakit可以通過fork ffmpeg進程的?式實現(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流媒體服務器

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

      手把手搭建RTSP流媒體服務器

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

      mkdir ZLMediaKit_Stream_Server

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

      手把手搭建RTSP流媒體服務器

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

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

      下載界面如下:

      手把手搭建RTSP流媒體服務器

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

      手把手搭建RTSP流媒體服務器

      進入ZLMediaKit的源碼目錄,輸入命令:

      cd ZLMediaKit/

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

      手把手搭建RTSP流媒體服務器

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

      手把手搭建RTSP流媒體服務器

      查看分支,輸入命令:

      git branch -a

      界面如下:

      手把手搭建RTSP流媒體服務器

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

      手把手搭建RTSP流媒體服務器

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

      git submodule update --init

      克隆完成后,如下界面:

      手把手搭建RTSP流媒體服務器

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

      手把手搭建RTSP流媒體服務器

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

      手把手搭建RTSP流媒體服務器
      手把手搭建RTSP流媒體服務器

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

      手把手搭建RTSP流媒體服務器

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

      手把手搭建RTSP流媒體服務器

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

      手把手搭建RTSP流媒體服務器

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

      gcc -v

      查看版本號,界面如下:

      手把手搭建RTSP流媒體服務器

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

      (8)查看cmake版本:

      手把手搭建RTSP流媒體服務器

      使用cmake進行編譯,在如下目錄:

      手把手搭建RTSP流媒體服務器

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

      mkdir build

      cd build

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

      cmake ..

      如下界面:

      手把手搭建RTSP流媒體服務器

      編譯過程,如下界面:

      手把手搭建RTSP流媒體服務器

      編譯完成,如下界面:

      手把手搭建RTSP流媒體服務器

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

      make -j4

      make過程,如下界面:

      手把手搭建RTSP流媒體服務器
      手把手搭建RTSP流媒體服務器

      make完成,如下界面:

      手把手搭建RTSP流媒體服務器

      (11)進入到如下目錄:

      手把手搭建RTSP流媒體服務器

      查看MediaServer相關的命令,輸入命令:

      ./MediaServer -h

      如下界面:

      手把手搭建RTSP流媒體服務器

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

      ./MediaServer

      或守護進程模式啟動

      ./MediaServer -d &

      運行成功界面如下:

      手把手搭建RTSP流媒體服務器

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

      修改配置文件:

      vim config.ini

      手把手搭建RTSP流媒體服務器

      修改端口號,界面如下:

      手把手搭建RTSP流媒體服務器

      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標準不?持H265,但是國內(nèi)有??擴展的,如果你想讓FFmpeg?持RTMP-H265,請按照此?章編譯:

      參考如下鏈接:

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

      這個插件源碼也是非常值得學習,界面如下:

      手把手搭建RTSP流媒體服務器

      (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標準僅僅支持h264,如果需要支持h265,那僅僅需要添加插件才行,上面已經(jīng)給出了鏈接地址。

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

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

      界面如下:

      手把手搭建RTSP流媒體服務器

      rtsp推流界面如下:

      手把手搭建RTSP流媒體服務器

      推流上來后,服務器響應界面:

      手把手搭建RTSP流媒體服務器

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

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

      拉流測試rtsp結果界面:

      手把手搭建RTSP流媒體服務器

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

      ffplay rtmp://172.16.204.139/live/test

      拉流測試rtmp結果界面:

      手把手搭建RTSP流媒體服務器

      服務器最終斷開的界面:

      手把手搭建RTSP流媒體服務器

      4.總結

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多