1.源码源码概念
2.源码和软件有什么区别
3.omv 家用 nas 搭建[4],家用教程 jellyfin 部署
源码源码概念
源码,源码源码从字面上理解,搭建搭建是视频指存储在文件中用于程序开发的特定字符集合,通常被称为源代码。家用教程在日常使用中,源码源码凡科建站源码"源代码"与"源文件"的搭建搭建概念常常被互换,如在网页开发中,视频当你右键点击网页并选择查看源文件,家用教程打开的源码源码记事本内容就是该网页的源代码,这体现了两者之间的搭建搭建紧密联系。源代码涵盖了各种编程语言的视频原始代码,无论是家用教程高级语言如C/C++、BASIC、源码源码C#、搭建搭建源码和模板JAVA、PASCAL等,还是汇编语言ASM,其本质都是开发者用来编写程序的原始指令集。 而汇编码,是源代码经过编译或解释后生成的二进制形式,如DLL、EXE文件,或者是.NET和JAVA的中间代码。这些代码是计算机可以直接执行的,与源代码相比,它们执行效率更高,但理解和修改的难度通常也较大。机器语言是货运平台源码最底层的语言,直接由计算机硬件执行,是所有编程语言的出发点和基础。扩展资料
运行的软件是要经过编写的,程序员编写程序的过程中需要他们的“语言”。音乐家用五线谱,建筑师用图纸,那程序员的工作的语言就是“源码”了。 源码就是指编写的最原始程序的代码。源码和软件有什么区别
区别:
源码就是指编写的最原始程序的代码。运行的软件是要经过编写的,程序员编写程序的过程中需要他们的"语言"。音乐家用五线谱,建筑师用图纸,那程序员的步进电机源码工作的语言就是"源码"了。
人们平时使用软件时就是程序把"源码"翻译成我们可直观的形式表现出来供我们使用的。
任何一个网站页面,换成源码就是一堆按一定格式书写的文字和符号,但我们的浏览器帮我们翻译成眼前的模样了。
omv 家用 nas 搭建[4], jellyfin 部署
目前市面上常见的播放服务软件大致有三种,plex,emby,jellyfin。
plex 和 emby 在信息的搜刮以及海报墙展示上个人认为性能会比 jellyfin 更好一些,同时系统也更为稳定,但 plex 和 emby 的高级功能,例如硬件解码以及直播等功能,均需要付费才能支持。扯旋 源码
jellyfin 作为播放系统,除了海报墙等基础功能外,还自带免费的硬件解码以及转码功能,对于远程播放且带宽受限的用户来说,是一个比较经济的解决方案。除此之外,jellyfin 源码也在 github 上 开源了,这相比闭源系统来说,使用更加放心。
部署过程主要参考油管 Techno Dad 相关视频。
由于国内网络性能的原因,从 docker hub 拉取镜像时可能会出现下载缓慢的现象。因此笔者的建议是先将 docker image 下载缓存在本地后再进行 docker-compose 的部署。
从 docker hub 网站 复制命令 docker pull linuxserver/jellyfin,使用 ssh 连接终端,复制命令并运行,等待镜像下载完成。下载后执行 docker image list,应该会看到相应镜像。
打开 portainer,选择侧边栏 stacks ,点击 add stack 按钮即可创建 portainer stack。
portainer stack 使用的是 docker-compose 格式的部署脚本,需要从 docker hub 中的 jellyfin 文档复制并且加以修改。文档中代码如下:
需要修改的地方有以下几个:
根据 linuxserver 文档所述,使用 PUID 和 PGID,可以将容器的内部用户映射到宿主机上的用户,这样能够避免 root 权限配置及容器映射卷内的文件管理问题。
使用 ssh 连接至 omv 终端后,输入id admin 命令获取当前 PUID 以及 PGID,如下图所示,此时的 PUID = ,PGID = 。
根据当前时区位置修改为TZ=Asia/Shanghai
docker 会将宿主机的文件路径映射为容器中的文件路径。在 docker-compose 中,例如/path/to/appdata/config:/config 冒号前的则为宿主机路径,冒号后的为映射的路径。
首先在 omv 中通过添加共享文件夹来创建宿主机的目的文件夹,如下图所示:
在添加时,设备指的是共享文件夹存储对应的硬盘,路径则是共享文件夹在硬盘上存储的相对位置。
创建成功后,在页面上显示的绝对路径即为所要的宿主机路径,如下图所示:
根据部署脚本代码,需要修改以下几个磁盘映射路径:
根据文档所述,主要需要调整以下端口:
实际上主要调整 端口即可。
当使用 intel 集显时,通常情况下在 debian 系统中会自动安装驱动,只需检查 /dev/dri 路径下是否存在 renderD 即可,只要存在则驱动已被安装,只需要挂载驱动即可
--device=/dev/dri:/dev/dri
使用英伟达显卡时,需要先 安装 Nvidia-docker 容器,之后重新启动容器,并在启动项中增加 --runtime=nvidia ,并且增加环境变量 NVIDIA_VISIBLE_DEVICES=all 即可。
经过上述调整,修改后的 docker-compose 大致如以下所示:
设置完点击Deploy the stack 按钮,如果部署脚本没有错误,应该会跳回 stacks 页面。同时使用 http 协议访问 jellyfin 之前设置的 web ui 对应端口,应该能够弹出 jellyfin 登陆界面,证明部署成功:
点击控制台->媒体库->添加媒体库,并将前文挂载的媒体库按照类型进行添加。
添加后点击扫描所有媒体库,系统会自动进行扫描和索引。
intel 核显勾选Video Acceleration API(VAAPI) 选项,并且设备选择 /dev/dri/renderD 即可,将硬件解码部分所有都勾选上,系统遇到合适编码时,将会自动使用硬件进行解码。
至此,jellyfin 基本设置完毕,可以尝试播放媒体库中的视频判断是否成功运行。
这次主要实现了直接部署 jellyfin 在 portainer 上,并且进行了 jellyfin 的基础设置。