Nas-014,闲置vps安装jellyfin并播放挂载google drive盘内影音

群晖nas安装jellyfin很多大佬都写过教程了,我就先等等再发了,到时候发一篇详细的,适合小白上手的。

最近一直在折腾无限google drive,搬运各种资源到自己的云盘,已经达到了痴迷的程度。其实手机端播放谷歌盘内的影音可以使用nplayer或者infuse,最近看到有些小伙伴总是问如何在vps搭载emby或者jellyfin并且播放谷歌云盘内影音。博主看到后其实认为这种方式并不合适,因为这种使用网页端播放就会在服务器端进行解码,vps小鸡那配置,估计会被卡爆,但是也不失为一种方式,这里咱们试一下,看下效果。

博主搭载的是jellyfin,如果你使用emby搭载方式大同小异,可以网上找下教程。

Jellyfin

Jellyfin是一个自由软件媒体系统,可让您控制媒体的管理和流媒体。它是专有的EmbyPlex的替代品,可通过多个应用程序从专用服务器向终端用户设备提供媒体。JellyfinEmby 3.5.2版本的后代,移植到.NET Core框架以支持完整的跨平台支持。没有任何附加条件,只是一个团队想要更好地构建更好的东西并共同努力实现它,致力于让所有用户都能访问最好的媒体系统。

开始安装

所需工具

  1. vps服务器
  2. google drive

现在手上有个2核1g 30g硬盘的闲置小鸡,基本上没跑什么东西,装了个aria2和oneindex,一会看下播放影片的效果,现在小鸡的状态,可以看到小鸡的cpu和内存基本上都没怎么占用。

安装jellyfin

这里需要注意一点,网上有docker的安装教程,这里我们使用的是软件包安装,因为博主使用docker安装后发现jellyfin无法添加挂载的谷歌云盘作为媒体库,所以小伙伴们最好使用软件包安装。

登录jellyfin官网(jellyfin.rog)下载对应的软件包,我的vps安装的debain9,找到对应的安装包下载。

 

将下载好的软件包上传到vps的root目录下,查看下是否上传成功

ls

#安装软件包

dpkg -i jellyfin_10.0.0-1_amd64.deb

#更新系统

apt update

#如果报错,再自动修复并安装下依赖和软件

apt -f install -y

#查看状态

service jellyfin status

#开机自启

systemctl enable jellyfin

安装完上面的命令就可以用ip:8096打开jellyfin了。这里我们先不做设置,先把google drive挂载到vps。

挂载google drive

#安装rclone

wget https://www.moerats.com/usr/shell/rclone_debian.sh && bash rclone_debian.sh

 

#初始化设置

rclone config

 

n) New remote
s) Set configuration password
q) Quit config
n/s/q> n #新建
name> g  #给挂载谷歌盘命名,我为了方便命名为g
Type of storage to configure.
Enter a string value. Press Enter for the default (“”).
Choose a number from below, or type in your own value
1 / 1Fichier
\ “fichier”
2 / Alias for an existing remote
\ “alias”
3 / Amazon Drive
\ “amazon cloud drive”
4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
\ “s3”
5 / Backblaze B2
\ “b2”
6 / Box
\ “box”
7 / Cache a remote
\ “cache”
8 / Citrix Sharefile
\ “sharefile”
9 / Dropbox
\ “dropbox”
10 / Encrypt/Decrypt a remote
\ “crypt”
11 / FTP Connection
\ “ftp”
12 / Google Cloud Storage (this is not Google Drive)
\ “google cloud storage”
13 / Google Drive
\ “drive”
14 / Google Photos
\ “google photos”
15 / Hubic
\ “hubic”
16 / In memory object storage system.
\ “memory”
17 / JottaCloud
\ “jottacloud”
18 / Koofr
\ “koofr”
19 / Local Disk
\ “local”
20 / Mail.ru Cloud
\ “mailru”
21 / Mega
\ “mega”
22 / Microsoft Azure Blob Storage
\ “azureblob”
23 / Microsoft OneDrive
\ “onedrive”
24 / OpenDrive
\ “opendrive”
25 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
\ “swift”
26 / Pcloud
\ “pcloud”
27 / Put.io
\ “putio”
28 / QingCloud Object Storage
\ “qingstor”
29 / SSH/SFTP Connection
\ “sftp”
30 / Sugarsync
\ “sugarsync”
31 / Transparently chunk/split large files
\ “chunker”
32 / Union merges the contents of several remotes
\ “union”
33 / Webdav
\ “webdav”
34 / Yandex Disk
\ “yandex”
35 / http Connection
\ “http”
36 / premiumize.me
\ “premiumizeme”
Storage> 13  #选择google drive  13
** See help for drive backend at: https://rclone.org/drive/ **

Google Application Client Id
Setting your own is recommended.
See https://rclone.org/drive/#making-your-own-client-id for how to create your own.
If you leave this blank, it will use an internal key which is low performance.
Enter a string value. Press Enter for the default (“”).
client_id> #回车
Google Application Client Secret
Setting your own is recommended.
Enter a string value. Press Enter for the default (“”).
client_secret> #回车
Scope that rclone should use when requesting access from drive.
Enter a string value. Press Enter for the default (“”).
Choose a number from below, or type in your own value
1 / Full access all files, excluding Application Data Folder.
\ “drive”
2 / Read-only access to file metadata and file contents.
\ “drive.readonly”
/ Access to files created by rclone only.
3 | These are visible in the drive website.
| File authorization is revoked when the user deauthorizes the app.
\ “drive.file”
/ Allows read and write access to the Application Data folder.
4 | This is not visible in the drive website.
\ “drive.appfolder”
/ Allows read-only access to file metadata but
5 | does not allow any access to read or download file content.
\ “drive.metadata.readonly”
scope> 1 #选择1
ID of the root folder
Leave blank normally.

Fill in to access “Computers” folders (see docs), or for rclone to use
a non root folder as its starting point.

Note that if this is blank, the first time rclone runs it will fill it
in with the ID of the root folder.

Enter a string value. Press Enter for the default (“”).
root_folder_id> #回车
Service Account Credentials JSON file path
Leave blank normally.
Needed only if you want use SA instead of interactive login.
Enter a string value. Press Enter for the default (“”).
service_account_file> #回车
Edit advanced config? (y/n)
y) Yes
n) No (default)
y/n> #回车
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes (default)
n) No
y/n> n
Please go to the following link: https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=202264815644.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%3A%2F%2Fwww.googleapisFW6Ur8TYodFCYlg  #把这个网址复制到浏览器授权rclone 得到授权码
Log in and authorize rclone for access
Enter verification code> #粘贴上面得到的授权码
Configure this as a team drive?
y) Yes
n) No (default)
y/n> #回车
——————–
[g]
type = drive
scope = drive
token = {“access_token”:”}
——————–
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> #回车
Current remotes:

Name Type
==== ====
g drive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q

新建挂载目录,注意此处目录千万不要建立在root文件夹下,否则jellyfin无法读取

mkdir /gdrive

cd /gdrive

mkdir disk

 

#挂载为磁盘,下面的DriveName、Folder、LocalFolder参数根据说明自行替换

rclone mount DriveName:Folder LocalFolder –copy-links —no-gzip-encoding —no-check-certificate –allow-other –allow-non-empty —umask 000

DriveName为初始化配置填的name即为gFolderGoogle Drive里的文件夹即留空即可,LocalFolderVPS上的本地文件夹即为/gdrive/disk。

故命令为

rclone mount g: /gdrive/disk –copy-links –no-gzip-encoding –no-check-certificate –allow-other –allow-non-empty –umask 000 –daemon

 

#查看是否挂载成功

df -h

看到已经挂载成功了大小1p,实际是无限容量的盘。

设置开机启动

command=”mount g: /gdrive/diskroot/bak –copy-links –no-gzip-encoding –no-check-certificate –allow-other –allow-non-empty –umask 000″

#以下是一整条命令,一起复制到SSH客户端运行

cat > /etc/systemd/system/rclone.service <<EOF

[Unit] Description=Rclone

After=network-online.target

 

[Service]

Type=simple

ExecStart=$(command -v rclone) ${command}

Restart=on-abort

User=root

 

[Install]

WantedBy=default.target

EOF

初始化jellyfin

ip:8096打开jellyfin

语言设置

这里需要设置媒体库的文件夹,点击加号

点击folders加号

选择根目录-gdrive-disk后面就能选择你googledrive下的目录了

可以看到设置媒体库完成了

语言和国家

后面一路下一步就行了。

最后安装好了,就自行去后台设置,转码那里还需要你填上ffmpeg路径,一般为/usr/bin,可使用which ffmpeg查看路径。

测试效果

现在jellyfin应该还在扫描刚才设置好的媒体库,我们去看下cpu内存的情况

可以看到主要还是cpu占用较高,但是并非总是100%占用,现在这个小鸡的情况是最高90%左右。

速度测试

480p清晰度,播放速度没问题,拖拽进度条会有少许等待,可以看到cpu占用不是特别高,偶尔达到90%左右

720p清晰度,cpu90%占用时间明显增多,播放基本流畅,拖拽进度条需等待。

更高清晰度,基本就是卡顿比较严重了。

写在最后

博主也看到网上有很多教程,关于vps安装jellyfin或者emby的,但是我真心不知道他们是如何做到服务端解码然后流畅播放高清晰度电影的,卡不卡顿和两个因素有关,一个是vps的网络环境,一个是配置是否够高。

我昨天用了一个1核1g的测试,观看效果比今天2核1g的强一些,我感觉应该是昨天的vps的网络环境好一些。

博主自己主要还是用nas端的jellyfin来观影,google drive用infuse,这个完全是看到很多小伙伴问如何挂载设置才写的教程,也算是个思路,感兴趣的可以尝试下,教程写的非常详细了。

博主也曾想过如何让jellyfin读取挂载在nas上的google drive,不过没有找到方法,不知道有没有大神实现,烦请指教一二。

好了,我是小羊shawn,一只爱折腾的土木羊,欢迎关注一波!

 

未经允许不得转载: » Nas-014,闲置vps安装jellyfin并播放挂载google drive盘内影音

分享到: 更多 (0)

评论 抢沙发

  • QQ号
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

我的文章发布平台

值得买今日头条

登录

忘记密码 ?

切换登录

注册