多款腾讯云产品免费体验:https://cloud.tencent.com/act/free?from=20863
最近收集了一些4k杜比视界的资源,于是想搭建自己的媒体服务器,考虑到NAS维护麻烦、网盘容量过小且限速,我决定在腾讯云上使用Emby搭建一套媒体服务器。首先我们需要一台云服务器,这里我选择使用竞价实例进行测试,待服务稳定后再利用镜像进行构建生产环境。
使用腾讯云CVM+COS搭建Emby服务器给我的整体感觉非常不错。在CVM上通过配置挂载点,将COS作为本地磁盘来使用,实现了高效的存储和计算,并且极大提高了性能和可靠性,同时也降低了成本。得益于腾讯云cvm强大的性能和优质的bgp网络,实际操作中在线播放4kHDR视频可以做到秒开,并且拖动进度条缓冲也很快。AMD EPYC系列处理器拥有更多核心、线程数量的优势,在解码10bit时并没有让我失望,相对于英特尔至强处理器依然有明显性能提升,总之嘎嘎香!
目录和文件已经遵从emby命名规则准备好了。
【地域】地域选择与COS同一个地域,腾讯云针对部分同地域产品解析会优先走内网,省掉了公网流量费用,请求次数依然按实际计费。
【实例】随意,SA2老机型最便宜,这里我发现1c1g、1c2g、2c2g折后都是0.03¥/h于是选了2c2g。
【镜像】选Ubuntu20 x64,听我的少走弯路。
【网络】带宽太贵了我们按使用流量,带宽拉满4k秒开,个人流媒体服务器按流量相对更划算。
【安全组】全部放通,或者是放开22(ssh)、8096(emby)、8920(emby https)。
等待服务器创建完成。
SSH连接服务器设置root密码。
sudo passwd root
因为我们的服务器是按量计费,可以购买流量包,和手机的流量包一样,用来抵扣CVM产生的流量费用,根据自己实际情况按需购买。
COSFS 工具支持将对象存储(Cloud Object Storage,COS)存储桶挂载到本地,像使用本地文件系统一样直接操作腾讯云对象存储中的对象, COSFS 提供的主要功能包括:
COSFS 基于 S3FS 构建,读取和写入操作都经过磁盘中转,仅适合挂载后对文件进行简单的管理,不支持本地 POSIX 协议文件系统的一些功能用法;相比于 COSFS,更建议您使用 GooseFS-Lite工具访问 COS,GooseFS-Lite 是一个轻量级单机 COS Fuse 工具,具有更好的读写性能和稳定性;此外,您也可以选择使用 腾讯云存储网关访问 COS,腾讯云存储网关可以将 COS 存储桶,以网络文件系统挂载到多个服务器上,用户可以使用 POSIX 文件协议,通过挂载点读写 COS 上的对象; COSFS 的使用,需注意以下不适用的场景,例如:
看起来GooseFS-Lite更符合我的需求,但我为什么用COSFS而不用GooseFS-Lite呢?因为GooseFS-Lite安装过程复杂,碰到过很多问题,下次闲下来再尝试。有问题多看文档,还不行就提工单。
下载COSFS,根据系统版本选择对应的安装包,github慢的可以通过cdn下载。
#Ubuntu14.04
sudo wget https://github.com/tencentyun/cosfs/releases/download/v1.0.20/cosfs_1.0.20-ubuntu14.04_amd64.deb
#Ubuntu16.04
sudo wget https://github.com/tencentyun/cosfs/releases/download/v1.0.20/cosfs_1.0.20-ubuntu16.04_amd64.deb
#Ubuntu18.04
sudo wget https://github.com/tencentyun/cosfs/releases/download/v1.0.20/cosfs_1.0.20-ubuntu18.04_amd64.deb
#Ubuntu20.04
sudo wget https://github.com/tencentyun/cosfs/releases/download/v1.0.20/cosfs_1.0.20-ubuntu20.04_amd64.deb
安装COSFS,以 Ubuntu20.04 为例。
sudo dpkg -i cosfs_1.0.20-ubuntu20.04_amd64.deb
在文件 /etc/passwd-cosfs 中,写入您的存储桶名称(格式为 BucketName-APPID),以及该存储桶对应的<SecretId> 和 <SecretKey>,三项之间使用半角冒号隔开。
sudo su # 切换到 root 身份,以修改 /etc/passwd-cosfs 文件;如果已经为 root 用户,无需执行该条命令。
echo <BucketName-APPID>:<SecretId>:<SecretKey> > /etc/passwd-cosfs
如果没有passwd-cosfs就自己新建。
touch /etc/passwd-cosfs
为了防止密钥泄露,COSFS 要求您将密钥文件的权限值设置为640。
chmod 640 /etc/passwd-cosfs
echo examplebucket-1250000000:AKIDHTVVaVR6e3****:PdkhT9e2rZCfy6**** > /etc/passwd-cosfs
chmod 640 /etc/passwd-cosfs
将密钥文件中配置的存储桶挂载到指定目录,可以使用如下命令行。
cosfs <BucketName-APPID> <MountPoint> -ourl=http://cos.<Region>.myqcloud.com -odbglevel=info -oallow_other
其中:
mkdir -p /mnt/cosfs
cosfs examplebucket-1250000000 /mnt/cosfs -ourl=http://cos.ap-guangzhou.myqcloud.com -odbglevel=info -onoxattr -oallow_other
可以看到我们已经挂载成功了。
卸载存储桶示例:
方式1:fusermount -u /mnt, fusermount 命令专用于卸载 FUSE 文件系统
方式2:umount -l /mnt, 当有程序引用文件系统中文件时,进行卸载不会报错,并在没程序引用时完成卸载
方式3:umount /mnt, 当有程序引用文件系统中的文件时,进行卸载会报错
如果您在使用 COSFS 工具过程中有相关的疑问,请参见 COSFS 工具类常见问题。
dpkg -i emby-server-deb_4.7.11.0_amd64.deb
尽量选中文,不懂的默认就行。
就是映射cos到本地的那个目录。
目录添加完成。
一路配置完成。
第一次进来是没有元数据的,需要等待emby进行搜刮。
等待的时间里我们可以做点别的,比如通过域名来访问emby,我们可以把域名解析到服务器,但如果COS和CVM都是用的境外地区那你就可以跳过这一步了,只有国内需要备案。
端口号视情况自行修改,外部域填写你的域名,证书路径填写你的证书路径,注意格式为 .pfx,这是tomcat常用的格式,证书密码如实填写。最后保存配置。
最后重启emby服务器。
好了,搜刮好之后是这样的。
国内网络环境对搜刮不是很友,如果一直没有元数据可以修改服务器的hosts文件,添加如下记录后保存退出。
vi /etc/hosts
13.226.225.52 api.themoviedb.org
13.224.161.90 api.themoviedb.org
最后就可以愉快的观影了。
一段时间后查看COS资源使用情况,可以看到产生了请求数和内网下行流量。
云服务器通过内网访问对象存储的请求数是要计费的,但是腾讯云cos给我们提供了一定额度的免费资源包。
云服务器通过内网访问对象存储的下行流量是免费的。详见链接
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。