你只需要在现有Samba配置基础上,补充几处关键设置、完善系统权限并开启配套服务,
就能让局域网网络播放器顺利发现并访问NAS里的视频文件。
优化Samba全局配置
在smb.conf配置文件中[global]字段末尾添加以下内容,以大幅提升设备兼容性:
unix charset = UTF-8 dos charset = CP936 display charset = UTF-8 min protocol = SMB2 max protocol = SMB3 socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536 dns proxy = no disable netbios = no
最后如下:配置文件位置:etc/samba/smb.conf
[global] ## Browsing/Identification ### # Change this to the workgroup/NT-domain name your Samba server will part of workgroup = WORKGROUP # server string is the equivalent of the NT Description field server string = %h server (Samba, Ubuntu) unix charset = UTF-8 dos charset = CP936 display charset = UTF-8 min protocol = SMB2 max protocol = SMB3 socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536 dns proxy = no disable netbios = no
作用:
解决中文文件名乱码问题,
兼容老旧播放器的SMB2协议,
优化局域网传输速度,
确保设备能通过NetBIOS发现你的NAS 。
完善共享目录的系统权限
你配置的视频共享目录(如、),需要在Ubuntu系统中开放读写权限:/mnt/sda1/mnt/sdb1
sudo chmod -R 0777 /mnt/sda1 sudo chmod -R 0777 /mnt/sdb1
执行后,确保目录下所有视频文件和子文件夹都能被匿名访客正常读取,
避免播放器出现“能看到共享名但点进去空文件夹”的问题。
重启smb服务:
systemctl restart smbd
=======可选=====================
放行防火墙关键端口
在Ubuntu防火墙中开放Samba和网络发现所需的端口:
sudo ufw allow 137/udp sudo ufw allow 138/udp sudo ufw allow 139/tcp sudo ufw allow 445/tcp sudo ufw reload
这些端口对应SMB共享、NetBIOS网络发现服务,是播放器扫描局域网设备的必要条件 。
========如果没有防火墙就忽略======
开启DLNA/UPnP媒体发现服务
很多网络播放器默认优先通过DLNA协议自动扫描媒体库,仅靠Samba可能无法自动发现视频文件:
1.安装MiniDLNA服务:【配置ubuntu-arm的源地址请看另一篇文章>>>】
sudo apt update && sudo apt install minidlna -y
2.编辑配置文件,添加你的视频目录:/etc/minidlna.conf
media_dir=V,/mnt/sda1 media_dir=V,/mnt/sda1/一口气看完系列 media_dir=V,/mnt/sdb1 media_dir=V,/mnt/sdb1/发送同步的文件夹 friendly_name=CUMEBOX2-NAS inotify=yes
同时更改数据库位置:
db_dir=/mnt/sda1/minidlna #把数据库目录改到了sda1(避免占满系统盘)/mnt/sda1/minidlna
3.0启动并设置开机自启:
sudo systemctl enable --now minidlna
输出类似下面:
root@CumeBox2:~# sudo systemctl enable --now minidlna minidlna.service is not a native service, redirecting to systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable minidlna
3.1 先确保服务停了
sudo systemctl stop minidlna
3.2确保数据库目录存在(你自己改了路径,确认一下)
# 1. 确保目录存在 mkdir -p /mnt/sda1/minidlna # 2. 修改目录权限为 777 (所有用户可读可写可执行) chmod -R 777 /mnt/sda1/minidlna # 3. 如果之前已经生成了 files.db,删除它让服务重新生成(避免旧文件权限锁死) rm -f /mnt/sda1/minidlna/files.db
3.3 强制重建媒体库(注意命令名是 minidlnad,末尾有 d)
sudo /usr/sbin/minidlnad -R
3.4. 启动服务
sudo systemctl start minidlna
# 或者用服务方式启动
sudo systemctl restart minidlna
两个注意事项
首次扫描会吃 CPU :视频多的话可能要扫几分钟,期间温度升高、负载上去是正常的,扫完就降下来了。
db_dir 放 /mnt/sda1 要注意 :你把数据库放在数据盘上,
如果这块盘是 USB 外接的且偶尔会掉线,minidlna 会因为找不到 db_dir 而启动失败。
如果遇到启动失败,先确认 挂载正常。/mnt/sda1
最后验证一下:
#查看配置目录:
# 查看当前生效的配置(过滤掉注释行)
grep -v "^#" /etc/minidlna.conf | grep -v "^$"
重点看这几行有没有:
media_dir=V,/mnt/sda1 media_dir=V,/mnt/sda1/一口气看完系列 media_dir=V,/mnt/sdb1 media_dir=V,/mnt/sdb1/发送同步的文件夹 friendly_name=CUMEBOX2-NAS inotify=yes db_dir=/mnt/sda1/minidlna
# 看服务状态
sudo systemctl status minidlna
# 看扫描日志,确认它在扫你的视频文件
tail -40 /var/log/minidlna.log
# 看端口在监听没
ss -tulnp | grep -E "1900|8200"
日志里如果出现 、 之类的,就说明正在工作。Scanning /mnt/sda1Scanning /mnt/sdb1
端口 1900(UDP,DLNA 发现用)和 8200(TCP,HTTP 媒体流)都在监听就对了。
去播放器上找
打开播放器,在 UPnP / DLNA / 媒体服务器 分类里刷新,
应该能看到 CUMEBOX2-NAS,点进去就能浏览所有视频了。
===============
最后注意点:
root@CumeBox2:~# sudo minidlna -R sudo: minidlna: command not found
提示找不到指令。
这说明 minidlna 虽然装了(能设置开机自启),但 可执行文件可能不在默认 PATH 里 ,或者实际二进制名不是 minidlna
按下面步骤排查:
1.找到 minidlna 的实际路径
# 全盘搜索 minidlna 相关文件
sudo find / -name "minidlna*" -type f 2>/dev/null | grep -v "/proc"
常见位置有:
/usr/sbin/minidlnad(很多发行版里叫 ,末尾有个 d)minidlnad
/usr/bin/minidlna
/usr/local/sbin/minidlnad
你找到的文件名很可能是minidlnad(daemon 版本),而不是minidlna
2.试试用完整路径执行
如果上面 find 找到的是 ,就这样执行:/usr/sbin/minidlnad
# 停止当前服务
sudo systemctl stop minidlna
# 用完整路径执行强制重建(注意末尾的 d)
sudo /usr/sbin/minidlnad -R
# 再启动服务
sudo systemctl start minidlna
3.查看服务启动脚本,确认它到底调的哪个命令
# 看 SysV 启动脚本里用的什么命令
cat /etc/init.d/minidlna | grep -E "DAEMON|minidlna|minidlnad"
里面会告诉你真实的二进制路径和名字,照着用就行。
4.最简验证方法
不管 能不能用,服务跑起来就会自动扫描。直接看服务状态和日志就行:-R
# 看服务状态
sudo systemctl status minidlna
# 看扫描日志
tail -30 /var/log/minidlna.log
如果日志里有类似下面的内容,说明它已经在工作了,不一定要手动执行:
root@CumeBox2:~# tail -40 /var/log/minidlna.log [2026/09/22 18:35:29] minidlna.c:1060: warn: Starting MiniDLNA version 1.2.1. [2026/09/22 18:35:29] minidlna.c:355: warn: Creating new database at /var/cache/minidlna/files.db [2026/09/22 18:35:29] minidlna.c:1101: warn: HTTP listening on port 8200 [2026/09/22 18:35:29] scanner.c:730: warn: Scanning /var/lib/minidlna [2026/09/22 18:35:29] scanner.c:819: warn: Scanning /var/lib/minidlna finished (0 files)! [2026/09/22 18:35:29] playlist.c:135: warn: Parsing playlists... [2026/09/22 18:35:29] playlist.c:269: warn: Finished parsing playlists. [2026/09/22 18:44:58] minidlna.c:155: warn: received signal 15, good-bye [2026/09/22 18:45:00] minidlna.c:1060: warn: Starting MiniDLNA version 1.2.1. [2026/09/22 18:45:00] minidlna.c:355: warn: Creating new database at /mnt/sda1/minidlna/files.db [2026/09/22 18:45:01] minidlna.c:1101: warn: HTTP listening on port 8200 [2026/09/22 18:45:53] metadata.c:697: warn: Opening /mnt/sda1/downloads/新三国2010/新三国2010第95集.mkv failed! [Invalid data found when processing input] [2026/09/22 18:45:53] scanner.c:489: warn: Unsuccessful getting details for /mnt/sda1/downloads/新三国2010/新三国2010第95集.mkv [2026/09/22 18:49:17] minidlna.c:155: warn: received signal 15, good-bye [2026/09/22 18:49:43] minidlna.c:1060: warn: Starting MiniDLNA version 1.2.1. [2026/09/22 18:49:43] minidlna.c:355: warn: Creating new database at /mnt/sda1/minidlna/files.db [2026/09/22 18:49:43] minidlna.c:1101: warn: HTTP listening on port 8200
打开你的网络播放器(电视盒子、投影、Kodi 等),
在「 UPnP 」「DLNA 」「媒体服务器 」这类分类里刷新一下,应该就能看到 CumeBox2-NAS 了。
返回顶部