News: 0001524953

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

GNOME's LocalSearch Metadata Extractor Ditches GStreamer For FFmpeg

([GNOME] 77 Minutes Ago LocalSearch + FFmpeg)


While the GNOME project has long been closely tied to the GStreamer multimedia framework, GNOME's LocalSearch has decided to abandon its GStreamer use in favor of using FFmpeg/libav directly.

LocalSearch is GNOME's indexer and search engine for desktop search throughout GNOME components. LocalSearch had been relying upon GStreamer for metadata extraction of multimedia files but for GNOME 48 is switching over to using FFmpeg/libav directly.

LocalSearch is ditching GStreamer and going with FFmpeg due to faster performance, better memory use, and greater sandbox friendliness in having FFmpeg deal with the audio/video files.

[1]

In the [2]merge that landed just prior to this week's Local 3.9 beta it was summed up as:

" - GStreamer's own modular support runs at odds with our extractor sandbox. Its attempts to recreate the registry file cannot be fully stopped for people doing live system updates.

- GStreamer's own modular support also means it's a whack-a-mole game to inhibit all those undesirable modules (e.g. video acceleration, webcams, ...) unrelated to metadata extraction.

- GStreamer is designed for the long run, e.g. opening a file and operating on it. Turning metadata extraction into a race across the filesystem is very suboptimal for it. The libav extractor is around 2.5x faster for the same set of files here locally (~73s for 8240 files, compared to ~175s with GStreamer)

- Possibly for the same reasons as the previous point, the memory usage as seen by top for the localsearch-extract-3 is significantly lower with the libav extractor."

[3]This Week in GNOME added on the change:

"The LocalSearch filesystem extractor is switching from GStreamer to ffmpeg / libav for media file parsing in the next major release. GStreamer served us well for almost 20 years in this role as a media parsing library, but it was designed for media playback and not fast metadata extraction.

...

The new ffmpeg-based implementation is faster, and also safer due to tighter sandboxing. It supports all the media formats we need to parse, and in fact, on most systems GStreamer was already processing many filetypes using libav."

This and many other changes will be part of the [4]GNOME 48 desktop release due out in March.



[1] https://www.phoronix.com/image-viewer.php?id=2025&image=gnome_search_lrg

[2] https://gitlab.gnome.org/GNOME/localsearch/-/merge_requests/579

[3] https://thisweek.gnome.org/posts/2025/02/twig-186/

[4] https://www.phoronix.com/search/GNOME+48



phoronix

Staff meeting in the conference room in %d minutes.