前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用腾讯云CVM挂载COS作为Emby媒体服务器

使用腾讯云CVM挂载COS作为Emby媒体服务器

原创
作者头像
4O4
修改于 2023-07-05 14:27:35
修改于 2023-07-05 14:27:35
1.4K00
代码可运行
举报
文章被收录于专栏:404404
运行总次数:0
代码可运行

多款腾讯云产品免费体验:https://cloud.tencent.com/act/free?from=20863

最近收集了一些4k杜比视界的资源,于是想搭建自己的媒体服务器,考虑到NAS维护麻烦、网盘容量过小且限速,我决定在腾讯云上使用Emby搭建一套媒体服务器。首先我们需要一台云服务器,这里我选择使用竞价实例进行测试,待服务稳定后再利用镜像进行构建生产环境。

使用腾讯云CVM+COS搭建Emby服务器给我的整体感觉非常不错。在CVM上通过配置挂载点,将COS作为本地磁盘来使用,实现了高效的存储和计算,并且极大提高了性能和可靠性,同时也降低了成本。得益于腾讯云cvm强大的性能和优质的bgp网络,实际操作中在线播放4kHDR视频可以做到秒开,并且拖动进度条缓冲也很快。AMD EPYC系列处理器拥有更多核心、线程数量的优势,在解码10bit时并没有让我失望,相对于英特尔至强处理器依然有明显性能提升,总之嘎嘎香!

COS

目录和文件已经遵从emby命名规则准备好了。

服务器

【地域】地域选择与COS同一个地域,腾讯云针对部分同地域产品解析会优先走内网,省掉了公网流量费用,请求次数依然按实际计费。

【实例】随意,SA2老机型最便宜,这里我发现1c1g、1c2g、2c2g折后都是0.03¥/h于是选了2c2g。

【镜像】选Ubuntu20 x64,听我的少走弯路。

【网络】带宽太贵了我们按使用流量,带宽拉满4k秒开,个人流媒体服务器按流量相对更划算。

【安全组】全部放通,或者是放开22(ssh)、8096(emby)、8920(emby https)。

等待服务器创建完成。

SSH连接服务器设置root密码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo passwd root

流量包

因为我们的服务器是按量计费,可以购买流量包,和手机的流量包一样,用来抵扣CVM产生的流量费用,根据自己实际情况按需购买。

COSFS

功能说明

COSFS 工具支持将对象存储(Cloud Object Storage,COS)存储桶挂载到本地,像使用本地文件系统一样直接操作腾讯云对象存储中的对象, COSFS 提供的主要功能包括:

  • 支持 POSIX 文件系统的大部分功能,如:文件读写、目录操作、链接操作、权限管理、uid/gid 管理等功能。
  • 大文件分块传输功能。
  • MD5 数据校验功能。
  • 将本机数据上传至 COS,建议使用 COS Migration 工具COSCMD 工具

局限性

COSFS 基于 S3FS 构建,读取和写入操作都经过磁盘中转,仅适合挂载后对文件进行简单的管理,不支持本地 POSIX 协议文件系统的一些功能用法;相比于 COSFS,更建议您使用 GooseFS-Lite工具访问 COS,GooseFS-Lite 是一个轻量级单机 COS Fuse 工具,具有更好的读写性能和稳定性;此外,您也可以选择使用 腾讯云存储网关访问 COS,腾讯云存储网关可以将 COS 存储桶,以网络文件系统挂载到多个服务器上,用户可以使用 POSIX 文件协议,通过挂载点读写 COS 上的对象; COSFS 的使用,需注意以下不适用的场景,例如:

  • 随机或者追加写文件会导致整个文件的下载以及重新上传,您可以使用与 Bucket 在同一个地域的 CVM 加速文件的上传下载。
  • 多个客户端挂载同一个 COS 存储桶时,依赖用户自行协调各个客户端的行为。例如避免多个客户端写同一个文件等。
  • 文件/文件夹的 rename 操作不是原子的。
  • 元数据操作,例如 list directory,性能较差,因为需要远程访问 COS 服务器。
  • 不支持 hard link,不适合高并发读/写的场景。
  • 不可以同时在一个挂载点上挂载、和卸载文件。您可以先使用 cd 命令切换到其他目录,再对挂载点进行挂载、卸载操作。

看起来GooseFS-Lite更符合我的需求,但我为什么用COSFS而不用GooseFS-Lite呢?因为GooseFS-Lite安装过程复杂,碰到过很多问题,下次闲下来再尝试。有问题多看文档,还不行就提工单。

下载

下载COSFS,根据系统版本选择对应的安装包,github慢的可以通过cdn下载。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#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 为例。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo dpkg -i cosfs_1.0.20-ubuntu20.04_amd64.deb

使用

配置密钥文件

在文件 /etc/passwd-cosfs 中,写入您的存储桶名称(格式为 BucketName-APPID),以及该存储桶对应的<SecretId> 和 <SecretKey>,三项之间使用半角冒号隔开。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo su  # 切换到 root 身份,以修改 /etc/passwd-cosfs 文件;如果已经为 root 用户,无需执行该条命令。
echo <BucketName-APPID>:<SecretId>:<SecretKey> > /etc/passwd-cosfs

如果没有passwd-cosfs就自己新建。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch /etc/passwd-cosfs

为了防止密钥泄露,COSFS 要求您将密钥文件的权限值设置为640。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chmod 640 /etc/passwd-cosfs
示例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo examplebucket-1250000000:AKIDHTVVaVR6e3****:PdkhT9e2rZCfy6**** > /etc/passwd-cosfs
chmod 640 /etc/passwd-cosfs

运行

将密钥文件中配置的存储桶挂载到指定目录,可以使用如下命令行。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cosfs <BucketName-APPID> <MountPoint> -ourl=http://cos.<Region>.myqcloud.com -odbglevel=info -oallow_other

其中:

  • <MountPoint> 为本地挂载目录(例如/mnt)。
  • <Region> 为地域简称, 例如 ap-guangzhou 、 eu-frankfurt 等。更多地域简称信息,请参见 可用地域
  • -odbglevel 指定日志级别,默认为crit,可选值为crit、error、warn、info、debug。
  • -oallow_other 允许非挂载用户访问挂载文件夹。
示例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p /mnt/cosfs
cosfs examplebucket-1250000000 /mnt/cosfs -ourl=http://cos.ap-guangzhou.myqcloud.com -odbglevel=info -onoxattr -oallow_other

可以看到我们已经挂载成功了。

卸载

卸载存储桶示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
方式1:fusermount -u /mnt, fusermount 命令专用于卸载 FUSE 文件系统 
方式2:umount -l /mnt, 当有程序引用文件系统中文件时,进行卸载不会报错,并在没程序引用时完成卸载
方式3:umount /mnt, 当有程序引用文件系统中的文件时,进行卸载会报错

常见问题

如果您在使用 COSFS 工具过程中有相关的疑问,请参见 COSFS 工具类常见问题

Emby

下载

安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dpkg -i emby-server-deb_4.7.11.0_amd64.deb

访问

选择语言

创建用户

新建资源库

尽量选中文,不懂的默认就行。

添加目录

就是映射cos到本地的那个目录。

目录添加完成。

一路配置完成。

进入首页

第一次进来是没有元数据的,需要等待emby进行搜刮。

域名解析

等待的时间里我们可以做点别的,比如通过域名来访问emby,我们可以把域名解析到服务器,但如果COS和CVM都是用的境外地区那你就可以跳过这一步了,只有国内需要备案。

HTTPS访问

端口号视情况自行修改,外部域填写你的域名,证书路径填写你的证书路径,注意格式为 .pfx,这是tomcat常用的格式,证书密码如实填写。最后保存配置。

最后重启emby服务器。

好了,搜刮好之后是这样的。

国内网络环境对搜刮不是很友,如果一直没有元数据可以修改服务器的hosts文件,添加如下记录后保存退出。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
丰富排版页面——为你的wordpress主题添加短代码形式美化框
相信有些wordpresser知道这个东东,在一些主题上这是标配,如deve主题、iartwork主题。原理大概是通过wordpress本身的短代码功能,事先在主题用css样式定义一些美化框,在编辑文章时写入短代码修饰,正式发表后再前台就可以看到效果。 如果你不会或不想修改主题代码实现这个功能,可以考虑一款短代码插件S-shortcodes。使用插件与直接代码增加的效果几乎是一样的(即安装插件对WordPress 速度上影响不大)。详细可以见《S-shortcodes:WordPress短代码形式美
Jeff
2018/01/19
2.3K0
丰富排版页面——为你的wordpress主题添加短代码形式美化框
一款很不错的FLASH时种插件
直接贴一段代码上来,大家看看效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head> <body> <div style="width: 300px;
小小许
2018/09/20
4680
博客园特效简单添加
  为了是博客稍微花哨一点,不要太单调,简单的添加了一些特效进来.   时钟人特效添加,只需要一段代码就可以达到效果了. <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="160" height="70" id="honehonec
@坤的
2018/06/04
1.2K0
那些年我们一起学XSS - 9. Dom Xss入门 [隐式输出]
前注:1-4 是普通原理,没看明白的话,可以从5开始,结合实际例子看。 1. 本来是有另外一个例子的,不过不知道是腾讯已经给修复了,还是之前测试的时候人品好,偶尔碰上了,总之现在用不上了。
渗透攻击红队
2019/11/20
5730
那些年我们一起学XSS - 9. Dom Xss入门 [隐式输出]
情人节程序员用HTML网页表白【我永远属于你】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
1 网页简介:基于 HTML+CSS+JavaScript 制作七夕情人节表白网页、生日祝福、七夕告白、 求婚、浪漫爱情3D相册、炫酷代码 ,快来制作一款高端的表白网页送(他/她)浪漫的告白,制作修改简单,可自行更换背景音乐,文字和图片即可使用
IT司马青衫
2022/08/21
9720
情人节程序员用HTML网页表白【我永远属于你】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
flash cookie的制作和使用例子详解 三
大家好,又见面了,我是你们的朋友全栈君。前面的两篇博客介绍的是怎么用页面来操作flash cookie,还要放在容器里运行,这篇做一个简单的仅仅使用flash就可以读写flash cookie的例子
全栈程序员站长
2022/09/14
2880
打造自己的博客园页面
刚接触博客园时,总有一种要定制打造自己博客页面的冲动,后来感觉原有的模板足够了(博客园提供了大量的模板),没有做这项工作。今天不太忙,稍微研究了下博客园的页面定制功能,记录如下。
黑泽君
2018/10/11
1.7K0
打造自己的博客园页面
网页中插入FLASH代码的参数解释与使用技巧
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" WIDTH="550" HEIGHT="400" > <PARAM VALUE="myFlashMovie.swf"> <PARAM VALUE=high> <PARAM VALUE=#FFFFFF> <EMBED src="/support/flash/ts/documents/myFlashMovie.swf" quality=high bgcolor=#FFFFFF WIDTH="550" HEIGHT="400" NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"> </EMBED> </OBJECT>
阳光岛主
2019/02/19
1.8K0
flash视频器播放器代码
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155713.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/07
3.8K0
使用ZeroClipboard解决跨浏览器复制到剪贴板的问题
Zero Clipboard的实现原理 Zero Clipboard 利用透明的Flash让其漂浮在复制按钮之上,这样其实点击的不是按钮而是 Flash ,这样将需要的内容传入Flash,再通过Flash的复制功能把传入的内容复制到剪贴板。 Zero Clipboard的安装方法 首先需要下载 Zero Clipboard的压缩包,解压后把文件夹中两个文件:ZeroClipboard.js 和 ZeroClipboard.swf 放入到你的项目中。 然后把在你要使用复制功能的页面中引入Zero Clipbo
磊哥
2018/05/08
1.8K0
HTML5期末大作业:大学生个人网站设计——我们的班级(7页) HTML+CSS+JavaScript 学生DW网页设计作业成品 html网页制作代码大全 html5网页设计作业代码
HTML5期末大作业:大学生个人网站设计——我们的班级(7页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码
全栈程序员站长
2022/09/30
1.4K0
HTML5期末大作业:大学生个人网站设计——我们的班级(7页) HTML+CSS+JavaScript 学生DW网页设计作业成品 html网页制作代码大全 html5网页设计作业代码
解决ueditor上传视频、音频的一些bug
使用ueditor上传视频和音频功能之前一直没有用,也没有去搞因为用不太着。现在想上传个视频就搞了一下都是在网上找的方法一步一步的试,花了几个小时终于好了。记录下怎么改的。
sunonzj
2022/06/21
2K0
博客园自定义皮肤扁平化设计
博客园自定义皮肤设计 效果抢先看 眼见为实!!!戳戳戳》》》marsggbo的博客园 1. 博客皮肤 首先将博客皮肤选为BlackLowKey 2. 代码设置 1) 页面定制CSS代码 body
marsggbo
2018/01/23
1.1K0
博客园自定义皮肤扁平化设计
flash cookie的制作和使用例子详解 一
大家好,又见面了,我是你们的朋友全栈君。flash cookie是什么,有什么作用,这些不做介绍,可以在网上搜,这里主要是做一个制作和使用flash cookie的例子
全栈程序员站长
2022/09/14
7220
深入理解JavaScript系列(31):设计模式之代理模式
代理模式使得代理对象控制具体对象的引用。代理几乎可以是任何对象:文件,资源,内存中的对象,或者是一些难以复制的东西。
用户4962466
2020/01/15
4290
CRTMP视频直播服务器部署及测试
svn co –username anonymous –password “” https://svn.rtmpd.com/crtmpserver/trunk crtmpserver
全栈程序员站长
2022/06/27
1.2K0
详谈如何定制自己的博客园皮肤
如果你仅仅想原封不动的使用本人的定制皮肤,而不想了解实现细节。那么你只需要完成以下几个步骤即可,后面的章节可以忽略。
静默虚空
2018/07/31
2.4K0
详谈如何定制自己的博客园皮肤
html:修改版火影忍者静态网页设计,实例三(附带完整源码)
上效果图,想象下这是动态的,因为我只能截图,就想象下吧,我觉得就这么单纯的网页就算加上酷炫效果也不够好啊,我就每一个网页加了火影忍者的主题曲,还真的好听,哈哈!
川川菜鸟
2021/10/18
3.1K0
大一学生网页课程作业 南京介绍网页设计 学生家乡网页设计作品静态 HTML网页模板源码 html我的家乡网页作业
家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有运用,CSS的代码量也很足、很细致,使用hover来完成过渡效果、鼠标滑过效果等,使用表格、表单补充模块,为方便新手学习页面中没有使用js有需要的可以自行添加。 --- @TOC 一、网页介绍📖 1 网页简介:此作品为学生个人主页网页设计题材,HTML+CSS 布局制作,web前
IT司马青衫
2022/08/14
2.2K0
大一学生网页课程作业 南京介绍网页设计 学生家乡网页设计作品静态 HTML网页模板源码 html我的家乡网页作业
基于Fusioncharts的报表统计
本博客介绍fusioncharts插件的使用 先了解fusioncharts插件,fusioncharts是一款基于XML和flash的报表组件,支持Java、PHP、AngularJS等等开发语言,所以,开发出来,加入swf文件,就可以出现动态效果的报表统计,具有2D和3D效果的图表,下面是官网和详细分类
SmileNicky
2019/01/17
1.1K0
推荐阅读
相关推荐
丰富排版页面——为你的wordpress主题添加短代码形式美化框
更多 >
LV.3
公众号:猫头虎技术团队职业: 全栈软件工程师
目录
  • COS
  • 服务器
  • 流量包
  • COSFS
    • 功能说明
    • 局限性
    • 下载
    • 安装
    • 使用
      • 配置密钥文件
      • 示例
    • 运行
      • 示例
    • 卸载
    • 常见问题
  • Emby
    • 下载
    • 安装
    • 访问
      • 选择语言
    • 创建用户
    • 新建资源库
    • 添加目录
    • 进入首页
    • 域名解析
    • HTTPS访问
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档