0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

華為云 Flexus X 實例 docker 部署 srs6 并調(diào)優(yōu),協(xié)議使用 webrtc 與 rtmp

jf_94205927 ? 來源:jf_94205927 ? 作者:jf_94205927 ? 2024-12-31 15:40 ? 次閱讀

·華為云最近正在舉辦 828 B2B 企業(yè)節(jié),F(xiàn)lexus X 實例的促銷力度非常大,特別適合那些對算力性能有高要求的小伙伴。如果你有自建 MySQL、Redis、Nginx 等服務(wù)的需求,一定不要錯過這個機會。趕緊去看看吧!

什么是華為云 Flexus X 實例

·華為云 Flexus X 實例云服務(wù)是新一代開箱即用、體驗躍級、面向中小企業(yè)和開發(fā)者打造的高品價比云服務(wù)產(chǎn)品。

·Flexus 云服務(wù)器 X 實例是新一代面向中小企業(yè)和開發(fā)者打造的柔性算力云服務(wù)器,可智能感知業(yè)務(wù)負載,適用于電商直播、企業(yè)建站、開發(fā)測試環(huán)境、游戲服務(wù)器、音視頻服務(wù)等中低負載場景。

開始接觸華為云 Flexus X 實例

·獲取華為云 Flexus X 實例后第一步就是先去華為云上重置服務(wù)器密碼

wKgZO2dzoAWAS95dAAD1pSqJWDg800.png

wKgZPGdzoAaABkpXAADlkKMdxXg458.png

·重置完畢后用 ssh 工具登錄華為云服務(wù)器,這里我用的是 finalshell,也可以用其他工具登陸比如 xshell 或者 Putty 都可以

wKgZO2dzoAaAFSPHAAOwTeRrKF0900.png

·登錄上去查看硬盤大小,可以看到是 100g 硬盤,硬盤總大小是正常的

root@flexusx-ebe8:~# df -h

Filesystem Size Used Avail Use% Mounted on

tmpfs 1.2G 1.1M 1.2G 1% /run

/dev/vda1 99G 4.2G 90G 5% /

tmpfs 5.7G 0 5.7G 0% /dev/shm

tmpfs 5.0M 0 5.0M 0% /run/lock

tmpfs 1.2G 4.0K 1.2G 1% /run/user/0

·然后輸入 ufw status 可以看到默認防火墻是關(guān)閉的,因此我們就不需要額外再去配置端口開放相關(guān)的配置,只要在華為云安全組配置端口開放就可以了

root@flexusx-ebe8:~# ufw status

Status: inactive

docker 環(huán)境的安裝

·然后進行 docker 容器的安裝,安裝最新版本的 docker

·這里因為 docker 現(xiàn)在已經(jīng)無法直接通過網(wǎng)絡(luò)安裝,所以我們通過離線安裝的方式安裝 docker 環(huán)境

·從官網(wǎng)下載離線包

https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/

wKgZPGdzoAaALoA7AAOKLKu29wk476.png

·如圖所示,把離線包傳到服務(wù)器上,進行安裝

dpkg -i *.deb

·查看安裝的 docker 版本

root@flexusx-ebe8:/home/docker# docker -v

Docker version 27.1.2, build d01f264

·至此 docker 容器環(huán)境安裝完畢

srs 相關(guān)

什么是 srs

·SRS 的全稱為 Simple Realtime Server,是一個開源的(MIT 協(xié)議)簡單高效的實時視頻服務(wù)器,支持 RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH 和 GB28181 等協(xié)議。 SRS 媒體服務(wù)器和 FFmpeg、OBS、VLC、 WebRTC 等客戶端配合使用,提供流的接收和分發(fā)的能力,是一個典型的發(fā)布 (推流)和訂閱(播放)服務(wù)器模型。

開始安裝 srs

·先配置 CANDIDATE="127.0.0.1",這里配置為外網(wǎng) ip,也就是華為云提供的彈性公網(wǎng) ip

·然后用 docker 啟動 srs

·使用的版本為 srs6 的 release 版本

docker run -it -d -p 1935:1935 -p 1985:1985 -p 8080:8080 -p 1990:1990 -p 8088:8088 --restart=always --env CANDIDATE=$CANDIDATE -p 8000:8000/udp ossrs/srs:6 ./objs/srs -c conf/https.docker.conf

·輸入 docker ps 查看容器運行狀態(tài)

wKgZO2dzoAeAKdUzAAMfy3u2OmU700.png

修改配置文件以支持 webrtc 與 rtmp

·但是這個版本啟動后只支持 webrtc 但還不能與 rtmp 互相轉(zhuǎn)換,這里我們就需要修改一下配置文件,讓它也支持與 rtmp 相互轉(zhuǎn)換

·輸入 docker ps 獲取容器 id

wKgZPGdzoAeAVZ3LAAJHN-0KARY746.png

·然后輸入 docker exec -it 30d26105d002 /bin/bash 進入容器,這里的容器 id 換成你剛才獲取的 id

root@30d26105d002:/usr/local/srs# ls

conf etc objs usr

root@30d26105d002:/usr/local/srs#

·進入容器后可以看到,默認的文件夾在/usr/local/srs 中,我們進入 conf 文件夾 cd conf

·可以看到有很多配置文件,里面也有我們剛才 docker 容器啟動時指定的配置文件 https.docker.conf

wKgZO2dzoAeAYaUtAAPpdxS58VQ934.png

·然后我們輸入 exit,退出容器,mkdir -p /usr/local/srs/conf 創(chuàng)建目錄,然后把容器內(nèi)的配置文件 copy 出來,然后進入剛才創(chuàng)建好的文件夾 cd /usr/local/srs/conf然后執(zhí)行 docker cp 30d26105d002:/usr/local/srs/conf/https.docker.conf https.docker.conf,可以在本地獲取我們需要的 https.docker.conf 文件,然后開始修改

wKgZPGdzoAeAR8KiAADS5xRv2WA891.png

vhost __defaultVhost__ {

hls {

enabled on;

}

http_remux {

enabled on;

mount [vhost]/[app]/[stream].flv;

}

rtc {

enabled on;

# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc

rtmp_to_rtc on;

# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp

rtc_to_rtmp on;

}

}

·把兩個 off 修改為 on 即可

·配置文件修改好后,我們還需要把文件放進去,這里我們把改好的配置文件映射到容器內(nèi)部,來達到我們想要的效果

重新部署 srs 容器并啟動

·之前部署的 srs 服務(wù)還啟動著,我們需要先停止服務(wù),重新起一個新的,docker stop 30d26105d002,然后 docker rm 30d26105d002,停止容器,然后刪除容器

·重新運行指令,并附上掛載的命令

docker run -it -d -v /usr/local/srs/conf/https.docker.conf:/usr/local/srs/conf/https.docker.conf -p 1935:1935 -p 1985:1985 -p 8080:8080 -p 1990:1990 -p 8088:8088 --restart=always --env CANDIDATE=$CANDIDATE -p 8000:8000/udp ossrs/srs:6 ./objs/srs -c conf/https.docker.conf

·查看 docker ps 可以看到容器正常運行著,這就代表著 srs 服務(wù)已經(jīng)部署完畢了

配置 Flexus 云服務(wù)器 X 實例安全組

·經(jīng)過上面部署 srs 服務(wù),這時候服務(wù)是已經(jīng)部署完畢了,但是我們還沒法通過外網(wǎng)進行訪問,還需要對 Flexus 云服務(wù)器 X 安全組的配置進行修改

·進入安全組的配置頁面

wKgZO2dzoAiABucmAAE2Q0GYqBw109.png

·新建安全組

wKgZPGdzoAiAA0PQAADyoen2rck221.png

wKgZO2dzoAiAGhKtAAC-fXicE9I401.png

wKgZPGdzoAiAHQ2EAACLiGUum-Q480.png

·這里我們開放 1985,1935,8080,8088,1990,8000,這些端口,其中 8000 一定是自定義 udp 協(xié)議,其他都是 tcp,這點非常重要

·然后加入新建的安全組

wKgZO2dzoAmAaGwlAAD4ezswvU4426.png

·這樣我們的實例的端口也就開放成功了

srs 功能測試

srs 服務(wù)器監(jiān)控

·部署完畢 srs 后,開始對 srs 進行功能測試

·輸入網(wǎng)址進行訪問,https://ip:8088

wKgZPGdzoAmAXptFAAHU9L7K-N0081.png

·點擊 SRS 控制臺,連接 srs

wKgZO2dzoAmAFVsLAABxeUosZ3U345.png

·服務(wù)器 ip 填彈性公網(wǎng) ip,然后端口填 1990,點擊連接到 SRS,就可以看到服務(wù)器的運行狀態(tài)與 srs 的運行狀態(tài),以及負載網(wǎng)速 cpu 磁盤等各種信息

wKgZPGdzoAmARuA8AAD03edW3kY121.png

webrtc 推拉流測試

·輸入網(wǎng)址https://ossrs.net/srs.release/releases/app.html,選擇實用工具中的 webrtc 播放器

wKgZO2dzoAqAYfyOAAEVG3qQYoE517.png

·推流配置,把端口改為 1990,這是 https 的端口,然后再把地址復(fù)制到播流那邊,就可以看到攝像頭的畫面了

·推流上去

wKgZPGdzoAqAc7CxAAEOOfCowZI170.png

·拉流直播

wKgZO2dzoAqAcDW_AAD-yQENnWs706.png

·這里我測了蘋果手機去商店下載谷歌瀏覽器后,谷歌瀏覽器也可是可以播放的

rtmp 推流

·rtmp 推流,我一般是使用 ffmpeg,指令為 ffmpeg -re -i test.mp4 -vcodec h264 -c copy -f flv rtmp://彈性公網(wǎng) ip:1935/live/live200,然后同樣的可以用 rtc 播放器播放,這就是 rtmp 轉(zhuǎn) webrtc 的效果

SRS 性能優(yōu)化

·對 srs 的優(yōu)化,因為 webrtc 是使用的 udp 緩存,因此 linux 的 udp 緩存參數(shù)得增大,不然會因為本地 udp 緩存不夠大,連本地上傳的緩存都不夠,導(dǎo)致掉幀。

# vi /etc/sysctl.conf

net.core.rmem_max=16777216

net.core.rmem_default=16777216

net.core.wmem_max=16777216

net.core.wmem_default=16777216

歡迎大家一起加入華為云!

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    472

    瀏覽量

    11865
  • 華為云
    +關(guān)注

    關(guān)注

    3

    文章

    2566

    瀏覽量

    17461
收藏 人收藏

    評論

    相關(guān)推薦

    華為 Flexus X 實例 docker 部署 Rocket.Chat 構(gòu)建屬于自己的團隊通訊協(xié)作平臺

    ·?華為最近正在舉辦 828 B2B 企業(yè)節(jié),Flexus X 實例的促銷力度非常大,特別適合那些對算力性能有高要求的小伙伴。如果你有自建
    的頭像 發(fā)表于 01-03 09:26 ?89次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b> <b class='flag-5'>docker</b> <b class='flag-5'>部署</b> Rocket.Chat 構(gòu)建屬于自己的團隊通訊協(xié)作平臺

    華為 Flexus?X 實例 docker 部署 ERPnext 構(gòu)建屬于自己的企業(yè)資源規(guī)劃系統(tǒng)

    ·?華為最近正在舉辦 828?B2B 企業(yè)節(jié),Flexus?X 實例的促銷力度非常大,特別適合那些對算力性能有高要求的小伙伴。如果你有自建
    的頭像 發(fā)表于 01-03 09:24 ?80次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b>?<b class='flag-5'>X</b> <b class='flag-5'>實例</b> <b class='flag-5'>docker</b> <b class='flag-5'>部署</b> ERPnext 構(gòu)建屬于自己的企業(yè)資源規(guī)劃系統(tǒng)

    華為 Flexus X 實例 docker 部署 rancher 構(gòu)建 k8s 集群

    ·?華為最近正在舉辦 828 B2B 企業(yè)節(jié),Flexus X 實例的促銷力度非常大,特別適合那些對算力性能有高要求的小伙伴。如果你有自建
    的頭像 發(fā)表于 01-02 13:44 ?38次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b> <b class='flag-5'>docker</b> <b class='flag-5'>部署</b> rancher <b class='flag-5'>并</b>構(gòu)建 k8s 集群

    華為 Flexus X 實例部署安裝 Jupyter Notebook,學(xué)習(xí) AI,機器學(xué)習(xí)算法

    的,由于華為 Flexus X 實例做了很多底層的性能優(yōu)化,依托創(chuàng)新的大模型支持和智能全域調(diào)度,X
    的頭像 發(fā)表于 01-02 13:43 ?64次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b><b class='flag-5'>部署</b>安裝 Jupyter Notebook,學(xué)習(xí) AI,機器學(xué)習(xí)算法

    華為 FlexusX 實例上實現(xiàn) Docker 容器的實時監(jiān)控與可視化分析

    華為Flexus服務(wù)器X實例 ? 原生命令 查看正在運行的容器 [root@flexu
    的頭像 發(fā)表于 01-02 13:42 ?41次閱讀
    在<b class='flag-5'>華為</b><b class='flag-5'>云</b> FlexusX <b class='flag-5'>實例</b>上實現(xiàn) <b class='flag-5'>Docker</b> 容器的實時監(jiān)控與可視化分析

    華為 Flexus 服務(wù)器 X 實例部署 Note Mark 筆記工具

    前言 華為 Flexus 服務(wù)器 X 實例作為專為中小企業(yè)和開發(fā)者設(shè)計的新一代柔性算力
    的頭像 發(fā)表于 01-02 13:42 ?32次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b>服務(wù)器 <b class='flag-5'>X</b> <b class='flag-5'>實例</b><b class='flag-5'>部署</b> Note Mark 筆記工具

    華為 Flexus 服務(wù)器 X 實例Docker 環(huán)境下部署 JmalCloud 個人網(wǎng)盤

    前言 華為 Flexus 服務(wù)器 X 實例是專為中小企業(yè)和開發(fā)者設(shè)計的新一代柔性算力
    的頭像 發(fā)表于 01-02 13:41 ?40次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b>服務(wù)器 <b class='flag-5'>X</b> <b class='flag-5'>實例</b>之 <b class='flag-5'>Docker</b> 環(huán)境下<b class='flag-5'>部署</b> JmalCloud 個人網(wǎng)盤

    華為 Flexus X 實例 docker 部署最新 gitlab 社區(qū)版,搭建自己的私人代碼倉庫

    ·?華為最近正在舉辦 828 B2B 企業(yè)節(jié),Flexus X 實例的促銷力度非常大,特別適合那些對算力性能有高要求的小伙伴。如果你有自建
    的頭像 發(fā)表于 01-02 12:01 ?47次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b> <b class='flag-5'>docker</b> <b class='flag-5'>部署</b>最新 gitlab 社區(qū)版,搭建自己的私人代碼倉庫

    華為 Flexus X 實例 docker 部署 jdk21 最新版 jenkins 搭建自己的 devops 服務(wù)器

    ·?華為最近正在舉辦 828 B2B 企業(yè)節(jié),Flexus X 實例的促銷力度非常大,特別適合那些對算力性能有高要求的小伙伴。如果你有自建
    的頭像 發(fā)表于 01-02 11:58 ?36次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b> <b class='flag-5'>docker</b> <b class='flag-5'>部署</b> jdk21 最新版 jenkins 搭建自己的 devops 服務(wù)器

    華為 Flexus 服務(wù)器 docker 部署 srs6,協(xié)議可使用 HLS 協(xié)議

    ·?華為最近正在舉辦 828 B2B 企業(yè)節(jié),Flexus X 實例的促銷力度非常大,特別適合那些對算力性能有高要求的小伙伴。如果你有自建
    的頭像 發(fā)表于 01-02 11:58 ?33次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b>服務(wù)器 <b class='flag-5'>docker</b> <b class='flag-5'>部署</b> <b class='flag-5'>srs6</b>,<b class='flag-5'>協(xié)議</b>可使用 HLS <b class='flag-5'>協(xié)議</b>

    華為 Flexus 服務(wù)器 X 實例的使用教程

    引言 選擇一款性價比高、性能強勁的服務(wù)器是 IT 技術(shù)人員常面臨的問題。華為Flexus 服務(wù)器
    的頭像 發(fā)表于 12-30 09:16 ?160次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b>服務(wù)器 <b class='flag-5'>X</b> <b class='flag-5'>實例</b>的使用教程

    Flexus 服務(wù)器 X 實例:在 Docker 環(huán)境下搭建 java 開發(fā)環(huán)境

    和開發(fā)者精心打造。它以卓越的柔性算力,為我們在 Docker 環(huán)境下搭建 java 開發(fā)環(huán)境提供有力支撐。 一、Flexus 服務(wù)器 X 實例
    的頭像 發(fā)表于 12-30 09:07 ?143次閱讀
    <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b>服務(wù)器 <b class='flag-5'>X</b> <b class='flag-5'>實例</b>:在 <b class='flag-5'>Docker</b> 環(huán)境下搭建 java 開發(fā)環(huán)境

    華為 Flexus X 輕松實現(xiàn) Redis 一主多從高效部署

    前言 ????????華為 Flexus?X 是一款專為高性能計算設(shè)計的服務(wù)器實例,其搭載的
    的頭像 發(fā)表于 12-27 13:45 ?180次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> 輕松實現(xiàn) Redis 一主多從高效<b class='flag-5'>部署</b>

    華為 Flexus X 實例 docker 部署 mediacms,功能齊全的現(xiàn)代化開源視頻和媒體 CMS

    華為最近正在舉辦 828 B2B 企業(yè)節(jié),Flexus X 實例的促銷力度非常大,特別適合那些對算力性能有高要求的小伙伴。如果你有自建 M
    的頭像 發(fā)表于 12-25 17:51 ?162次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>X</b> <b class='flag-5'>實例</b> <b class='flag-5'>docker</b> <b class='flag-5'>部署</b> mediacms,功能齊全的現(xiàn)代化開源視頻和媒體 CMS

    華為 Flexus 服務(wù)器 X 實例 使用流程

    評測與應(yīng)用體驗:高性能與經(jīng)濟性的完美結(jié)合引言在計算領(lǐng)域,彈性算力的需求日益增長。傳統(tǒng)服務(wù)器通常提供固定的規(guī)格,導(dǎo)致資源浪費和不匹配的性能問題。華為推出的
    的頭像 發(fā)表于 12-24 17:28 ?153次閱讀
    <b class='flag-5'>華為</b> <b class='flag-5'>Flexus</b> <b class='flag-5'>云</b>服務(wù)器 <b class='flag-5'>X</b> <b class='flag-5'>實例</b> 使用流程