Linux audio/video codecs... fundamentals?


I’m new to Linux. Recently, I’ve struggling with audio/video codecs. I can’t stream audo, I can’t play some audio format… I googled it, and I find a lot of things that I don’t understand. Basically, in Windows, I just download and install one of the codec packs, such as K-Lite codec pack, and then I can comfortably enjoy my music and movies. In Linux, I guess the fundamental is the same, but right now it messed up my mind. Can anyone explain me following things that make me confused:

  • What are, and what the difference:
    • XINE?
    • VLC?
    • GStreammer?
  • Why, for instance, banshee uses either XINE engine or Gstreamer engine? How can I know that which engine it’s using?
  • What are the required packages to install in order to stream music(mms), play most of the audio formats, play at least Divx format?


Xine, VLC are media players like real player and Windows media player. Now Xine, gstreamer, is also an engine for players. Personally, I use xine for my engine.

Add the packman repo, then add libexine, mplayer, gstreamer, libcss, w32codecs-all and so on.

Thanks for your quick reply!
So how can I know which engine my Banshee is using?
How can I switch, for instance, from gstreamer to xine engine?
Which gstreamer packages should I install since there are so many gstreamer packages


You could start by learning some basic concepts, although it won’t answer many of your questions, it might lay a solid foundation for further answers:
Sound-concepts - openSUSE

GStreamer: open source multimedia framework

xine - Wikipedia, the free encyclopedia