91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

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

ZLG致遠電子 ? 2023-01-13 09:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

圖1

采集M3568板子上的攝像頭視頻流,使用gstreamer/ffmpeg進行RTMP推流到板子上的nginx服務器(nginx通過rtmp模塊提供rtmp服務),然后在同個局域網(wǎng)內使用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的交叉編譯過程以及具體步驟,但此部分內容已發(fā)布在ZLG開發(fā)者社區(qū)上,可通過鏈接 https://z.zlg.cn/articleinfo?id=853011 進行訪問。)2.實現(xiàn)步驟

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

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

圖2

2.3 執(zhí)行如下命令啟動nginx服務器。

nginx -c /etc/nginx/nginx.conf

2.4 在板子上執(zhí)行如下推流命令,采集攝像頭的實時視頻流推送至板子上的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視頻文件做推流測試,可直接執(zhí)行如下推流命令。

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

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

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

    關注

    5198

    文章

    20442

    瀏覽量

    333990
  • 服務器
    +關注

    關注

    14

    文章

    10251

    瀏覽量

    91480
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    何在Zynq UltraScale+ MPSoC平臺上通過JTAG啟動嵌入式Linux鏡像

    在之前文章中,我們介紹了如何使用 XSCT 工具通過 JTAG 在 Zynq SoC 上啟動嵌入式 Linux 鏡像(從 JTAG 啟動 Zynq-7000 嵌入式 Linux:使用
    的頭像 發(fā)表于 01-13 11:45 ?4372次閱讀

    從小白到大牛:Linux嵌入式系統(tǒng)開發(fā)的完整指南

    從小白到大牛:Linux嵌入式系統(tǒng)開發(fā)的完整指南 一、小白入門:搭建 Linux 嵌入式開發(fā)的認知地基? 對于零基礎學習者,首先要打破 “
    發(fā)表于 12-16 10:42

    RK3576輕松搭建RTMP視頻推流,基于FFmpeg+Nginx協(xié)同

    延遲+穩(wěn)定推流。推流端負責將視頻數(shù)據(jù)通過RTMP流媒體協(xié)議傳輸給RTMP流媒體服務器;拉流端從流媒體
    的頭像 發(fā)表于 12-11 17:17 ?908次閱讀
    RK3576輕松<b class='flag-5'>搭建</b><b class='flag-5'>RTMP</b>視頻推流,基于FFmpeg+<b class='flag-5'>Nginx</b>協(xié)同

    一個面向單片機、事件驅動的嵌入式開發(fā)平臺介紹

    EventOS,是一個面向單片機、事件驅動的嵌入式開發(fā)平臺。它主要有兩大技術特色:一是事件驅動,二是超輕量。EventOS以及其母項目EventOS,目標是開發(fā)一個企業(yè)級的嵌入式開發(fā)
    發(fā)表于 12-05 06:26

    飛凌嵌入式ElfBoard-常用的網(wǎng)絡服務搭建之SSH服務搭建

    、Solaris、Digital UNIX、Irix等,都可運行。1.在系統(tǒng)開發(fā)過程中經(jīng)常會遇到下列情形1)Linux主機不在本地,但又要使用或者維護這臺計算機;2)一個嵌入式Linux產(chǎn)品不方便接
    發(fā)表于 10-24 08:48

    飛凌嵌入式ElfBoard-常用的網(wǎng)絡服務搭建之NFS服務搭建

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

    飛凌嵌入式ElfBoard-常用的網(wǎng)絡服務搭建之TFTP服務搭建

    File Transfer Protocol,簡單文件傳輸協(xié)議),是TCP/IP協(xié)議族中用來在客戶機和服務器之間進行簡單文件傳輸?shù)膮f(xié)議,開銷很小。TFTP通常用于內核調試。在嵌入式Linux開發(fā)過程中,內核
    發(fā)表于 10-21 11:29

    華納云服務器Linux系統(tǒng)日志集中化管理平臺搭建

    在云計算時代,企業(yè)運維團隊面臨服務器數(shù)量激增帶來的日志管理難題。本文詳細解析如何基于Linux系統(tǒng)構建高效的云服務器日志集中化管理平臺,涵蓋日志采集、傳輸、存儲和分析全流程,幫助運維人
    的頭像 發(fā)表于 09-12 14:11 ?485次閱讀

    【HZ-T536開發(fā)板免費體驗】5- 無需死記 Linux 命令!用 CangjieMagic 在 HZ-T536 開發(fā)板上搭建 MCP 服務器,自然語言輕松控板

    192.168.1.100”)。 三、實戰(zhàn)開發(fā):在 HZ-T536 上搭建 MCP 服務器 1. 搭建開發(fā)環(huán)境 有關如何在嵌入式開發(fā)板上
    發(fā)表于 08-23 13:10

    5分鐘學會網(wǎng)絡服務搭建!飛凌i.MX9352開發(fā)板 + Linux 6.1實戰(zhàn)示例

    本文就將以飛凌嵌入式OK-MX9352-C開發(fā)板(搭載了在工業(yè)物聯(lián)網(wǎng)領域廣泛應用的NXP i.MX9352處理)為平臺,介紹如何在Linux
    的頭像 發(fā)表于 06-13 16:42 ?1315次閱讀
    5分鐘學會網(wǎng)絡<b class='flag-5'>服務</b><b class='flag-5'>搭建</b>!飛凌i.MX9352開發(fā)板 + <b class='flag-5'>Linux</b> 6.1實戰(zhàn)示例

    何在嵌入式平臺上部署高光譜相機

    高光譜成像技術廣泛應用于農業(yè)、環(huán)境監(jiān)測、工業(yè)檢測等領域。友思特eBUS軟件為嵌入式分選和檢測成像平臺搭建提供專屬解決方案,如自定義的分選系統(tǒng)、實時數(shù)據(jù)采集、高性能處理
    的頭像 發(fā)表于 06-03 13:39 ?700次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>嵌入式</b><b class='flag-5'>平臺上</b>部署高光譜相機

    5分鐘學會網(wǎng)絡服務搭建,飛凌i.MX9352 + Linux 6.1實戰(zhàn)示例

    本文將以飛凌嵌入式OK-MX9352-C開發(fā)板(搭載了在工業(yè)物聯(lián)網(wǎng)領域廣泛應用的NXP i.MX9352處理)為平臺,介紹如何在Linux
    的頭像 發(fā)表于 05-30 11:08 ?2326次閱讀
    5分鐘學會網(wǎng)絡<b class='flag-5'>服務</b><b class='flag-5'>搭建</b>,飛凌i.MX9352 + <b class='flag-5'>Linux</b> 6.1實戰(zhàn)示例

    何在Linux中配置DNS服務器

    本文詳細介紹了如何在Linux中配置DNS服務器,包括DNS工作原理、本地緩存、DNS查詢過程,以及正向和反向查詢的配置。步驟包括服務器配置、編輯BIND配置文件、添加解析信息和客戶端
    的頭像 發(fā)表于 05-09 13:38 ?2601次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b>中配置DNS<b class='flag-5'>服務器</b>

    在任何平臺上使用PetaLinux的先決條件

    本篇文章介紹了在任何平臺上使用 PetaLinux 的先決條件。PetaLinux 是一種嵌入式 Linux 軟件開發(fā)套件 (SDK),主要用于基于 FPGA 的系統(tǒng)級芯片 (SoC) 設計或 FPGA 設計。
    的頭像 發(fā)表于 04-24 10:40 ?1550次閱讀
    在任何<b class='flag-5'>平臺上</b>使用PetaLinux的先決條件

    Linux的作用

    。 2、嵌入式系統(tǒng):Linux可以被嵌入到各種嵌入式設備中,如智能路由、智能電視等。它提供了一個靈活的
    發(fā)表于 04-04 01:57