虽然 GNOME 项目长期以来一直与 GStreamer 多媒体框架紧密相关,但 GNOME 的 LocalSearch 已决定放弃使用 GStreamer,转而直接使用 FFmpeg/libav。
LocalSearch 是 GNOME 的索引器和搜索引擎,用于整个 GNOME 组件的桌面搜索。LocalSearch 一直依赖 GStreamer 来提取多媒体文件的元数据,但对于 GNOME 48,它已切换到直接使用 FFmpeg/libav。
LocalSearch 正在放弃 GStreamer 并转而使用 FFmpeg,因为 FFmpeg 处理音频/视频文件时性能更快、内存使用率更高、沙盒友好性更高。
在本周 Local 3.9 测试版发布之前的 合并中,总结如下:
- GStreamer 自己的模块化支持与我们的提取器沙箱运行不一致。对于进行实时系统更新的人来说,它重新创建注册表文件的尝试无法完全停止。
- GStreamer 自己的模块化支持还意味着它是一个打地鼠游戏,以抑制所有与元数据提取无关的不良模块(例如视频加速、网络摄像头等)。
- GStreamer 是为长期运行而设计的,例如打开文件并对其进行操作。将元数据提取变成文件系统上的竞争对它来说非常不理想。对于本地的同一组文件,libav 提取器的速度大约快 2.5 倍(8240 个文件约 73 秒,而 GStreamer 约 175 秒)
- 可能出于与上一点相同的原因,从 top 看到的 localsearch-extract-3 的内存使用量在使用 libav 提取器时明显较低。
GNOME 本周补充了以下变化:
“LocalSearch 文件系统提取器将在下一个主要版本中从 GStreamer 切换到 ffmpeg / libav 以进行媒体文件解析。GStreamer 作为媒体解析库,在近 20 年的时间里为我们提供了良好的服务,但它是为媒体播放而设计的,而不是快速元数据提取。…
新的基于 ffmpeg 的实现速度更快,而且由于沙盒更严格,也更安全。它支持我们需要解析的所有媒体格式,事实上,在大多数系统上,GStreamer 已经使用 libav 处理许多文件类型。”
这一变化和许多其他变化将成为3 月份发布的GNOME 48桌面版本的一部分。
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/zixun/55634.html