0

I didn't ever care much about codecs, as all mostly worked. Now I have a file which seems to be QuickTime. After a brief search I think I need GStreamer. That has various plugins like good, bad, ugly, nice, etc.

Also there are some wrappers like ubuntu-restricted-extras. When I try to install that, I get:

The following packages will be REMOVED:
  libavcodec57 libavcodec57:i386 oxideqt-codecs

And I read around the web that people have issues after these changes.

My question: What is GStreamer, how does it compare to what's in Ubuntu (17.04) by default, what does it conflict with and why, and can it break my current state (i.e. some formats stop playing, worse performance, tearing, broken subtitles, sound channels etc.?)

Excuse me if it doesn't make much sense but it reflects my confusion about all this :) Thanks

Ondra Žižka
  • 3,668
  • 5
  • 35
  • 43

1 Answers1

3

To quote this post from the gstreamer-devel mailing list:

ffmpeg/libav is a library that contains all kinds of codecs, support for various container formats, some filters, etc. It's a library providing some API to use these things separately.

GStreamer is one level/layer above that and a generic multimedia framework, based on pipeline graphs (check Wikipedia for the pipes and filters software design pattern for example). It allows you to put together arbitrary multimedia processing pipelines built from different components (we call them elements) that all do different tasks. GStreamer provides generic mechanisms to put together these pipelines, control them, synchronize data flow, etc.

Some of these elements are for example decoders, that could for example be implemented by using ffmpeg/libav. Others could be filters or elements that read data from a network stream, or write data to a file, or ...

It doesn't compare because there's nothing to compare with in the default Ubuntu. KDE systems use Phonon, which I think plays the same role.

As for the conflicts, you probably didn't run apt-get update. ubuntu-restricted-extras indirectly depends on libavcodec57:

  • ubuntu-restricted-extras
    • ubuntu-restricted-addons
      • gstreamer1.0-libav
        • libavcodec57
muru
  • 193,181
  • 53
  • 473
  • 722