VOOZH about

URL: https://www.phoronix.com/news/GNOME-LocalSearch-FFmpeg

⇱ GNOME's LocalSearch Metadata Extractor Ditches GStreamer For FFmpeg - Phoronix


👁 Phoronix

GNOME's LocalSearch Metadata Extractor Ditches GStreamer For FFmpeg

Written by Michael Larabel in GNOME on 7 February 2025 at 04:43 PM EST. 9 Comments
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.

👁 GNOME Search


In the 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."

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 GNOME 48 desktop release due out in March.

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.