精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

【技術分享】如何在嵌入式Linux平臺上使用Nginx搭建RTMP流媒體服務器?

ZLG致遠電子 ? 2023-01-13 09:27 ? 次閱讀

RTMP作為目前主流的流媒體傳輸協議,廣泛應用于音視頻領域。那么我們如何快速在嵌入式板子上搭建起自己的rtmp流媒體服務器?本篇文章將帶大家實踐一下。

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

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

dd0cd37a-918d-11ed-ad0d-dac502259ad0.jpg ?方案實現

以M3568平臺為例,在嵌入式Linux系統上搭建Nginx-RTMP流媒體服務器以及通過ffmpeg/gstreamer實現簡單的推拉流過程。實現框架如圖1所示。dd2405ea-918d-11ed-ad0d-dac502259ad0.png

圖1

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

1.前期準備

1.1 硬件

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

1.2 軟件

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

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

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

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

圖2

2.3 執行如下命令啟動nginx服務器。

nginx -c /etc/nginx/nginx.conf

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

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視頻文件做推流測試,可直接執行如下推流命令。

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5069

    文章

    19023

    瀏覽量

    303438
  • 服務器
    +關注

    關注

    12

    文章

    9028

    瀏覽量

    85194
收藏 人收藏

    評論

    相關推薦

    嵌入式系統與服務器有什么區別

    嵌入式系統與服務器在多個方面存在顯著的差異,這些差異主要體現在設計目標、硬件配置、軟件系統、應用領域、技術特點以及成本效益等方面。
    的頭像 發表于 09-29 16:37 ?311次閱讀

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-常見網絡服務搭建之NFS服務搭建

    嵌入式Linux開發中,需要在Linux主機編寫程序代碼,然后編譯程序,生成的二進制程序文件要傳輸到目標機上才能調試、運行。那么如何更快、更便捷地傳輸文件,提高開發工作的效率呢?NFS無疑是最好
    發表于 09-27 09:03

    嵌入式linux開發的基本步驟有哪些?

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

    嵌入式linux開發板怎么操作

    嵌入式Linux開發板是一種基于Linux操作系統的嵌入式系統開發平臺。它通常包括一個處理、內
    的頭像 發表于 09-02 09:09 ?330次閱讀

    嵌入式linux開發板芯片的工作原理

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

    ElfBoard技術貼|如何在ELF 1開發板上搭建流媒體服務器

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

    深度學習算法在嵌入式平臺上的部署

    隨著人工智能技術的飛速發展,深度學習算法在各個領域的應用日益廣泛。然而,將深度學習算法部署到資源受限的嵌入式平臺上,仍然是一個具有挑戰性的任務。本文將從嵌入式
    的頭像 發表于 07-15 10:03 ?1193次閱讀

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

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

    服務器linux中如何搭建php運行環境?

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

    linux服務器和windows服務器

    Linux服務器和Windows服務器是目前應用最廣泛的兩種服務器操作系統。兩者各有優劣,也適用于不同的應用場景。本文將 對Linux
    發表于 02-22 15:46

    嵌入式軟件開發應該掌握哪些知識?

    和 Thumb 模式的區別,以及 ARM Cortex 系列處理的特性。 嵌入式 ARM 開發:學習如何在嵌入式系統中使用 ARM 處理
    發表于 02-19 11:23

    高端嵌入式實驗平臺

    一、整體概述 該嵌入式平臺具有前沿性、專業性、高集成度、功能豐富等特點,平臺涵蓋嵌入式計算機技術嵌入式硬件接口、
    的頭像 發表于 01-29 09:55 ?490次閱讀
    高端<b class='flag-5'>嵌入式</b>實驗<b class='flag-5'>平臺</b>

    Apache服務器Nginx服務器

    Apache和Nginx都是常見的開源Web服務器軟件,它們用于處理HTTP請求并提供網站和應用程序的服務。下面是對Apache和Nginx的一些基本特點的比較: 一、Apache H
    的頭像 發表于 01-22 16:48 ?524次閱讀

    搭建ftp服務器的步驟

    搭建ftp服務器的步驟? 搭建FTP服務器是一項需要一定技術知識的任務,但是只要按照以下步驟進行操作,您就能成功
    的頭像 發表于 12-07 16:32 ?1124次閱讀

    【從0開始創建AWTK應用程序】編譯應用到嵌入式Linux平臺運行

    搭建Linux平臺交叉編譯環境在上一篇文章我們介紹了使用AWTK開發簡單的應用并在PC上模擬運行,本篇文章就來介紹一下怎么讓應用程序運行在嵌入式L
    的頭像 發表于 12-07 12:08 ?677次閱讀
    【從0開始創建AWTK應用程序】編譯應用到<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>平臺</b>運行