国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

這篇具有很好參考價(jià)值的文章主要介紹了怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在流媒體日趨成熟的今天,大家每天都會(huì)刷大量視頻,又或者擁有一部手機(jī)就能遠(yuǎn)程查看家里的監(jiān)控;那作為新手的你,怎么從無到有打造自己的流媒體平臺(tái)呢?

這里我們選用wvp+ZLMediaKit開源平臺(tái),WEB VIDEO PLATFORM(wvp)是一個(gè)基于GB28181-2016標(biāo)準(zhǔn)實(shí)現(xiàn)的網(wǎng)絡(luò)視頻平臺(tái),支持NAT穿透,支持???、大華、宇視等品牌的IPC、NVR、DVR接入。支持國(guó)標(biāo)級(jí)聯(lián),支持rtsp/rtmp等視頻流轉(zhuǎn)發(fā)到國(guó)標(biāo)平臺(tái),支持rtsp/rtmp等推流轉(zhuǎn)發(fā)到國(guó)標(biāo)平臺(tái)。

一、準(zhǔn)備工作

1.安裝所需工具

maven(管理java代碼依賴)、ffmpeg、nodejs(版本根據(jù)自己項(xiàng)目的需要安裝,我本人安裝的是v16.15.0)、git工具、npm/yarn、IntelliJ IDEA(jdk我用的是1.8)、Visual Studio 2017(可根據(jù)個(gè)人情況下載不同版本,本人使用的是2017,windows最好也用這個(gè)版本)、Cmake、redis、mysql(工具本人用的是Navicat Premium 15);vue編輯器可自行選擇,我使用的是HBuilder X。

2.從github克隆zlm代碼

# 國(guó)內(nèi)用戶推薦從同步鏡像網(wǎng)站gitee下載 
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
# 千萬不要忘記執(zhí)行這句命令
git submodule update --init

3.同理克隆wvp代碼

git clone https://github.com/648540858/wvp-GB28181-pro.git

二、開始編譯工作

1.編譯前端代碼

前端代碼采用的是vue+element編寫,所以你如果想要深入學(xué)習(xí),可以相應(yīng)的去熟悉一下vue的語法和element的組件用法。

# 進(jìn)入前端目錄
cd wvp-GB28181-pro/web_src/
# 安裝依賴命令
npm --registry=https://registry.npm.taobao.org install
# 打包命令
npm run build
# 本地運(yùn)行命令
npm run dev
# 當(dāng)然,如果你喜歡用yarn,這里也可以換成yarn命令去操作,具體實(shí)現(xiàn)可以自行研究一下

2.編譯wvp

在編譯之前,我們需要對(duì)配置文件進(jìn)行配置,項(xiàng)目目錄如下所示:

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

項(xiàng)目文件目錄預(yù)覽

該項(xiàng)目數(shù)據(jù)庫(kù)在sql文件夾里,點(diǎn)擊打開之后就會(huì)看到一個(gè)sql文件。

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

數(shù)據(jù)庫(kù)文件

開發(fā)者可以自行導(dǎo)入數(shù)據(jù)庫(kù)里。隨著wvp版本更新,數(shù)據(jù)庫(kù)可能會(huì)有差異,具體以實(shí)際文件為準(zhǔn)。

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

數(shù)據(jù)庫(kù)表預(yù)覽(具體以新版本數(shù)據(jù)庫(kù)為準(zhǔn))

項(xiàng)目配置文件位于src\main\resources目錄下,如果開發(fā)者采用打包即用,不用指定配置文件的情況下,可以修改application-local.yml,如果指定其他配置文件,可以在application.yml里修改。

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

配置文件路徑預(yù)覽

注意,以下配置的操作都是在application-local.yml配置文件里完成。

(1)配置數(shù)據(jù)庫(kù)

spring:
    devtools:
        restart:
            additional-paths: src/main/java
    thymeleaf:
        cache: false
    # REDIS數(shù)據(jù)庫(kù)配置
    redis:
        # [必須修改] Redis服務(wù)器IP, REDIS安裝在本機(jī)的,使用127.0.0.1
        host: 127.0.0.1
        # [必須修改] 端口號(hào)
        port: 6379
        # [可選] 數(shù)據(jù)庫(kù) DB
        database: 6
        # [可選] 訪問密碼,若你的redis服務(wù)器沒有設(shè)置密碼,就不需要用密碼去連接
        password: 
        # [可選] 超時(shí)時(shí)間
        timeout: 10000
    # [可選] jdbc數(shù)據(jù)庫(kù)配置, 項(xiàng)目使用sqlite作為數(shù)據(jù)庫(kù),一般不需要配置
    datasource:
        # 使用mysql 打開23-28行注釋, 刪除29-36行
        #        name: eiot
        #        url: jdbc:sqlite::resource:wvp.sqlite
        #        username:
        #        password:
        #        type: com.alibaba.druid.pool.DruidDataSource
        #        driver-class-name:  org.sqlite.JDBC
        name: wvp
        url: jdbc:mysql://127.0.0.1:3306/wvp-1?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=UTC
        username: root
        password: root
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver

(2)配置server服務(wù)器啟動(dòng)端口

# [可選] WVP監(jiān)聽的HTTP端口, 網(wǎng)頁和接口調(diào)用都是這個(gè)端口
server:
    port: 18080

(3)28181服務(wù)配置

# 作為28181服務(wù)器的配置
sip:
     # [必須修改] 本機(jī)的IP,這里是我本地ip
    ip: 10.10.10.110
    # [可選] 28181服務(wù)監(jiān)聽的端口
    port: 6060
    # 根據(jù)國(guó)標(biāo)6.1.2中規(guī)定,domain宜采用ID統(tǒng)一編碼的前十位編碼。國(guó)標(biāo)附錄D中定義前8位為中心編碼(由省級(jí)、市級(jí)、區(qū)級(jí)、基層編號(hào)組成,參照GB/T 2260-2007)
    # 后兩位為行業(yè)編碼,定義參照附錄D.3
    # 3701020049標(biāo)識(shí)山東濟(jì)南歷下區(qū) 信息行業(yè)接入
    # [可選]
    domain: 4401020049
    # [可選]
    id: 44010200492000000001
    # [可選] 默認(rèn)設(shè)備認(rèn)證密碼,移除密碼將不進(jìn)行校驗(yàn)
    password: 1234567890

(4)zlm默認(rèn)服務(wù)器配置(wvp啟動(dòng)的時(shí)候會(huì)去尋找默認(rèn)的zlm服務(wù)器)

#zlm 默認(rèn)服務(wù)器配置
media:
    # [必須修改] zlm服務(wù)器唯一id,用于觸發(fā)hook時(shí)區(qū)別是哪臺(tái)服務(wù)器,general.mediaServerId
    id:
    # [必須修改] zlm服務(wù)器的內(nèi)網(wǎng)IP
    ip: 10.10.10.110
    # [可選] 返回流地址時(shí)的ip,置空使用 media.ip
    stream-ip:
    # [可選] wvp在國(guó)標(biāo)信令中使用的ip,此ip為攝像機(jī)可以訪問到的ip, 置空使用 media.ip
    sdp-ip:
    # [可選] zlm服務(wù)器的hook所使用的IP, 默認(rèn)使用sip.ip
    hook-ip:
    # [必須修改] zlm服務(wù)器的http.port
    http-port: 80
    # [可選] zlm服務(wù)器的http.sslport, 置空使用zlm配置文件配置
    http-ssl-port:
    # [可選] zlm服務(wù)器的rtmp.port, 置空使用zlm配置文件配置
    rtmp-port:
    # [可選] zlm服務(wù)器的rtmp.sslport, 置空使用zlm配置文件配置
    rtmp-ssl-port:
    # [可選] zlm服務(wù)器的 rtp_proxy.port, 置空使用zlm配置文件配置
    rtp-proxy-port:
    # [可選] zlm服務(wù)器的 rtsp.port, 置空使用zlm配置文件配置
    rtsp-port:
    # [可選] zlm服務(wù)器的 rtsp.sslport, 置空使用zlm配置文件配置
    rtsp-ssl-port:
    # [可選] 是否自動(dòng)配置ZLM, 如果希望手動(dòng)配置ZLM, 可以設(shè)為false, 不建議新接觸的用戶修改
    auto-config: true
    # [可選] zlm服務(wù)器的hook.admin_params=secret
    secret: hgfgfhky-m87t-p09u-ayth-u76tyred25cc
    # 啟用多端口模式, 多端口模式使用端口區(qū)分每路流,兼容性更好。 單端口使用流的ssrc區(qū)分, 點(diǎn)播超時(shí)建議使用多端口測(cè)試
    rtp:
        # [可選] 是否啟用多端口模式, 開啟后會(huì)在portRange范圍內(nèi)選擇端口用于媒體流傳輸
        enable: true
        # [可選] 在此范圍內(nèi)選擇端口用于媒體流傳輸, 必須提前在zlm上配置該屬性,不然自動(dòng)配置此屬性可能不成功
        port-range: 30000,30500 # 端口范圍
    # 錄像輔助服務(wù), 部署此服務(wù)可以實(shí)現(xiàn)zlm錄像的管理與下載, 0 表示不使用
    record-assist-port: 0

(5)其他配置(具體可根據(jù)業(yè)務(wù)自行調(diào)整)

# [根據(jù)業(yè)務(wù)需求配置]
user-settings:
    # 推流直播是否錄制
    record-push-live: true
    auto-apply-play: false
    # [可選] 部分設(shè)備需要擴(kuò)展SDP,需要打開此設(shè)置
    senior-sdp: false
    # 保存移動(dòng)位置歷史軌跡:true:保留歷史數(shù)據(jù),false:僅保留最后的位置(默認(rèn))
    save-position-history: false
    # 點(diǎn)播/錄像回放 等待超時(shí)時(shí)間,單位:毫秒
    play-timeout: 18000
    # 上級(jí)點(diǎn)播等待超時(shí)時(shí)間,單位:毫秒
    platform-play-timeout: 60000
    # 是否開啟接口鑒權(quán)
    interface-authentication: true
    # 接口鑒權(quán)例外的接口, 即不進(jìn)行接口鑒權(quán)的接口,盡量詳細(xì)書寫,盡量不用/**,至少兩級(jí)目錄
    interface-authentication-excludes:
        - /api/v1/**
    # 國(guó)標(biāo)是否錄制
    record-sip: true
    # 是否將日志存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù)
    logInDatebase: true
    # 使用推流狀態(tài)作為推流通道狀態(tài)
    use-pushing-as-status: true
    # 使用來源請(qǐng)求ip作為streamIp,當(dāng)且僅當(dāng)你只有zlm節(jié)點(diǎn)它與wvp在一起的情況下開啟
    use-source-ip-as-stream-ip: true
    # 國(guó)標(biāo)點(diǎn)播 按需拉流, true:有人觀看拉流,無人觀看釋放, false:拉起后不自動(dòng)釋放
    stream-on-demand: true
    # 推流鑒權(quán), 默認(rèn)開啟
    push-authority: true
    # 國(guó)標(biāo)級(jí)聯(lián)發(fā)流嚴(yán)格模式,嚴(yán)格模式會(huì)使用與sdp信息中一致的端口發(fā)流,端口共享media.rtp.port-range,這會(huì)損失一些性能,
    # 非嚴(yán)格模式使用隨機(jī)端口發(fā)流,性能更好, 默認(rèn)關(guān)閉
    gb-send-stream-strict: false
    # 設(shè)備上線時(shí)是否自動(dòng)同步通道
    sync-channel-on-device-online: false
    # 是否使用設(shè)備來源Ip作為回復(fù)IP, 不設(shè)置則為 false
    sip-use-source-ip-as-remote-address: false
    # 是否開啟sip日志
    sip-log: true
    # 自動(dòng)數(shù)據(jù)庫(kù)升級(jí),保證表結(jié)構(gòu)完整
    sync-db: false

(6)編譯wvp

啟動(dòng)IntelliJ IDEA,打開wvp項(xiàng)目,開始編譯??吹匠霈F(xiàn)這樣的界面,表明編譯并且運(yùn)行成功。

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

編譯wvp

3.編譯zlm

(1)打開安裝好的Cmake,選擇zlm項(xiàng)目所在位置,并且選擇你build項(xiàng)目時(shí)的位置,這里我們就放在同一目錄下,方便管理。

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

選擇項(xiàng)目目錄和build目錄

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

下一步,點(diǎn)擊Yes

(2)點(diǎn)擊Configure

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

(3)點(diǎn)擊Genrate,可以看到兩個(gè)步驟都提示成功了。

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

(4)選擇打開項(xiàng)目,就會(huì)自動(dòng)打開Visual Studio 2017

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?
怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

打開項(xiàng)目

(5)這里我們直接可以按下圖操作,你也可以選擇Release

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

選擇之后點(diǎn)擊本地Windows調(diào)試器

(6)這里編譯需要一定時(shí)間,耐心等待。

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

編譯成功

(7)出現(xiàn)編譯完成的提示后,去項(xiàng)目目錄下找到Debug目錄或者Release目錄。目錄位置位于release目錄下

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

zlm應(yīng)用程序入口目錄

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

最終應(yīng)用程序

(8)這里我們不能直接點(diǎn)擊MediaServer.exe,需要對(duì)其進(jìn)行配置,我們?cè)谏弦粋€(gè)目錄,會(huì)看到一個(gè)config.ini文件,打開并將它復(fù)制到MediaServer.exe所在目錄。當(dāng)然,你也可以直接打開MediaServer.exe,然后它也會(huì)在當(dāng)前目錄自動(dòng)生成一個(gè)config.ini文件,你打開config.ini進(jìn)去配置即可。

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

配置文件示例

(9)zlm配置文件詳細(xì)配置如下,開發(fā)者可根據(jù)自己的實(shí)際情況調(diào)整

#!!!!此配置文件為范例配置文件,意在告訴讀者,各個(gè)配置項(xiàng)的具體含義和作用,
#!!!!該配置文件在執(zhí)行cmake時(shí),會(huì)拷貝至release/${操作系統(tǒng)類型}/${編譯類型}(例如release/linux/Debug) 文件夾。
#!!!!該文件夾(release/${操作系統(tǒng)類型}/${編譯類型})同時(shí)也是可執(zhí)行程序生成目標(biāo)路徑,在執(zhí)行MediaServer進(jìn)程時(shí),它會(huì)默認(rèn)加載同目錄下的config.ini文件作為配置文件,
#!!!!你如果修改此范例配置文件(conf/config.ini),并不會(huì)被MediaServer進(jìn)程加載,因?yàn)镸ediaServer進(jìn)程默認(rèn)加載的是release/${操作系統(tǒng)類型}/${編譯類型}/config.ini。
#!!!!當(dāng)然,你每次執(zhí)行cmake,該文件確實(shí)會(huì)被拷貝至release/${操作系統(tǒng)類型}/${編譯類型}/config.ini,
#!!!!但是一般建議你直接修改release/${操作系統(tǒng)類型}/${編譯類型}/config.ini文件,修改此文件一般不起作用,除非你運(yùn)行MediaServer時(shí)使用-c參數(shù)指定到此文件。

[api]
#是否調(diào)試http api,啟用調(diào)試后,會(huì)打印每次http請(qǐng)求的內(nèi)容和回復(fù)
apiDebug=1
#一些比較敏感的http api在訪問時(shí)需要提供secret,否則無權(quán)限調(diào)用
#如果是通過127.0.0.1訪問,那么可以不提供secret
secret=hgfgfhky-m87t-p09u-ayth-u76tyred25cc
#截圖保存路徑根目錄,截圖通過http api(/index/api/getSnap)生成和獲取
snapRoot=./www/snap/
#默認(rèn)截圖圖片,在啟動(dòng)FFmpeg截圖后但是截圖還未生成時(shí),可以返回默認(rèn)的預(yù)設(shè)圖片
defaultSnap=./www/logo.png

[ffmpeg]
#FFmpeg可執(zhí)行程序路徑,支持相對(duì)路徑/絕對(duì)路徑
bin=/usr/bin/ffmpeg
#FFmpeg拉流再推流的命令模板,通過該模板可以設(shè)置再編碼的一些參數(shù)
cmd=%s -re -i %s -c:a aac -strict -2 -ar 44100 -ab 48k -c:v libx264 -f flv %s
#FFmpeg生成截圖的命令,可以通過修改該配置改變截圖分辨率或質(zhì)量
snap=%s -i %s -y -f mjpeg -t 0.001 %s
#FFmpeg日志的路徑,如果置空則不生成FFmpeg日志
#可以為相對(duì)(相對(duì)于本可執(zhí)行程序目錄)或絕對(duì)路徑
log=./ffmpeg/ffmpeg.log
# 自動(dòng)重啟的時(shí)間(秒), 默認(rèn)為0, 也就是不自動(dòng)重啟. 主要是為了避免長(zhǎng)時(shí)間ffmpeg拉流導(dǎo)致的不同步現(xiàn)象
restart_sec=0

#轉(zhuǎn)協(xié)議相關(guān)開關(guān);如果addStreamProxy api和on_publish hook回復(fù)未指定轉(zhuǎn)協(xié)議參數(shù),則采用這些配置項(xiàng)
[protocol]
#轉(zhuǎn)協(xié)議時(shí),是否開啟幀級(jí)時(shí)間戳覆蓋
modify_stamp=0
#轉(zhuǎn)協(xié)議是否開啟音頻
enable_audio=1
#添加acc靜音音頻,在關(guān)閉音頻時(shí),此開關(guān)無效
add_mute_audio=1
#推流斷開后可以在超時(shí)時(shí)間內(nèi)重新連接上繼續(xù)推流,這樣播放器會(huì)接著播放。
#置0關(guān)閉此特性(推流斷開會(huì)導(dǎo)致立即斷開播放器)
#此參數(shù)不應(yīng)大于播放器超時(shí)時(shí)間;單位毫秒
continue_push_ms=15000

#是否開啟轉(zhuǎn)換為hls
enable_hls=1
#是否開啟MP4錄制
enable_mp4=0
#是否開啟轉(zhuǎn)換為rtsp/webrtc
enable_rtsp=1
#是否開啟轉(zhuǎn)換為rtmp/flv
enable_rtmp=1
#是否開啟轉(zhuǎn)換為http-ts/ws-ts
enable_ts=1
#是否開啟轉(zhuǎn)換為http-fmp4/ws-fmp4
enable_fmp4=1

#是否將mp4錄制當(dāng)做觀看者
mp4_as_player=0
#mp4切片大小,單位秒
mp4_max_second=3600
#mp4錄制保存路徑
mp4_save_path=./www

#hls錄制保存路徑
hls_save_path=./www

###### 以下是按需轉(zhuǎn)協(xié)議的開關(guān),在測(cè)試ZLMediaKit的接收推流性能時(shí),請(qǐng)把下面開關(guān)置1
###### 如果某種協(xié)議你用不到,你可以把以下開關(guān)置1以便節(jié)省資源(但是還是可以播放,只是第一個(gè)播放者體驗(yàn)稍微差點(diǎn)),
###### 如果某種協(xié)議你想獲取最好的用戶體驗(yàn),請(qǐng)置0(第一個(gè)播放者可以秒開,且不花屏)
#hls協(xié)議是否按需生成,如果hls.segNum配置為0(意味著hls錄制),那么hls將一直生成(不管此開關(guān))
hls_demand=0
#rtsp[s]協(xié)議是否按需生成
rtsp_demand=0
#rtmp[s]、http[s]-flv、ws[s]-flv協(xié)議是否按需生成
rtmp_demand=0
#http[s]-ts協(xié)議是否按需生成
ts_demand=0
#http[s]-fmp4、ws[s]-fmp4協(xié)議是否按需生成
fmp4_demand=0

[general]
#是否啟用虛擬主機(jī)
enableVhost=0
#播放器或推流器在斷開后會(huì)觸發(fā)hook.on_flow_report事件(使用多少流量事件),
#flowThreshold參數(shù)控制觸發(fā)hook.on_flow_report事件閾值,使用流量超過該閾值后才觸發(fā),單位KB
flowThreshold=1024
#播放最多等待時(shí)間,單位毫秒
#播放在播放某個(gè)流時(shí),如果該流不存在,
#ZLMediaKit會(huì)最多讓播放器等待maxStreamWaitMS毫秒
#如果在這個(gè)時(shí)間內(nèi),該流注冊(cè)成功,那么會(huì)立即返回播放器播放成功
#否則返回播放器未找到該流,該機(jī)制的目的是可以先播放再推流
maxStreamWaitMS=15000
#某個(gè)流無人觀看時(shí),觸發(fā)hook.on_stream_none_reader事件的最大等待時(shí)間,單位毫秒
#在配合hook.on_stream_none_reader事件時(shí),可以做到無人觀看自動(dòng)停止拉流或停止接收推流
streamNoneReaderDelayMS=20000
#拉流代理時(shí)如果斷流再重連成功是否刪除前一次的媒體流數(shù)據(jù),如果刪除將重新開始,
#如果不刪除將會(huì)接著上一次的數(shù)據(jù)繼續(xù)寫(錄制hls/mp4時(shí)會(huì)繼續(xù)在前一個(gè)文件后面寫)
resetWhenRePlay=1
#合并寫緩存大小(單位毫秒),合并寫指服務(wù)器緩存一定的數(shù)據(jù)后才會(huì)一次性寫入socket,這樣能提高性能,但是會(huì)提高延時(shí)
#開啟后會(huì)同時(shí)關(guān)閉TCP_NODELAY并開啟MSG_MORE
mergeWriteMS=0
#服務(wù)器唯一id,用于觸發(fā)hook時(shí)區(qū)別是哪臺(tái)服務(wù)器,
#這里需要修改成自己定義的,your_server_id只是提示你是你自己服務(wù)器的id
#很多新手看都不看就原封不動(dòng)的使用
mediaServerId=your_server_id

#最多等待未初始化的Track時(shí)間,單位毫秒,超時(shí)之后會(huì)忽略未初始化的Track
wait_track_ready_ms=10000
#如果流只有單Track,最多等待若干毫秒,超時(shí)后未收到其他Track的數(shù)據(jù),則認(rèn)為是單Track
#如果協(xié)議元數(shù)據(jù)有聲明特定track數(shù),那么無此等待時(shí)間
wait_add_track_ms=3000
#如果track未就緒,我們先緩存幀數(shù)據(jù),但是有最大個(gè)數(shù)限制,防止內(nèi)存溢出
unready_frame_cache=100

[hls]
#hls寫文件的buf大小,調(diào)整參數(shù)可以提高文件io性能
fileBufSize=65536
#hls最大切片時(shí)間
segDur=2
#m3u8索引中,hls保留切片個(gè)數(shù)(實(shí)際保留切片個(gè)數(shù)大2~3個(gè))
#如果設(shè)置為0,則不刪除切片,而是保存為點(diǎn)播
segNum=3
#HLS切片從m3u8文件中移除后,繼續(xù)保留在磁盤上的個(gè)數(shù)
segRetain=5
#是否廣播 ts 切片完成通知
broadcastRecordTs=0
#直播hls文件刪除延時(shí),單位秒,issue: #913
deleteDelaySec=10
#是否保留hls文件,此功能部分等效于segNum=0的情況
#不同的是這個(gè)保留不會(huì)在m3u8文件中體現(xiàn)
#0為不保留,不起作用
#1為保留,則不刪除hls文件,如果開啟此功能,注意磁盤大小,或者定期手動(dòng)清理hls文件
segKeep=0

[hook]
#在推流時(shí),如果url參數(shù)匹對(duì)admin_params,那么可以不經(jīng)過hook鑒權(quán)直接推流成功,播放時(shí)亦然
#該配置項(xiàng)的目的是為了開發(fā)者自己調(diào)試測(cè)試,該參數(shù)暴露后會(huì)有泄露隱私的安全隱患
admin_params=secret=hgfgfhky-m87t-p09u-ayth-u76tyred25cc
#是否啟用hook事件,啟用后,推拉流都將進(jìn)行鑒權(quán)
enable=0
#播放器或推流器使用流量事件,置空則關(guān)閉
on_flow_report=https://127.0.0.1/index/hook/on_flow_report
#訪問http文件鑒權(quán)事件,置空則關(guān)閉鑒權(quán)
on_http_access=https://127.0.0.1/index/hook/on_http_access
#播放鑒權(quán)事件,置空則關(guān)閉鑒權(quán)
on_play=https://127.0.0.1/index/hook/on_play
#推流鑒權(quán)事件,置空則關(guān)閉鑒權(quán)
on_publish=https://127.0.0.1/index/hook/on_publish
#錄制mp4切片完成事件
on_record_mp4=https://127.0.0.1/index/hook/on_record_mp4
# 錄制 hls ts 切片完成事件
on_record_ts=https://127.0.0.1/index/hook/on_record_ts
#rtsp播放鑒權(quán)事件,此事件中比對(duì)rtsp的用戶名密碼
on_rtsp_auth=https://127.0.0.1/index/hook/on_rtsp_auth
#rtsp播放是否開啟專屬鑒權(quán)事件,置空則關(guān)閉rtsp鑒權(quán)。rtsp播放鑒權(quán)還支持url方式鑒權(quán)
#建議開發(fā)者統(tǒng)一采用url參數(shù)方式鑒權(quán),rtsp用戶名密碼鑒權(quán)一般在設(shè)備上用的比較多
#開啟rtsp專屬鑒權(quán)后,將不再觸發(fā)on_play鑒權(quán)事件
on_rtsp_realm=https://127.0.0.1/index/hook/on_rtsp_realm
#遠(yuǎn)程telnet調(diào)試鑒權(quán)事件
on_shell_login=https://127.0.0.1/index/hook/on_shell_login
#直播流注冊(cè)或注銷事件
on_stream_changed=https://127.0.0.1/index/hook/on_stream_changed
#無人觀看流事件,通過該事件,可以選擇是否關(guān)閉無人觀看的流。配合general.streamNoneReaderDelayMS選項(xiàng)一起使用
on_stream_none_reader=https://127.0.0.1/index/hook/on_stream_none_reader
#播放時(shí),未找到流事件,通過配合hook.on_stream_none_reader事件可以完成按需拉流
on_stream_not_found=https://127.0.0.1/index/hook/on_stream_not_found
#服務(wù)器啟動(dòng)報(bào)告,可以用于服務(wù)器的崩潰重啟事件監(jiān)聽
on_server_started=https://127.0.0.1/index/hook/on_server_started
#server?;钌蠄?bào)
on_server_keepalive=https://127.0.0.1/index/hook/on_server_keepalive
#發(fā)送rtp(startSendRtp)被動(dòng)關(guān)閉時(shí)回調(diào)
on_send_rtp_stopped=https://127.0.0.1/index/hook/on_send_rtp_stopped
#rtp server 超時(shí)未收到數(shù)據(jù)
on_rtp_server_timeout=https://127.0.0.1/index/hook/on_rtp_server_timeout

#hook api最大等待回復(fù)時(shí)間,單位秒
timeoutSec=10
#keepalive hook觸發(fā)間隔,單位秒,float類型
alive_interval=10.0
#hook通知失敗重試次數(shù),正整數(shù)。為0不重試,1時(shí)重試一次,以此類推
retry=1
#hook通知失敗重試延時(shí),單位秒,float型
retry_delay=3.0

[cluster]
#設(shè)置源站拉流url模板, 格式跟printf類似,第一個(gè)%s指定app,第二個(gè)%s指定stream_id,
#開啟集群模式后,on_stream_not_found和on_stream_none_reader hook將無效.
#溯源模式支持以下類型:
#rtmp方式: rtmp://127.0.0.1:1935/%s/%s
#rtsp方式: rtsp://127.0.0.1:554/%s/%s
#hls方式: http://127.0.0.1:80/%s/%s/hls.m3u8
#http-ts方式: http://127.0.0.1:80/%s/%s.live.ts
#支持多個(gè)源站,不同源站通過分號(hào)(;)分隔
origin_url=
#溯源總超時(shí)時(shí)長(zhǎng),單位秒,float型;假如源站有3個(gè),那么單次溯源超時(shí)時(shí)間為timeout_sec除以3
#單次溯源超時(shí)時(shí)間不要超過general.maxStreamWaitMS配置
timeout_sec=15
#溯源失敗嘗試次數(shù),-1時(shí)永久嘗試
retry_count=3

[http]
#http服務(wù)器字符編碼,windows上默認(rèn)gb2312
charSet=utf-8
#http鏈接超時(shí)時(shí)間
keepAliveSecond=30
#http請(qǐng)求體最大字節(jié)數(shù),如果post的body太大,則不適合緩存body在內(nèi)存
maxReqSize=40960
#404網(wǎng)頁內(nèi)容,用戶可以自定義404網(wǎng)頁
#notFound=<html><head><title>404 Not Found</title></head><body bgcolor="white"><center><h1>您訪問的資源不存在!</h1></center><hr><center>ZLMediaKit-4.0</center></body></html>
#http服務(wù)器監(jiān)聽端口
port=80
#http文件服務(wù)器根目錄
#可以為相對(duì)(相對(duì)于本可執(zhí)行程序目錄)或絕對(duì)路徑
rootPath=./www
#http文件服務(wù)器讀文件緩存大小,單位BYTE,調(diào)整該參數(shù)可以優(yōu)化文件io性能
sendBufSize=65536
#https服務(wù)器監(jiān)聽端口
sslport=443
#是否顯示文件夾菜單,開啟后可以瀏覽文件夾
dirMenu=1
#虛擬目錄, 虛擬目錄名和文件路徑使用","隔開,多個(gè)配置路徑間用";"隔開
#例如賦值為 app_a,/path/to/a;app_b,/path/to/b 那么
#訪問 http://127.0.0.1/app_a/file_a 對(duì)應(yīng)的文件路徑為 /path/to/a/file_a
#訪問 http://127.0.0.1/app_b/file_b 對(duì)應(yīng)的文件路徑為 /path/to/b/file_b
#訪問其他http路徑,對(duì)應(yīng)的文件路徑還是在rootPath內(nèi)
virtualPath=
#禁止后綴的文件使用mmap緩存,使用“,”隔開
#例如賦值為 .mp4,.flv
#那么訪問后綴為.mp4與.flv 的文件不緩存
forbidCacheSuffix=
#可以把http代理前真實(shí)客戶端ip放在http頭中:https://github.com/ZLMediaKit/ZLMediaKit/issues/1388
#切勿暴露此key,否則可能導(dǎo)致偽造客戶端ip
forwarded_ip_header=

[multicast]
#rtp組播截止組播ip地址
addrMax=239.255.255.255
#rtp組播起始組播ip地址
addrMin=239.0.0.0
#組播udp ttl
udpTTL=64

[record]
#mp4錄制或mp4點(diǎn)播的應(yīng)用名,通過限制應(yīng)用名,可以防止隨意點(diǎn)播
#點(diǎn)播的文件必須放置在此文件夾下
appName=record
#mp4錄制寫文件緩存,單位BYTE,調(diào)整參數(shù)可以提高文件io性能
fileBufSize=65536
#mp4點(diǎn)播每次流化數(shù)據(jù)量,單位毫秒,
#減少該值可以讓點(diǎn)播數(shù)據(jù)發(fā)送量更平滑,增大該值則更節(jié)省cpu資源
sampleMS=500
#mp4錄制完成后是否進(jìn)行二次關(guān)鍵幀索引寫入頭部
fastStart=0
#MP4點(diǎn)播(rtsp/rtmp/http-flv/ws-flv)是否循環(huán)播放文件
fileRepeat=0

[rtmp]
#rtmp必須在此時(shí)間內(nèi)完成握手,否則服務(wù)器會(huì)斷開鏈接,單位秒
handshakeSecond=15
#rtmp超時(shí)時(shí)間,如果該時(shí)間內(nèi)未收到客戶端的數(shù)據(jù),
#或者tcp發(fā)送緩存超過這個(gè)時(shí)間,則會(huì)斷開連接,單位秒
keepAliveSecond=15
#在接收rtmp推流時(shí),是否重新生成時(shí)間戳(很多推流器的時(shí)間戳著實(shí)很爛)
modifyStamp=0
#rtmp服務(wù)器監(jiān)聽端口
port=1935
#rtmps服務(wù)器監(jiān)聽地址
sslport=0

[rtp]
#音頻mtu大小,該參數(shù)限制rtp最大字節(jié)數(shù),推薦不要超過1400
#加大該值會(huì)明顯增加直播延時(shí)
audioMtuSize=600
#視頻mtu大小,該參數(shù)限制rtp最大字節(jié)數(shù),推薦不要超過1400
videoMtuSize=1400
#rtp包最大長(zhǎng)度限制,單位KB,主要用于識(shí)別TCP上下文破壞時(shí),獲取到錯(cuò)誤的rtp
rtpMaxSize=10
# rtp 打包時(shí),低延遲開關(guān),默認(rèn)關(guān)閉(為0),h264存在一幀多個(gè)slice(NAL)的情況,在這種情況下,如果開啟可能會(huì)導(dǎo)致畫面花屏
lowLatency=0

[rtp_proxy]
#導(dǎo)出調(diào)試數(shù)據(jù)(包括rtp/ps/h264)至該目錄,置空則關(guān)閉數(shù)據(jù)導(dǎo)出
dumpDir=
#udp和tcp代理服務(wù)器,支持rtp(必須是ts或ps類型)代理
port=10000
#rtp超時(shí)時(shí)間,單位秒
timeoutSec=15
#隨機(jī)端口范圍,最少確保36個(gè)端口
#該范圍同時(shí)限制rtsp服務(wù)器udp端口范圍
port_range=30000-35000
#rtp h264 負(fù)載的pt
h264_pt=98
#rtp h265 負(fù)載的pt
h265_pt=99
#rtp ps 負(fù)載的pt
ps_pt=96
#rtp opus 負(fù)載的pt
opus_pt=100

[rtc]
#rtc播放推流、播放超時(shí)時(shí)間
timeoutSec=15
#本機(jī)對(duì)rtc客戶端的可見ip,作為服務(wù)器時(shí)一般為公網(wǎng)ip,可有多個(gè),用','分開,當(dāng)置空時(shí),會(huì)自動(dòng)獲取網(wǎng)卡ip
#同時(shí)支持環(huán)境變量,以$開頭,如"$EXTERN_IP"; 請(qǐng)參考:https://github.com/ZLMediaKit/ZLMediaKit/pull/1786
externIP=
#rtc udp服務(wù)器監(jiān)聽端口號(hào),所有rtc客戶端將通過該端口傳輸stun/dtls/srtp/srtcp數(shù)據(jù),
#該端口是多線程的,同時(shí)支持客戶端網(wǎng)絡(luò)切換導(dǎo)致的連接遷移
#需要注意的是,如果服務(wù)器在nat內(nèi),需要做端口映射時(shí),必須確保外網(wǎng)映射端口跟該端口一致
port=8000
#rtc tcp服務(wù)器監(jiān)聽端口號(hào),在udp 不通的情況下,會(huì)使用tcp傳輸數(shù)據(jù)
#該端口是多線程的,同時(shí)支持客戶端網(wǎng)絡(luò)切換導(dǎo)致的連接遷移
#需要注意的是,如果服務(wù)器在nat內(nèi),需要做端口映射時(shí),必須確保外網(wǎng)映射端口跟該端口一致
tcpPort = 8000
#設(shè)置remb比特率,非0時(shí)關(guān)閉twcc并開啟remb。該設(shè)置在rtc推流時(shí)有效,可以控制推流畫質(zhì)
#目前已經(jīng)實(shí)現(xiàn)twcc自動(dòng)調(diào)整碼率,關(guān)閉remb根據(jù)真實(shí)網(wǎng)絡(luò)狀況調(diào)整碼率
rembBitRate=0
#rtc支持的音頻codec類型,在前面的優(yōu)先級(jí)更高
#以下范例為所有支持的音頻codec
preferredCodecA=PCMU,PCMA,opus,mpeg4-generic
#rtc支持的視頻codec類型,在前面的優(yōu)先級(jí)更高
#以下范例為所有支持的視頻codec
preferredCodecV=H264,H265,AV1,VP9,VP8

[srt]
#srt播放推流、播放超時(shí)時(shí)間,單位秒
timeoutSec=5
#srt udp服務(wù)器監(jiān)聽端口號(hào),所有srt客戶端將通過該端口傳輸srt數(shù)據(jù),
#該端口是多線程的,同時(shí)支持客戶端網(wǎng)絡(luò)切換導(dǎo)致的連接遷移
port=9000
#srt 協(xié)議中延遲緩存的估算參數(shù),在握手階段估算rtt ,然后latencyMul*rtt 為最大緩存時(shí)長(zhǎng),此參數(shù)越大,表示等待重傳的時(shí)長(zhǎng)就越大
latencyMul=4
#包緩存的大小
pktBufSize=8192


[rtsp]
#rtsp專有鑒權(quán)方式是采用base64還是md5方式
authBasic=0
#rtsp拉流、推流代理是否是直接代理模式
#直接代理后支持任意編碼格式,但是會(huì)導(dǎo)致GOP緩存無法定位到I幀,可能會(huì)導(dǎo)致開播花屏
#并且如果是tcp方式拉流,如果rtp大于mtu會(huì)導(dǎo)致無法使用udp方式代理
#假定您的拉流源地址不是264或265或AAC,那么你可以使用直接代理的方式來支持rtsp代理
#如果你是rtsp推拉流,但是webrtc播放,也建議關(guān)閉直接代理模式,
#因?yàn)橹苯哟頃r(shí),rtp中可能沒有sps pps,會(huì)導(dǎo)致webrtc無法播放; 另外webrtc也不支持Single NAL Unit Packets類型rtp
#默認(rèn)開啟rtsp直接代理,rtmp由于沒有這些問題,是強(qiáng)制開啟直接代理的
directProxy=1
#rtsp必須在此時(shí)間內(nèi)完成握手,否則服務(wù)器會(huì)斷開鏈接,單位秒
handshakeSecond=15
#rtsp超時(shí)時(shí)間,如果該時(shí)間內(nèi)未收到客戶端的數(shù)據(jù),
#或者tcp發(fā)送緩存超過這個(gè)時(shí)間,則會(huì)斷開連接,單位秒
keepAliveSecond=15
#rtsp服務(wù)器監(jiān)聽地址
port=554
#rtsps服務(wù)器監(jiān)聽地址
sslport=0
#rtsp 轉(zhuǎn)發(fā)是否使用低延遲模式,當(dāng)開啟時(shí),不會(huì)緩存rtp包,來提高并發(fā),可以降低一幀的延遲
lowLatency=0
[shell]
#調(diào)試telnet服務(wù)器接受最大bufffer大小
maxReqSize=1024
#調(diào)試telnet服務(wù)器監(jiān)聽端口
port=0

(10)點(diǎn)擊MediaServer.exe啟動(dòng)zlm,出現(xiàn)如下界面,說明啟動(dòng)成功。

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

4.運(yùn)行前端程序

(1)編譯程序

# 進(jìn)入前端目錄
cd wvp-GB28181-pro/web_src/
怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

這里幾乎不需要修改,也可以自行根據(jù)實(shí)際情況修改

(2)運(yùn)行程序

# 本地運(yùn)行命令
npm run dev
怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

出現(xiàn)這樣的提示說明運(yùn)行成功

(3)出現(xiàn)上圖的提示說明成功,在瀏覽器輸入http://127.0.0.1:8082,即可訪問前端頁面

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

用戶登錄

(4)主頁看板展示

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

三、設(shè)備接入

(1)這里我們以大華攝像頭為例

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

攝像頭配置界面

(2)編輯好相應(yīng)參數(shù)后,點(diǎn)擊確定即可注冊(cè)到平臺(tái)。

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

設(shè)備注冊(cè)上平臺(tái)

(3)點(diǎn)播設(shè)備,測(cè)試是否正常拉流

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

通道信息

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

實(shí)際拉流效果

到這里zlm+wvp流媒體平臺(tái)搭建教程就結(jié)束了,對(duì)于新手的開發(fā)者,可以讓他們少走不少?gòu)澛?,好將更多的時(shí)間用在二次開發(fā)和產(chǎn)品打磨上。本文不足和沒有涉及到的地方,歡迎留言指正!

最后附上我在此框架上二次開發(fā)的項(xiàng)目截圖,目前已經(jīng)運(yùn)用在實(shí)際項(xiàng)目中,有相關(guān)經(jīng)驗(yàn)開發(fā)者的可以留言交流。

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

首頁看板

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

視頻監(jiān)控

怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?

系統(tǒng)運(yùn)行情況

ps:最后感謝zlm框架和wvp框架作者,提供這么好的開源框架~文章來源地址http://www.zghlxwxcb.cn/news/detail-433752.html

到了這里,關(guān)于怎樣從一個(gè)新手,實(shí)現(xiàn)windows搭建wvp+zlm流媒體平臺(tái)?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【流媒體視頻監(jiān)控平臺(tái)開發(fā)wvp-GB28181-pro】

    【流媒體視頻監(jiān)控平臺(tái)開發(fā)wvp-GB28181-pro】

    1.原有視頻監(jiān)控,基于海康、大華web控件和SDK 2.開源wvp-GB28181-pro gitee地址:https://gitee.com/pan648540858/wvp-GB28181-pro.git B站大佬北小菜:https://space.bilibili.com/487906612 ZLMediaKit簡(jiǎn)單介紹 視頻監(jiān)控平臺(tái)工作流程 登陸 點(diǎn)擊對(duì)應(yīng)監(jiān)控通道 訪問ZLMediaKit,進(jìn)行拉流推流 無人訪問時(shí)ZLMediaKit斷開

    2024年02月06日
    瀏覽(24)
  • Monibucav4(開源流媒體服務(wù)器)在Windows上搭建rtmp服務(wù)器并實(shí)現(xiàn)拉取rtsp視頻流以及轉(zhuǎn)換flv播放

    Monibucav4(開源流媒體服務(wù)器)在Windows上搭建rtmp服務(wù)器并實(shí)現(xiàn)拉取rtsp視頻流以及轉(zhuǎn)換flv播放

    開源流媒體服務(wù)器ZLMediaKit在Windows上運(yùn)行、配置、按需拉流拉取攝像頭rtsp視頻流)并使用http-flv網(wǎng)頁播放: 開源流媒體服務(wù)器ZLMediaKit在Windows上運(yùn)行、配置、按需拉流拉取攝像頭rtsp視頻流)并使用http-flv網(wǎng)頁播放_(tái)srs按需拉流_霸道流氓氣質(zhì)的博客-CSDN博客 上面講了ZLMediaKit的使用流

    2024年02月11日
    瀏覽(32)
  • 怎樣自己制作一個(gè)小程序?新手必知流程!

    怎樣自己制作一個(gè)小程序?新手必知流程!

    ?隨著市場(chǎng)需求的變化.不斷成長(zhǎng)的微信平臺(tái).隨著周邊小程序等功能的發(fā)布,商店公司開發(fā)小程序已經(jīng)成為一種趨勢(shì)。但是對(duì)于怎樣自己制作一個(gè)小程序,很多賣家公司還是“新手”,不明白應(yīng)該使用什么微信小程序開發(fā)和制作工具?我不知道這個(gè)小程序開發(fā)了多少錢?今天為

    2024年02月16日
    瀏覽(17)
  • Windows上搭建Nginx-http-flv實(shí)現(xiàn)rtsp視頻流推流到rtmp流媒體服務(wù)器并轉(zhuǎn)換和前端拉取http-flv視頻流

    Windows上搭建Nginx-http-flv實(shí)現(xiàn)rtsp視頻流推流到rtmp流媒體服務(wù)器并轉(zhuǎn)換和前端拉取http-flv視頻流

    Nginx-http-flv-module流媒體服務(wù)器搭建+模擬推流+flv.js在前端html和Vue中播放HTTP-FLV視頻流: Nginx-http-flv-module流媒體服務(wù)器搭建+模擬推流+flv.js在前端html和Vue中播放HTTP-FLV視頻流_霸道流氓氣質(zhì)的博客-CSDN博客 Windows上搭建Nginx RTMP服務(wù)器并使用FFmpeg實(shí)現(xiàn)本地視頻推流: Vue中使用vue-vi

    2024年02月15日
    瀏覽(25)
  • Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

    Windows上搭建rtsp-simple-server流媒體服務(wù)器實(shí)現(xiàn)rtsp、rtmp等推流以及轉(zhuǎn)流、前端html與Vue中播放hls(m3u8)視頻流

    Nginx-http-flv-module流媒體服務(wù)器搭建+模擬推流+flv.js在前端html和Vue中播放HTTP-FLV視頻流: Nginx-http-flv-module流媒體服務(wù)器搭建+模擬推流+flv.js在前端html和Vue中播放HTTP-FLV視頻流_霸道流氓氣質(zhì)的博客-CSDN博客 上面講了Nginx-http-flv-module+flv.js進(jìn)行流媒體服務(wù)器搭建和前端播放視頻流的過

    2024年02月01日
    瀏覽(24)
  • Windows基于Nginx搭建RTMP流媒體服務(wù)器(附帶所有組件下載地址及驗(yàn)證方法)

    Windows基于Nginx搭建RTMP流媒體服務(wù)器(附帶所有組件下載地址及驗(yàn)證方法)

    RTMP服務(wù)時(shí)常用于直播時(shí)提供拉流推流傳輸數(shù)據(jù)的一種服務(wù)。前段時(shí)間由于朋友想搭建一套直播時(shí)提供穩(wěn)定數(shù)據(jù)傳輸?shù)姆?wù)器,所以就研究了一下如何搭建及使用。 首先我們要知道一般nginx不能直接配置rtmp服務(wù),在Windows系統(tǒng)上需要特殊nginx版本才能進(jìn)行搭建 : nginx 1.7.11.3 Gryp

    2024年02月02日
    瀏覽(25)
  • 基于Nginx+rtmp搭建支持hls協(xié)議的點(diǎn)播流媒體服務(wù)器(windows/Linux)

    基于Nginx+rtmp搭建支持hls協(xié)議的點(diǎn)播流媒體服務(wù)器(windows/Linux)

    前言:公司最近因?yàn)榭蛻舳艘曨l文件過大導(dǎo)致視頻加載時(shí)間很長(zhǎng),讓我將視頻播放做成流媒體點(diǎn)播的形式,于是查閱了幾十篇相關(guān)文章以及文檔,最終將功能實(shí)現(xiàn)。可能是存在版本差異,絕大部分文章介紹的教程并不能成功實(shí)施,尤其是點(diǎn)播功能,所以我把我工作中驗(yàn)證成功

    2024年02月02日
    瀏覽(20)
  • 怎樣用Python搭建一個(gè)管理系統(tǒng)

    怎樣用Python搭建一個(gè)管理系統(tǒng)

    最近有不少小伙伴問我,Python 怎么學(xué),我的統(tǒng)一回答:就是實(shí)戰(zhàn),多練。無論做什么,都逃不過熟能生巧。其次就是從自己的興趣出發(fā),做一些實(shí)戰(zhàn)小項(xiàng)目。往往一些小項(xiàng)目都藏著很多基礎(chǔ),這周在家閑著的時(shí)候給大家用Python寫了一個(gè)疫苗管理系統(tǒng)的小項(xiàng)目。很適合新手練習(xí)

    2024年02月10日
    瀏覽(17)
  • 使用EasyDarwin + ffmpeg 搭建流媒體服務(wù)器,實(shí)現(xiàn)多臺(tái)智能電視同步播放宣傳視頻

    使用EasyDarwin + ffmpeg 搭建流媒體服務(wù)器,實(shí)現(xiàn)多臺(tái)智能電視同步播放宣傳視頻

    近期單位用戶提出需求,需要在單位內(nèi)部的9臺(tái)安卓智能電視(小米電視)上同步播放用戶提供的宣傳視頻,希望能夠做到所有電視音視頻同步播放(電視均位于食堂內(nèi)部,使用內(nèi)置揚(yáng)聲器,各電視間音頻延遲不同會(huì)導(dǎo)致混響) 。 由于電視在安裝時(shí)只預(yù)留了電源線,使用HDM

    2024年02月10日
    瀏覽(107)
  • 新手利用hexo在Gitee搭建第一個(gè)博客網(wǎng)站(2023巨細(xì))

    新手利用hexo在Gitee搭建第一個(gè)博客網(wǎng)站(2023巨細(xì))

    在Gitee搭建個(gè)人博客網(wǎng)站之前我們需要做一些準(zhǔn)備:注冊(cè)好Gitee,安裝visual studio code(功能齊全,實(shí)用),安裝node.js。 這些我都會(huì)一 一介紹。 Gitee是開源中國(guó)(OSChina)推出的基于Git的一款開源的源代碼管理和協(xié)作平臺(tái),類似于GitHub和GitLab。Gitee提供了Git倉(cāng)庫(kù)托管、代碼托管、代

    2024年02月09日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包