docker中部署Universal Media Server (UMS)

Universal Media Server (UMS) 本身主要是作為桌面服務程序開發的(主要面向 Java GUI + DLNA 播放),但確實可以通過 Docker 進行部署。雖然官方沒有提供 Docker 鏡像,但社區有一些可用的方式可以在 Docker 中運行它。

下面是一個可行的 UMS Docker 部署方案(基于社區維護的鏡像),并帶有設置媒體文件掛載與配置保存的步驟。


? 步驟:Docker 中部署 Universal Media Server (UMS)

🧱 1. 拉取 Docker 鏡像(推薦鏡像:lancachenet/umsumsdocker/ums

docker pull umsdocker/ums 

或者也可以選擇另一個社區鏡像(功能類似):
docker pull lancachenet/ums


📂 2. 創建媒體文件和配置目錄(例如掛載到 /mnt/media/mnt/config

mkdir -p ~/ums/media 
mkdir -p ~/ums/config 

將你的視頻文件放到 ~/ums/media 中。


?? 3. 運行 UMS 容器

docker run -d \--name ums \-p 5001:5001 \-p 9001:9001 \-v ~/ums/media:/media \-v ~/ums/config:/config \--restart unless-stopped \umsdocker/ums
參數說明:
參數作用
-p 5001:5001DLNA 默認服務端口
-p 9001:9001UMS Web 界面端口
-v ~/ums/media:/media將你的本地媒體文件目錄掛載進容器
-v ~/ums/config:/config配置文件持久化
--restart unless-stopped自動重啟容器


🌐 4. 訪問 UMS Web 界面(如果支持)

某些版本帶 Web 控制臺,可訪問:

http://<你的主機IP>:9001/ 

注意:UMS 更常通過 DLNA(電視、PS、DLNA 客戶端)使用,而非 Web 播放。如果你想 Web 播放電影,建議用 Jellyfin 或 Plex。


📁 配合 SMB 網絡驅動器訪問媒體文件

  1. ~/ums/media 目錄通過 Samba 共享出去(在宿主機設置),

  2. Windows 端就可以通過 \\host-ip\media 映射成網絡驅動器,

  3. 同時 DLNA 客戶端也能通過 UMS 播放媒體內容。


🚨 注意事項

  • UMS 偏向 DLNA 播放器,Web UI 和跨平臺體驗不如 Jellyfin。

  • 它適用于電視、PS4、老式 DLNA 播放器自動發現媒體服務。

  • 如果你更傾向于 Web 播放 + 多客戶端支持,建議 Jellyfin。

    ?

🎯 目標

  1. 使用 docker-compose 部署 Universal Media Server (UMS)。

  2. 使用 Samba(SMB)共享 /media 文件夾給 Windows,本地網絡中可映射為網絡驅動器。

  3. 所有數據(視頻、配置)保存在宿主機上,便于管理與重啟持久化。


📁 目錄結構建議(可自由修改)

~/ums-docker/
├── docker-compose.yml
├── media/ ? ? ? ? ?← 存放視頻
└── config/ ? ? ? ? ← 存放UMS配置文件

? 第一步:編寫 docker-compose.yml

請在 ~/ums-docker/ 目錄下創建 docker-compose.yml 文件,內容如下:

version: '3.8'services:ums:image: umsdocker/umscontainer_name: umsports:- "5001:5001" ?# DLNA 服務端口- "9001:9001" ?# (如果有)Web 管理界面volumes:- ./media:/media- ./config:/configrestart: unless-stopped

? 第二步:運行容器

cd ~/ums-docker
docker-compose up -d

啟動后,UMS 會開始在局域網中廣播 DLNA 服務,可被電視、PS、VLC 等自動發現。


? 第三步:配置 Samba 共享 /media 文件夾

下面以 Ubuntu 為例說明如何將 ~/ums-docker/media 共享給 Windows 用戶訪問。

1. 安裝 Samba:

sudo apt update
sudo apt install samba

2. 編輯配置文件:

sudo nano /etc/samba/smb.conf 

在文件末尾添加:

[Media]path = /home/你的用戶名/ums-docker/mediabrowseable = yesread only = noguest ok = yescreate mask = 0777directory mask = 0777

請把 /home/你的用戶名 改成你實際用戶名的路徑。

3. 重啟 Samba 服務:

sudo systemctl restart smbd 

4. 設置文件夾權限(如果你使用 guest ok):

chmod -R 777 ~/ums-docker/media 

? 第四步:Windows 端訪問共享媒體

在文件資源管理器中輸入地址:

\\你的Linux主機IP地址\Media 

也可以右鍵“此電腦” → “映射網絡驅動器” → 輸入上述路徑 → 映射為 Z:盤或其他。


🧪 可選測試方式

你可以使用手機上的 VLC、電視、PlayStation、Windows 下的播放器(如 PotPlayer)測試是否能發現 DLNA 服務。


? 可選推薦:添加 Jellyfin 做 Web 播放(如你不只面向 DLNA)

我可以幫你在同一個 docker-compose.yml 中加入 Jellyfin,這樣你就可以同時:

  • 用 Jellyfin 網頁觀看視頻(多端支持)

  • 用 UMS 提供 DLNA 播放

  • 用 Samba 共享給 Windows 管理

如果你也想要這個方案,我可以一并給你添加。

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

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

相關文章

配置文件,xml,json,yaml,我該選哪個?

文章目錄 一、核心特性對比二、性能與生態系統三、適用場景與選型建議四、替代方案與趨勢五、總結 在軟件開發中&#xff0c;配置文件格式的選擇直接影響開發效率和維護成本。XML、JSON、YAML 是目前主流的三種格式&#xff0c;但它們各有適用場景和局限性。本文將從語法特性、…

產品迭代與放棄的判斷:MVP、PMF 與 Scale Fit 的三重驗證

在創業和產品管理的世界里&#xff0c;一個永恒的難題是&#xff1a;什么時候應該繼續投入資源進行產品迭代&#xff1f;什么時候又該果斷放棄&#xff1f; 這是一個既關乎戰略方向&#xff0c;又涉及資源分配的核心命題。許多初創公司或產品團隊往往在錯誤的方向上堅持太久&a…

DAY 35 模型可視化與推理

知識點回顧&#xff1a; 三種不同的模型可視化方法&#xff1a;推薦torchinfo打印summary權重分布可視化進度條功能&#xff1a;手動和自動寫法&#xff0c;讓打印結果更加美觀推理的寫法&#xff1a;評估模式 作業&#xff1a;調整模型定義時的超參數&#xff0c;對比下效果。…

20250523-BUG-E1696:無法打開元數據文件“platform.winmd(已解決)

BUG&#xff1a;E1696&#xff1a;無法打開元數據文件“platform.winmd&#xff08;已解決&#xff09; 最近在用VisualStudio2022打開一個VisualStudio2017的C老項目后報了這個錯&#xff0c;幾經周折終于解決了&#xff0c;以下是我用的解決方法&#xff1a; 將Debug從Win32改…

Hellorobot 移動操作機器人開源實踐:HPR 模型 + 全棧資源,降低家庭機器人開發門檻

Hellorobot在DobbE框架中扮演了重要的技術支柱角色。通過其尖端的模塊化設計和高效算法優化&#xff0c;Hellorobot為家庭機器人領域注入了強大的創新動力。DobbE框架的核心技術——Home Pretrained Representations (HPR) 模型&#xff0c;得益于Hellorobot的技術支持&#xf…

onnx模型轉入rknn3399平臺上工作記錄

1.rknn虛擬環境使用時報錯問題 使用rknn17環境的報錯&#xff1a; ImportError: libdc1394.so.22: cannot open shared object file: No such file or directory 參考鏈接&#xff1a;https://blog.csdn.net/2301_80032564/article/details/142316410 創作軟連接&#xff1a; …

杰發科技AC7840——CSE硬件加密模塊使用(1)

1. 簡介 2. 功能概述 3. 簡單的代碼分析 測試第二個代碼例程 初始化隨機數 這里的CSE_CMD_RND在FuncID中體現了 CSE_SECRET_KEY在17個用戶KEY中體現 最后的讀取RNG值&#xff0c;可以看出計算結果在PRAM中。 總的來看 和示例說明一樣&#xff0c;CSE 初次使用&#xff0c;添加…

AI要掌握的知識

AI&#xff08;人工智能&#xff09;是一個跨學科的復雜領域&#xff0c;其知識體系涵蓋理論基礎、技術工具和實踐應用等多個層面。以下從核心知識模塊、技術工具、實踐方向等角度&#xff0c;詳細梳理 AI 從業者需要掌握的知識體系&#xff1a; 一、數學基礎&#xff1a;AI 的…

Python Click庫:輕松構建優雅的命令行工具

Python Click庫&#xff1a;輕松構建優雅的命令行工具 引言一、Click 適用場景二、安裝 Click三、基礎使用1. 第一個 Click 程序2. 添加位置參數3. 使用選項參數 四、高級功能1. 子命令分組&#xff08;多級命令&#xff09;2. 參數類型驗證3. 彩色終端輸出 五、實用功能示例&a…

三種常見脈沖神經網絡編碼方式解讀

速率編碼&#xff08;rate coding) 速率編碼使用輸入特征來確定尖峰頻率&#xff0c;例如將靜態輸入數據&#xff08;如 MNIST 圖像&#xff09;轉換為時間上的脈沖&#xff08;spike&#xff09;序列。它是將神經元發放脈沖的頻率與輸入值&#xff08;如像素強度&#xff09;…

Selenium 測試框架 - Python

??Selenium Python 實戰指南:從入門到進階 Selenium 是 Web 自動化測試中最受歡迎的工具之一,支持多種瀏覽器和語言。本文將從環境搭建到多瀏覽器兼容、測試框架集成、元素定位方式、常用操作、瀏覽器配置等多個方面進行詳細講解,并分享常見的最佳實踐建議。 ??一、環境…

第四十九節:圖像分割-基于深度學習的圖像分割

1. 引言 在計算機視覺領域,圖像分割(Image Segmentation)是一項基礎且關鍵的技術,其目標是將圖像劃分為多個具有特定語義的區域。隨著深度學習技術的突破,基于神經網絡的圖像分割方法在精度和效率上都實現了質的飛躍。本文將重點介紹如何利用OpenCV結合深度學習模型實現高…

【GESP】C++三級真題 luogu-B4039 [GESP202409 三級] 回文拼接

GESP三級真題&#xff0c;字符串相關題目&#xff0c;難度★★?☆☆。 題目題解詳見&#xff1a;https://www.coderli.com/gesp-3-luogu-b4039/ 【GESP】C三級真題 luogu-B4039 [GESP202409 三級] 回文拼接 | OneCoderGESP三級真題&#xff0c;字符串相關題目&#xff0c;難…

什么是深度學習中的層次分類問題?

深度學習中的層次分類問題&#xff08;Hierarchical Classification&#xff09;是指分類任務中存在類別間的層次結構&#xff0c;且模型需要根據這種層次關系進行預測的問題。與傳統的扁平分類&#xff08;Flat Classification&#xff09;不同&#xff0c;層次分類要求模型在…

黑馬點評-樂觀鎖/悲觀鎖/synchronized/@Transactional

文章目錄 全局ID生成器超賣樂觀鎖 一人一單悲觀鎖 當我們確認訂單時&#xff0c;系統需要給我們返回我們的訂單編號。這個時候就會出現兩個大問題。 1.訂單id采用數據庫里的自增的話&#xff0c;安全性降低。比如今天我的訂單是10&#xff0c;我明天的訂單是100&#xff0c;那…

python下通過wmic設置程序的優先級~~~

在開發過程中&#xff0c;經常會碰到需要設置程序優先級&#xff0c;這時候可以手動到任務管理器中調整&#xff0c;但是這多多少少有些不方便&#xff0c;那么這時候我們就可以通過subprocess調用wmic命令來實現&#xff0c;方法如下: step 1 必要的引用: import subprocess…

在Mac中使用pyenv管理Python版本:從安裝到虛擬環境的全流程指南

# 在Mac中使用pyenv管理Python版本&#xff1a;從安裝到虛擬環境的全流程指南 ## 一、為什么選擇pyenv&#xff1f; 在開發過程中&#xff0c;不同項目往往需要不同的Python版本&#xff08;如3.8 vs 3.10&#xff09;&#xff0c;而系統默認的Python環境難以滿足靈活切換的需…

FFT Shift

在頻域圖像處理中,交換四個象限實現FFT移位(也稱為FFT Shift)是一種將頻域圖像的低頻成分移動到中心的標準化操作。 1. 為什么需要FFT移位? 原始FFT輸出特性: 二維FFT的直接計算結果中: 低頻分量(圖像的整體亮度和平滑部分)位于頻譜圖的四個角落 高頻分量(邊緣、細節…

python打卡day34@浙大疏錦行

知識點回歸&#xff1a; CPU性能的查看&#xff1a;看架構代際、核心數、線程數GPU性能的查看&#xff1a;看顯存、看級別、看架構代際GPU訓練的方法&#xff1a;數據和模型移動到GPU device上類的call方法&#xff1a;為什么定義前向傳播時可以直接寫作self.fc1(x) ①CPU性能查…

Windows 配置 ssh 秘鑰登錄 Ubuntu

在 Windows 上推送 SSH 公鑰到遠程服務器&#xff08;類似于 Linux 上的 ssh-copy-id&#xff09;可以通過以下幾種方法實現&#xff1a; ** 手動復制公鑰內容** 查看本地公鑰內容&#xff1a;type $env:USERPROFILE\.ssh\id_rsa.pub登錄遠程服務器&#xff0c;將公鑰內容粘貼…