Ubuntu 環境下創建并啟動一個 MediaMTX 的 systemd 服務

文章目錄

  • 一、簡介
  • 二、安裝及使用
  • 三、創建系統服務
  • 小結

一、簡介

MediaMTX 是一個現代、高性能、跨平臺的 流媒體服務器,主要用于接收、轉發、轉碼和分發 音視頻流,支持多種協議。它的前身是 rtsp-simple-server,后來重命名為 MediaMTX,功能也變得更全面,不再局限于 RTSP。

二、安裝及使用

  1. 參考github官網,選擇合適的版本下載,解壓后包含一個許可協議、一個mediamtx可執行程序以及一個yml配置文件。
    文件
  2. 參考官方主頁,使用指令./mediamtx啟動服務。但這樣在前臺中不利于生產環境使用,所以一般會創建mediamtx服務,這樣可以更穩定、可控、自動化運行。
    啟動服務

三、創建系統服務

  1. /etc/systemd/system目錄下創建mediamtx.service文件并粘貼如下內容,ExecStart修改為實際的可執行文件路徑,WorkingDirectory修改為可執行文件所在目錄,在想要存放 日志文件 的目錄下創建mediamtx.logmediamtx_error.log這兩個文件并修改路徑。

    [Unit]
    Description=mediamtx-Service
    After=network.target
    StartLimitIntervalSec=0
    StartLimitBurst=5[Service]
    ExecStart=/home/xxx/mediamtx/mediamtx
    Restart=always
    RestartSec=0
    WorkingDirectory=/home/xxx/mediamtx
    StandardOutput=append:/mnt/logs/mediamtx.log
    StandardError=append:/mnt/logs/mediamtx_error.log
    User=root
    Group=root[Install]
    WantedBy=multi-user.target
    
  2. 由于mediamtx.service指定了用戶和組為root,所以需要確保文件所屬對應的用戶和組。讀寫權限一般是644就可以。

    sudo chown root:root /etc/systemd/system/mediamtx.service
    sudo chown root:root /mnt/logs/*.log
    
  3. 配置生效并設置開機自啟。如果有 docker 的話,最好是將 mediamtx 安裝并運行在宿主機中,讓容器中的程序推送RTSP流到宿主機IP上的 mediamtx。另外,啟動服務的時候要確認相關端口沒有被占用,例如8888端口。

    # 重新加載 systemd 服務列表
    sudo systemctl daemon-reexec
    sudo systemctl daemon-reload# 啟用開機啟動
    sudo systemctl enable mediamtx.service# 立即啟動服務(可選)
    sudo systemctl start mediamtx.service# 查看狀態
    sudo systemctl status mediamtx.service
    
  4. 正常啟動后,查看服務狀態如下,如有Failederrorexited等關鍵詞,可以在日志文件中查看具體原因。
    狀態

  5. 可以在docker內通過ffmpeg指令測試將視頻文件推流到 MediaMTX,并通過 VLC 拉取視頻流驗證傳輸是否正常。

    ffmpeg -re -i xxx.mp4 -c copy -f rtsp rtsp://mediamtx宿主機的ip:8554/live/stream1
    

小結

上述內容均參考官網及個人實踐,如有其他問題歡迎在評論區討論,謝謝!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92805.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92805.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92805.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在React中,函數式組件和類組件各有優缺點

函數式組件:無this,無生命周期,配合使用useEffect, 可使用Hooks。 類組件:有生命周期,狀態管理,無Hooks,適用于需要明確生命周期方法和實例方法的場景。 函數式組件 優點&#xff1a…

【SketchUp插件推薦】Profile Builder 4.0 中文版下載安裝使用教程(含語言設置圖解)

一、插件簡介 Profile Builder 4.0 是一款適用于 SketchUp 2017-2024 的高效參數化建模插件,中文名稱為「參數化造型建模工具」。該插件基于參數化設計原理,允許用戶通過簡單的路徑定義和參數設定,快速生成智能模型,從而大幅提高…

【小沐學GIS】基于Unity3d繪制三維數字地球Earth(Unity3d、OpenGL、GIS)

🍺三維數字地球GIS系列相關文章如下🍺:1【小沐學GIS】基于C繪制三維數字地球Earth(OpenGL、glfw、glut)第一期2【小沐學GIS】基于C繪制三維數字地球Earth(OpenGL、glfw、glut)第二期3【小沐學GI…

ARM匯編的一些編寫和調用規范總結

ARM匯編在格式上有少數硬性要求,在排版上幾乎沒什么硬性要求,都不多,以下分別說明。格式要求 ARM 匯編有一些格式上的硬性要求,這些規則由匯編器(如 GNU 的gas、ARM 官方的armasm)強制執行,違反…

FastAPI框架下集成智譜大模型的RAG流式響應服務框架

RAG(檢索增強生成)是結合檢索與生成式 AI 的技術框架。核心邏輯是先從外部知識庫精準檢索相關信息,再將其作為上下文輸入大模型生成回答。技術上依賴檢索引擎(如向量數據庫、BM25)、大語言模型(如 GPT、LLa…

基于深度學習的胸部 X 光圖像肺炎分類系統(三)

目錄 二分類胸片判斷: 1. 數據加載時指定了兩類標簽 2. 損失函數用了二分類專用的 3. 輸出層只有 1 個神經元,用了sigmoid激活函數 4. 預測時用 0.5 作為分類閾值 二分類胸片判斷: import numpy as np import matplotlib.pyplot as plt f…

深入理解 BIO、NIO、AIO

目錄 一、同步與非同步 二、阻塞與非阻塞 三、BIO(Blocking I/O,阻塞I/O) 四、NIO(Non-blocking I/O,非阻塞I/O) 五、AIO(Asynchronous I/O,異步I/O) 同步阻塞&…

電腦無法識別固態硬盤怎么辦?

隨著固態硬盤(SSD)越來越普及,不少用戶在給電腦更換、加裝SSD時會遇到一個讓人頭大的問題——電腦識別不了固態硬盤。可能是開不了機,或者在“此電腦”中找不到硬盤,甚至連系統安裝界面都提示“找不到驅動器”。這時候…

Kingbasepostgis 安裝實踐

文章目錄前言一、安裝準備1.1 部署方案規劃1.2 SELINUX、防火墻狀態檢查1.3 操作系統時間檢查1.4 創建用戶及密碼1.5 目錄創建1.6 操作系統參數配置1.6.1 配置limits.conf文件二、安裝2.1 上傳安裝包以及license授權文件2.2 拷貝安裝文件2.3 命令行方式安裝2.3.1簡介2.3.2 許可…

移動端設備能部署的llm

mlc-llm 內置RedPajama hf示例模型 TheBloke/Mistral-7B-Instruct-v0.2-GGUF https://github.com/mlc-ai/mlc-llm/tree/main llama.cpp https://github.com/ggml-org/llama.cpp reference --- MLC-LLM:大模型如何部署到瀏覽器 / 手機?完整流程復現…

Ubuntu硬盤掛載

一、在 Ubuntu 中,你可以用以下命令快速查看 所有已連接但尚未掛載的硬盤和分區:lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID輸出中 MOUNTPOINT 為空的行,就是 未掛載的分區。sda ├─sda1 500M ext4 /boot ├─sda2 1.8T ntfs └─sda3 …

JavaScript -Socket5代理使用

axios 安裝兩個包 socks-proxy-agent,axios const { SocksProxyAgent } require(socks-proxy-agent); const axios require(axios);const socks5Axios axios.create();const socks5 () > {const socks5Agent new SocksProxyAgent("socks5://112.194.8…

[特殊字符] 從數據庫無法訪問到成功修復崩潰表:一次 MySQL 故障排查實錄

一次典型的 MySQL 故障排查與修復全過程,涵蓋登錄失敗、表崩潰、innodb_force_recovery 救援、壞表剔除與數據恢復等關鍵操作。一、問題背景某業務系統運行多年,數據庫使用的是 MySQL 8.0.18,近期在一次服務器重啟后,發現無法正常…

【Agent】API Reference Manual(API 參考手冊)

https://github.com/Intelligent-Internet/CommonGround/blob/main/docs/framework/03-api-reference.md 以下是這份 API Reference Manual(API 參考手冊) 的完整中文翻譯: API 參考手冊 版本:0.1 目錄 概覽 1.1 API 目的 1.2 通信協議與核心概念 HTTP API 2.1 POST /se…

LeetCode Hot 100 全排列

給定一個不含重復數字的數組 nums ,返回其 所有可能的全排列 。你可以 按任意順序 返回答案。示例 1:輸入:nums [1,2,3] 輸出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:輸入:nums [0,1]…

AI大模型如何有效識別和糾正數據中的偏見?

當下,人工智能大模型已成為推動各行業發展的關鍵力量,廣泛應用于自然語言處理、圖像識別、醫療診斷、金融風控等領域,為人們的生活和工作帶來了諸多便利。然而,隨著其應用的不斷深入,數據偏見問題逐漸浮出水面&#xf…

如何通過內網穿透,訪問公司內部服務器?

“凌晨2點,銷售總監王姐在機場候機時突然接到客戶電話——對方要求立即查看產品庫存數據。她慌忙翻出筆記本電腦,卻發現公司內網數據庫沒有公網IP,VPN連接又卡在驗證環節……這樣的場景,是否讓你想起某個手忙腳亂的時刻&#xff1…

12. isaacsim4.2教程-ROS 導航

1. Teleport 示例 ROS 服務的作用: 提供了一種同步、請求-響應的通信方式,用于執行那些需要即時獲取結果或狀態反饋的一次性操作或查詢。 Teleport 服務在 ROS 仿真(尤其是 Gazebo)和某些簡單機器人控制中扮演著瞬移機器人或對象…

DeepSpeed-FastGen:通過 MII 和 DeepSpeed-Inference 實現大語言模型的高吞吐文本生成

溫馨提示: 本篇文章已同步至"AI專題精講" DeepSpeed-FastGen:通過 MII 和 DeepSpeed-Inference 實現大語言模型的高吞吐文本生成 摘要 隨著大語言模型(LLM)被廣泛應用,其部署與擴展變得至關重要&#xff0…