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

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

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

【技術(shù)分享】如何在嵌入式Linux平臺(tái)上使用Nginx搭建RTMP流媒體服務(wù)器?

ZLG致遠(yuǎn)電子 ? 2023-01-13 09:27 ? 次閱讀

RTMP作為目前主流的流媒體傳輸協(xié)議,廣泛應(yīng)用于音視頻領(lǐng)域。那么我們?nèi)绾慰焖僭?a href="http://wenjunhu.com/soft/data/21-22/" target="_blank">嵌入式板子上搭建起自己的rtmp流媒體服務(wù)器?本篇文章將帶大家實(shí)踐一下。

dd0cd37a-918d-11ed-ad0d-dac502259ad0.jpg ?概述

Nginx是一個(gè)以高效穩(wěn)定著稱的高性能的HTTP和反向代理web服務(wù)器,它同時(shí)也是基于事件驅(qū)動(dòng)開發(fā)的異步高性能跨平臺(tái)服務(wù)器。Nginx-RTMP是基于Nginx框架的模塊開發(fā),很好繼承了Nginx的異步高性能以及擴(kuò)展性好的優(yōu)點(diǎn)。RTMP 是 Real Time Messaging Protocol (實(shí)時(shí)消息傳輸協(xié)議)的首字母縮寫。該協(xié)議基于TCP協(xié)議簇,是 Adobe 公司為 Flash/AIR 平臺(tái)和服務(wù)器之間音、視頻及數(shù)據(jù)傳輸開發(fā)的實(shí)時(shí)消息傳送協(xié)議。在 RTMP 協(xié)議中,視頻必須是 h264 編碼,音頻必須是 AAC 或 MP3編碼,且多以 flv 格式封包。目前 RTMP 是主流的流媒體傳輸協(xié)議。而Nginx-RTMP模塊主要是對(duì)rtmp協(xié)議的實(shí)現(xiàn),廣泛應(yīng)用于音視頻領(lǐng)域。那么以下將通過一個(gè)簡(jiǎn)單的視頻監(jiān)控方案帶大家了解下Nginx-RTMP流媒體服務(wù)器的搭建過程。

dd0cd37a-918d-11ed-ad0d-dac502259ad0.jpg ?方案實(shí)現(xiàn)

以M3568平臺(tái)為例,在嵌入式Linux系統(tǒng)上搭建Nginx-RTMP流媒體服務(wù)器以及通過ffmpeg/gstreamer實(shí)現(xiàn)簡(jiǎn)單的推拉流過程。實(shí)現(xiàn)框架如圖1所示。dd2405ea-918d-11ed-ad0d-dac502259ad0.png

圖1

采集M3568板子上的攝像頭視頻流,使用gstreamer/ffmpeg進(jìn)行RTMP推流到板子上的nginx服務(wù)器(nginx通過rtmp模塊提供rtmp服務(wù)),然后在同個(gè)局域網(wǎng)內(nèi)使用vlc播放器(或其他客戶端)從nginx服務(wù)器獲取該實(shí)時(shí)視頻流。

1.前期準(zhǔn)備

1.1 硬件

  • M3568核心板;
  • M3568-EV-Board底板;
  • usb攝像頭(如果沒有攝像頭可以使用mp4視頻文件代替做測(cè)試)。

1.2 軟件

  • PC上安裝vlc播放工具;
  • 帶nginx-rtmp-module模塊編譯的nginx安裝包(nginx-install.tar)。

(備注:本篇文章沒有展開講述Nginx + nginx-rtmp-module的交叉編譯過程以及具體步驟,但此部分內(nèi)容已發(fā)布在ZLG開發(fā)者社區(qū)上,可通過鏈接 https://z.zlg.cn/articleinfo?id=853011 進(jìn)行訪問。)2.實(shí)現(xiàn)步驟

2.1 將移植好的nginx安裝包拷貝到板子上,然后解壓到板子的根目錄下。
2.2 修改/etc/nginx/nginx.conf配置文件,添加rtmp配置。如圖2所示。

dd35fdc2-918d-11ed-ad0d-dac502259ad0.png

圖2

2.3 執(zhí)行如下命令啟動(dòng)nginx服務(wù)器。

nginx -c /etc/nginx/nginx.conf

2.4 在板子上執(zhí)行如下推流命令,采集攝像頭的實(shí)時(shí)視頻流推送至板子上的nginx服務(wù)器上。

gst-launch-1.0 v4l2src device=/dev/video5 ! \

video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! \

queue ! videoconvert ! mpph264enc ! \

video/x-h264,stream-format=byte-stream ! queue ! \

h264parse ! flvmux ! rtmpsink location=rtmp://192.168.1.136:1935/myapp/test

如果使用mp4視頻文件做推流測(cè)試,可直接執(zhí)行如下推流命令。

ffmpeg-re-i./test.mp4-ccopy-fflvrtmp://192.168.1.136:1935/myapp/test

2.5 此處板子上的IP地址配置為192.168.1.136,此時(shí)將PC電腦接在跟板子同一個(gè)局域網(wǎng)上,然后使用vlc播放器打開網(wǎng)絡(luò)串流rtmp://192.168.1.136:1935/myapp/test即可預(yù)覽視頻流畫面。

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

    關(guān)注

    5082

    文章

    19126

    瀏覽量

    305296
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9165

    瀏覽量

    85436
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    采用 Flexus 云服務(wù)器 X 實(shí)例搭建 RTSP 直播服務(wù)器

    監(jiān)控、直播和多媒體應(yīng)用的核心組件。在當(dāng)今高度互聯(lián)的世界中,能夠快速部署且穩(wěn)定運(yùn)行的 RTSP 服務(wù)器對(duì)于確保高質(zhì)量的視頻流體驗(yàn)至關(guān)重要。本文將指導(dǎo)如何在華為云 Flexus?X 實(shí)例上部署一款輕量級(jí)的 RTSP
    的頭像 發(fā)表于 12-24 17:36 ?151次閱讀
    采用 Flexus 云<b class='flag-5'>服務(wù)器</b> X 實(shí)例<b class='flag-5'>搭建</b> RTSP 直播<b class='flag-5'>服務(wù)器</b>

    何在Linux系統(tǒng)上設(shè)置站群服務(wù)器IP地址

    Linux系統(tǒng)上設(shè)置站群服務(wù)器的IP地址,可以通過以下步驟進(jìn)行,主機(jī)推薦小編為您整理發(fā)布如何在Linux系統(tǒng)上設(shè)置站群服務(wù)器IP地址。
    的頭像 發(fā)表于 12-11 10:05 ?171次閱讀

    企業(yè)云服務(wù)器平臺(tái)設(shè)計(jì)與搭建

    企業(yè)云服務(wù)器平臺(tái)的設(shè)計(jì)與搭建是一個(gè)復(fù)雜但系統(tǒng)的過程,涉及多個(gè)環(huán)節(jié)和因素。主機(jī)推薦小編為您整理發(fā)布企業(yè)云服務(wù)器平臺(tái)設(shè)計(jì)與
    的頭像 發(fā)表于 12-04 09:51 ?99次閱讀

    嵌入式系統(tǒng)與服務(wù)器有什么區(qū)別

    嵌入式系統(tǒng)與服務(wù)器在多個(gè)方面存在顯著的差異,這些差異主要體現(xiàn)在設(shè)計(jì)目標(biāo)、硬件配置、軟件系統(tǒng)、應(yīng)用領(lǐng)域、技術(shù)特點(diǎn)以及成本效益等方面。
    的頭像 發(fā)表于 09-29 16:37 ?438次閱讀

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-常見網(wǎng)絡(luò)服務(wù)搭建之NFS服務(wù)搭建

    嵌入式Linux開發(fā)中,需要在Linux主機(jī)編寫程序代碼,然后編譯程序,生成的二進(jìn)制程序文件要傳輸?shù)侥繕?biāo)機(jī)上才能調(diào)試、運(yùn)行。那么如何更快、更便捷地傳輸文件,提高開發(fā)工作的效率呢?NFS無疑是最好
    發(fā)表于 09-27 09:03

    嵌入式linux開發(fā)的基本步驟有哪些?

    之前,首先需要選擇合適的硬件平臺(tái)。硬件選擇需要考慮以下幾個(gè)方面: 1.1 處理 嵌入式Linux開發(fā)需要一個(gè)處理,常見的處理
    的頭像 發(fā)表于 09-02 09:11 ?497次閱讀

    嵌入式linux開發(fā)板怎么操作

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺(tái)。它通常包括一個(gè)處理、內(nèi)
    的頭像 發(fā)表于 09-02 09:09 ?395次閱讀

    嵌入式linux開發(fā)板芯片的工作原理

    了處理、存儲(chǔ)、輸入/輸出接口等硬件資源的嵌入式系統(tǒng)開發(fā)平臺(tái)。它通常采用Linux操作系統(tǒng)作為底層軟件
    的頭像 發(fā)表于 09-02 09:07 ?394次閱讀

    ElfBoard技術(shù)貼|如何在ELF 1開發(fā)板上搭建流媒體服務(wù)器

    流媒體服務(wù)器是一種專門用于傳輸實(shí)時(shí)數(shù)據(jù)流的服務(wù)器軟件,廣泛用于視頻直播、視頻會(huì)議、音頻播放等應(yīng)用場(chǎng)景。在嵌入式開發(fā)領(lǐng)域,將流媒體
    的頭像 發(fā)表于 08-20 14:48 ?573次閱讀
    ElfBoard<b class='flag-5'>技術(shù)</b>貼|如<b class='flag-5'>何在</b>ELF 1開發(fā)板上<b class='flag-5'>搭建</b><b class='flag-5'>流媒體</b><b class='flag-5'>服務(wù)器</b>

    深度學(xué)習(xí)算法在嵌入式平臺(tái)上的部署

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)算法在各個(gè)領(lǐng)域的應(yīng)用日益廣泛。然而,將深度學(xué)習(xí)算法部署到資源受限的嵌入式平臺(tái)上,仍然是一個(gè)具有挑戰(zhàn)性的任務(wù)。本文將從嵌入式
    的頭像 發(fā)表于 07-15 10:03 ?1412次閱讀

    服務(wù)器linux搭建ftp服務(wù)訪問不了怎么解決?

    如果你在云服務(wù)器linux搭建了FTP服務(wù)但無法訪問,這可能是由于幾種原因引起的。以下是一些常見問題和解決方法: 1、防火墻配置:確保防火墻允許FTP流量通過。FTP
    的頭像 發(fā)表于 04-18 17:23 ?1533次閱讀

    服務(wù)器linux中如何搭建php運(yùn)行環(huán)境?

    要在云服務(wù)器Linux系統(tǒng)上搭建PHP運(yùn)行環(huán)境,您可以按照以下步驟進(jìn)行: 1、安裝PHP: 使用包管理工具(如apt、yum等)安裝PHP及其相關(guān)模塊。例如,在Ubuntu系統(tǒng)上,您可以運(yùn)行以下
    的頭像 發(fā)表于 03-21 17:08 ?666次閱讀

    嵌入式軟件開發(fā)應(yīng)該掌握哪些知識(shí)?

    和 Thumb 模式的區(qū)別,以及 ARM Cortex 系列處理的特性。 嵌入式 ARM 開發(fā):學(xué)習(xí)如何在嵌入式系統(tǒng)中使用 ARM 處理
    發(fā)表于 02-19 11:23

    高端嵌入式實(shí)驗(yàn)平臺(tái)

    一、整體概述 該嵌入式平臺(tái)具有前沿性、專業(yè)性、高集成度、功能豐富等特點(diǎn),平臺(tái)涵蓋嵌入式計(jì)算機(jī)技術(shù)、嵌入式硬件接口、
    的頭像 發(fā)表于 01-29 09:55 ?528次閱讀
    高端<b class='flag-5'>嵌入式</b>實(shí)驗(yàn)<b class='flag-5'>平臺(tái)</b>

    Apache服務(wù)器Nginx服務(wù)器

    Apache和Nginx都是常見的開源Web服務(wù)器軟件,它們用于處理HTTP請(qǐng)求并提供網(wǎng)站和應(yīng)用程序的服務(wù)。下面是對(duì)Apache和Nginx的一些基本特點(diǎn)的比較: 一、Apache H
    的頭像 發(fā)表于 01-22 16:48 ?565次閱讀