Jellyscrub配置全解析:从Trickplay到BIF文件,打造个性化预览效果

Jellyscrub配置全解析:从Trickplay到BIF文件,打造个性化预览效果

【免费下载链接】jellyscrubSmooth mouse-over video scrubbing previews for Jellyfin.项目地址: https://gitcode.com/gh_mirrors/je/jellyscrub

Jellyscrub是一款为Jellyfin媒体服务器设计的插件,它提供了流畅的鼠标悬停视频预览功能,让用户在浏览媒体库时能够快速预览视频内容。本文将详细介绍Jellyscrub的配置方法,帮助你从Trickplay到BIF文件生成,打造个性化的视频预览效果。

一、Jellyscrub简介:提升视频浏览体验的必备插件

Jellyscrub通过生成视频预览缩略图(BIF文件)和实现Trickplay功能,让用户在拖动进度条或悬停时能够实时预览视频内容。这种交互方式大大提升了媒体浏览体验,尤其是在处理大量视频文件时。

图1:Jellyscrub提供的视频悬停预览效果,显示了时间点17:41的视频画面

二、核心配置选项详解:定制你的预览体验

Jellyscrub的配置文件位于Nick.Plugin.Jellyscrub/Configuration/PluginConfiguration.cs,包含了多个关键设置项,让你可以根据自己的需求定制预览效果。

2.1 硬件加速设置:提升BIF文件生成效率

public HwAccelerationOptions HwAcceleration { get; set; } = HwAccelerationOptions.None;

硬件加速选项决定了是否使用Jellyfin中设置的硬件加速功能来生成BIF文件。对于老旧的VAAPI或QSV设备,建议设置为"NoEncode"以避免硬件编码MJPEG的问题。

2.2 BIF文件生成时机:平衡性能与体验

public bool OnDemandGeneration { get; set; } = true; public bool ExtractionDuringLibraryScan { get; set; } = true; public MetadataScanBehavior ScanBehavior { get; set; } = MetadataScanBehavior.NonBlocking;
  • OnDemandGeneration:设置为true时,当客户端请求预览而没有可用BIF文件时,会按需生成。
  • ExtractionDuringLibraryScan:设置为true时,在库扫描过程中会生成BIF文件。
  • ScanBehavior:决定元数据提供程序在库扫描/更新时的行为,可选"Blocking"(生成完成后返回)或"NonBlocking"(立即返回,后台生成)。

2.3 预览图片参数:调整缩略图质量与数量

public int Interval { get; set; } = 10000; public int[] WidthResolutions { get; set; } = new[] { 320 };
  • Interval:每张预览图片之间的时间间隔(毫秒),默认10000ms(10秒)。减小此值会增加预览图片数量,提升预览精度,但会增加存储占用和生成时间。
  • WidthResolutions:生成BIF文件的目标宽度分辨率列表(像素),默认[320]。你可以添加多个值来支持不同设备的预览需求。

三、高级配置:优化性能与存储

3.1 进程优先级与线程设置:控制资源占用

public ProcessPriorityClass ProcessPriority { get; set; } = ProcessPriorityClass.BelowNormal; public int ProcessThreads { get; set; } = -1;
  • ProcessPriority:ffmpeg生成BIF文件进程的优先级,默认"BelowNormal",可以根据系统性能调整。
  • ProcessThreads:ffmpeg使用的线程数,-1表示使用Jellyfin默认设置,0表示使用ffmpeg默认值。

3.2 BIF文件存储位置:管理你的媒体文件

public bool LocalMediaFolderSaving { get; set; } = false;

设置为true时,BIF文件将保存在对应视频的同一媒体文件夹中,便于管理和备份。默认false则保存在Jellyfin的插件数据目录。

四、客户端脚本与样式:自定义预览外观

public bool InjectClientScript { get; set; } = true; public bool StyleTrickplayContainer { get; set; } = true;
  • InjectClientScript:是否向jellyfin-web注入客户端脚本,默认true,禁用后将无法使用Trickplay功能。
  • StyleTrickplayContainer:是否为滑块气泡元素应用样式,默认true,控制预览窗口的外观。

图2:Jellyscrub在iOS设备上的视频预览效果,显示了时间点1:08:50的视频画面

五、安装与使用:快速上手Jellyscrub

要开始使用Jellyscrub,首先需要克隆仓库:

git clone https://gitcode.com/gh_mirrors/je/jellyscrub

然后按照Jellyfin插件安装指南,将编译好的插件文件放置到Jellyfin的插件目录中。重启Jellyfin后,在插件设置中即可找到Jellyscrub的配置选项。

六、总结:打造完美的视频预览体验

通过本文介绍的配置选项,你可以根据自己的需求和系统性能,定制Jellyscrub的视频预览效果。从调整预览图片间隔和分辨率,到设置硬件加速和存储位置,每一个选项都能帮助你优化预览体验。

无论是在电脑上还是移动设备上,Jellyscrub都能提供流畅直观的视频预览功能,让你更快找到想要观看的内容。开始配置你的Jellyscrub,享受更优质的媒体浏览体验吧!

图3:Jellyscrub集成到Jellyfin的视频播放进度条,显示了章节标记和预览画面

【免费下载链接】jellyscrubSmooth mouse-over video scrubbing previews for Jellyfin.项目地址: https://gitcode.com/gh_mirrors/je/jellyscrub

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考