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这两个文件并修改路径。

    bash 复制代码
    [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就可以。

    bash 复制代码
    sudo chown root:root /etc/systemd/system/mediamtx.service
    sudo chown root:root /mnt/logs/*.log
  3. 配置生效并设置开机自启。如果有 docker 的话,最好是将 mediamtx 安装并运行在宿主机中,让容器中的程序推送RTSP流到宿主机IP上的 mediamtx 。另外,启动服务的时候要确认相关端口没有被占用,例如8888端口。

    bash 复制代码
    # 重新加载 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 拉取视频流验证传输是否正常。

    bash 复制代码
    ffmpeg -re -i xxx.mp4 -c copy -f rtsp rtsp://mediamtx宿主机的ip:8554/live/stream1

小结

上述内容均参考官网及个人实践,如有其他问题欢迎在评论区讨论,谢谢!!

相关推荐
石像鬼₧魂石7 小时前
内网渗透靶场实操清单(基于 Vulhub+Metasploitable 2)
linux·windows·学习·ubuntu
知识分享小能手14 小时前
Ubuntu入门学习教程,从入门到精通,Linux操作系统概述(1)
linux·学习·ubuntu
我只会发热15 小时前
Ubuntu 20.04.6 根目录扩容(图文详解)
linux·运维·ubuntu
木子欢儿16 小时前
Ubuntu 24 安装 fcitx5 + rime + 雾凇配置
linux·运维·服务器·ubuntu
qq_3391911416 小时前
ubuntu 配置ulimit -n , ubuntu配置文件描述符数量, ubuntu优化,ubuntu系统调优
linux·运维·ubuntu
wdfk_prog17 小时前
Ubuntu 虚拟机根文件系统损坏故障的深度分析与修复
linux·数据库·ubuntu
violet-lz18 小时前
【Linux】VMware虚拟机中的Ubuntu操作系统主文件夹扩容
linux·运维·ubuntu
susu108301891118 小时前
ubuntu系统列出系统中所有可用的视频设备(比如摄像头、采集卡等)
ubuntu
JiayinX19 小时前
VMWare虚拟机安装ubuntu22教程(图文详解)
ubuntu·vmware·虚拟机
RedMery21 小时前
环境Ubuntu 25.04,RTX4090,CUDA12.8下的Mr.DETR、Detectron2、detrex、Transformer安装
ubuntu·transformer·mr