树莓派挂了块3.5的硬盘做下载机和局域网影音共享,性能和耗电量都好于群晖Nas,特别是多盘位做raid保护的机型,群晖就不用24小时开机了,有需要的时候可以直接用树莓派通过网卡唤醒。
换了电视后对片源的质量有了更高的要求,文件超过20G后,即使使用wifi6路由器,电视网卡支持800m+的传输速率,smb已经满足不了需求了,播放杜比视界版本的文件ftp也很卡,目前三个共享协议都尝试过了,分享一下搭建的过程。
smb
应该是兼容性最好的协议了,通吃各种系统,很多移动端的播放器也都支持
好习惯,先更新软件源
sudo apt-get update
安装samba
sudo apt-get install samba
sudo apt-get install samba-common-bin
配置samba
sudo vim /etc/samba/smb.conf
global节点下添加一下配置,优化传输速度
min receivefile size = 16384
write cache size = 262144
在配置文件的末尾添加自定义配置
[Public]
comment = Public Storage # 共享文件夹描述
path = /你的共享目录 # 共享文件夹目录
read only = no # 不只读
create mask = 0777 # 创建文件的权限
directory mask = 0777 # 创建文件夹的权限
guest ok = yes # guest访问,无需密码
browseable = yes # 可见
不需要密码到此搭建就结束了,可以直接跳到”重启服务”那步即可
如果sma共享需要密码,添加如下配置
[pt]
# 共享段备注
comment = pt folder
# 共享文件夹路径,必填
path = /你的共享目录
# 是否只读
read only = no
# 允许匿名访问
guest ok = no
# 是否出现在网络发现中
browseable = yes
# 可以访问的用户,这个用户和本地的用户不同
valid users = 你的用户名
为你的用户名设置密码
sudo smbpasswd -a pi
重启服务
sudo samba restart
#或
sudo systemctl restart smbd
附上日志存放的目录,有问题方便排查
cd /var/log/samba/
ftp
比较古老的协议,但在kodi播放器下,传输明显速度优于smb
安全起见,创建新用户,给ftp使用
sudo useradd -m -s /bin/bash ftper
sudo passwd ftper
映射共享的文件路径到新用户的home目录
sudo ln -s /你的共享目录 /home/ftper/你的共享目录
安装vsftpd
sudo apt-get install vsftpd
编辑配置文件
sudo vim /etc/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
启动
sudo service vsftpd start
webdav
速度和ftp没有明显区别,但kodi下播放杜比视界视频时,只有webdav可以流畅播放
下载webdav程序,选择armv7版本
wget https://github.com/hacdias/webdav/releases/linux-armv7-webdav.tar.gz
解压、复制到/usr/bin目录下
tar -zxvf linux-armv7-webdav.tar.gz
sudo cp webdav /usr/bin/
注册service
cd /etc/systemd/system
sudo vim webdav.service
写入如下内容
[Unit]
Description=WebDAV server
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/webdav --config /etc/webdav/config.yaml
Restart=on-failure
[Install]
WantedBy=multi-user.target
建立配置文件
和上面/etc/systemd/system/webdav.service里的ExecStart目录要对应上
cd /etc/webdav/
sudo vim config.yaml
写入
# Server related settings
address: 0.0.0.0
port: 21234
auth: true
tls: false
cert: cert.pem
key: key.pem
# Default user settings (will be merged)
scope: .
modify: true
rules: []
users:
- username: admin
password: admin
#这里为共享目录
scope: /你的共享目录
开机并启动服务
systemctl enable webdav
systemctl start webdav
查看运行状态
systemctl status webdav
不报错的话直接输入
http://你的ip地址:21234
就可以正常访问
根据自身实际使用情况(SONY电视 + 电视版KODI播放器 + 树莓派4 + 千兆有线网络/WIFI6 5G模式传输 + 4K 原生60帧片源/杜比视界片源)和体验来说,个人总结如下表:
协议类型 速度 兼容性 KODI
smb 较快 好 传输性能较差
ftp 快 较好 可播放70G视频文件
webdav 快 差 最理想的模式
总体来说smb协议的兼容性最好,windows/mac/linux均可支持,各个厂商的电视、盒子和各个手机端的播放器均支持smb协议传输,ftp和webdav原生支持的较少。
理论上三者速度相差并不大,这里测试的环境是KODI播放器,没深入了解过KODI读取文件的方式,但大视频文件一定不能用smb协议,杜比视界视频文件一定要用webdav,咨询过KODI其中的一位开发者,他表示webdav可以开启多通道读取文件的模式,有利于文件更快的传输,但并不代表所有播放器的表现都一致。
总结
想要兼容性好首选smb
如果播放器用的KODI,不用折腾,首选webdav