Is Totem getting deprecated?

With a special :wink: to wolfi323 & jdmcdaniel3

Having been a Gnome user since SuSE9 (up to the iPhone-look) Totem has been a favorite mediaplayer. It was always fairly simple to make it play restricted formats (if I remember right installing libxine1, xine-ui and w32codec-all was enough). I think the problems started with gstreamer and possibly also pulse-audio.
-From around the SuSE11-versions I went over to SMPlayer2 and VLC that I have used since then, together with Kaffeine. They can handle most of my media files (but with a more tricky and opaque installation of the gst*-plugins).

I thought I should give Totem a final try in SuSE13.1, and failed!
I should first explain that Iā€™ve got a working gstream- and ffmeg-installation (with just Packman as repo) and that this installation makes VLC and SMPlayer2 able to handle mpeg1 mpeg1 layer3 mpeg2 mpeg4 mpeg4-aac h.264 and vmv8 wma8 wmv9 and wma9.

-Now following the guidelines in:
http://forums.opensuse.org/showthread.php/493132-openSUSE-13-1-MP4(a)-h264-missing-codec
https://forums.opensuse.org/showthread.php/492716-openSUSE-13-1(GNOME)-codec-problem-mp4v-mpga-h264-mp4a
https://forums.opensuse.org/showthread.php/488717-Working-with-the-basics-how-on-earth-an-I-still-quot-missing-H264-MPEG4-AAC-decoder-quot?highlight=totem+mpeg4
and completed my gst*-installation with
gstreamer-plugins-libav (For AAC support)
gstreamer-plugins-bad-orig-addon
gstreamer-plugins-ugly-orig-addon (For H264 support)
libx264-142
The pkg gstreamer-plugins-ugly-addon I could not find in Packman repo.
and made a

zypper dup --from Packman

Then finalized with checking if the latest guide could complete my installation in any way, using:
https://forums.opensuse.org/entry.php/149-openSUSE-13-1-Multi-media-and-Restricted-Format-Installation-Guide.

Now, Totem still complains about missing decoders for
mpeg4-video-decoder
h.264 decoder
gstreamer-element videoconvert (though Iā€™ve got gstreamer-plugins-base installed)
mpeg-1 audio-decoder
mpeg-1 layer 3 audio-decoder
wmv video8 screen-decoder
wma audio8 decoder

Is it time to give up Totem?

(Iā€™ve got similar problems with Totem in SuSE12.3)

Best regards
Lars

No; not sure why you have been installing codecs by hand rather than using http://forums.opensuse.org/showthread.php/452884-Multimedia-in-One-Click

Because Iā€™m a masochist trying to become a nerd lol!
ā€¦or in fact, I like to understand what I do

Well, I never used (or liked) totem much, but it does work fine here with all audios/videos I throw at him for a test.
But I prefer KDE anyway. :wink:

And I always preferred to avoid gstreamer as well (mainly because of the higher use of resources).

I did a comparison test on my system recently (but with mp3s only), and Mplayer was the best regarding CPU usage, with VLC second.
Please read here, if youā€™re interested: (since then Iā€™m not too fond of xine anymore eitherā€¦ :wink: )
http://forums.opensuse.org/showthread.php/472364-Strange-noise-in-MP3-playback-in-Banshee-and-Amarok-not-in-mplayer?p=2630247#post2630247
Btw, there is no gstreamer-plugins-ugly-addon. :wink:
I would find it strange though that you have those problems, even after doing a zypper dup to Packman, because as I said it does work fine here.

although i am a bit offtopic, i am trynng to avoid the gstreamer too. the mplayer and VLC are more CPU efficient.
unfortunately, some audio players like clementine, amarok, qmmp depend on gstreamer.

Amarok does NOT depend on gstreamer, and never has.
Amarok uses KDEā€™s phonon, which has a VLC backend as well. Just install phonon-backend-vlc (included in openSUSE 13.1) and select it in KDEā€™s (or Amarokā€™s) audio settings.

And qmmp doesnā€™t use gstreamer either AFAICS. It has its own plugins, and apparently even can use MPlayer as engine (qmmp-mplayer).

Youā€™re right about clementine though.

Well thank you wolfi323 :)!

Sorry about the delayed answer! You see your reply opened up (at least) two jungles in front of me that set me in a state of despair:confused:.

The first jungle: the matter of optional backends and resource consumption.
Even if I knew that Amarok today has the option to switch between gstreamer- and vlc-phonon-backends I thought that all mediaplayers -except vlc- were bound to gstreamer. Now I understand how wrong I was.
I read your comparison test with interest! I saw you had the same processor. That made me curious about trying the same in a limited way. amarok, vlc and smplayer2 playing the same mp3. -The result was horrifying:

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND            
 5161 larse     20   0 5554684 182572  79400 R 29,45 8,887   0:12.97 amarok         
 2906 larse     20   0 1289704  57636  37908 S 4,312 2,805   0:09.05 vlc                
 2945 larse     20   0  729280  38384  24684 S 0,995 1,868   0:01.81 smplayer2

amarok above used the phonon-gsteamer-backend. -After I switched to the phonon-vlc-backend

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND   
 3897 larse     20   0 5497716 167380  75396 R 13,61 8,147   0:21.95 amarok    [vlc-backend]

The second, and worse** jungle**: I realized that I simply do not have a clue about the Linux sound system and how it has developed:shame:!
Perhaps I have got a vague idea about the ā€œbottom partā€: the hardware and drivers (in my case Creative Audigy2 - snd_emu10k1) and the top: the mediaplayer and a few of their decoders.
But Iā€™m totally lost when it comes to everything ā€œin betweenā€ and how itā€™s related to each other, or succeeded by, or made obsolete. I simply do not understand the concepts of ALSA OSS PulseAudio GStreamer Xine Phonon and/or Jack.
Personally I find the first few lines in http://tuxradar.com/content/how-it-works-linux-audio-explained#null very comforting.
5 or 6 years ago, in the times of the SuSE10ā€™s, I had the ambition to try to learn the Linux sound system. But something always came in the way like it often tends to in my Linux-world. Sometimes voluntary (like learning Slackware, setting up at stripped Slackserver & writing material to it, OnionRouter, GNURadio, et c), sometimes involuntary (like systemd and related).
I will not bother you with my incompetence concerning the Linux sound system, but if you know some reference book och guide that also covers the later development I would be very thankful if you mentioned it!

But, to return to my initial Totemquestion, Iā€™m very thankful for your looking through my setup description! I think I read my referenced links very careful. Where I got the ā€œgstreamer-plugins-ugly-addonā€ from I donā€™t remember, but it was anywhere among those links. And as it seemed consistent with the gstreamer-plugins-bad-addon (and gstreamer-plugins-bad-orig-addon) I looked for it.

After having read your comparison test I also checked for libmad0 and libmpg123 and found I had them installed.

So, with all things considered, Totem should work! But it doesnā€™t. With the help of ffmpeg I made a final check about which decoders Totem could not handle in this final state. Totem handles:
Audio: handles uncompressed wav, not compressed flac
further; handles compressed aac, not mp2, wma2 or most mp3ā€™s
Video: handles mjpeg, not mpeg1video, mpeg4, h.264 or wmv2.

On the other hand, Iā€™ve after SuSE10.3 never got Totem to work in a decent way. Since then Iā€™ve also found me a few better mediaplayers (MPlayer2 and VLC). So thereā€™s really no great loss! I only thought I should give Totem a final try.

Besides, when Gnome switched to the iPhoneDE, I switched to Xfce lol!.

Best regards! And thank you again!

Lars

Well well, I got a hint from the Ubuntu-people (not very seldom I must admit :shame:).
http://ubuntuforums.org/showthread.php?t=1502057

The problem was never a decoding problem, but a registry-one.
Could I see the video thumnails? No.
Could I play my videos with Totem ran as root? Yes! (Something I almost always try when something fails in Linux, but tottally forgot here.)
Then itā€™s probably a problem of permissions or a registry error.

Now the solution suggested in the Ubuntu-thread was not as simple to apply in SuSE.
Consulted the gstreamer FAQ http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/faq.pdf (page 11) and found it must be a version dependent solution.

In SuSE12.3 and 13.1 there seems to be a coexistence between gstreamer 1.0 and 0_10. Therefore there are two gstreamer registry files in two different directories:
~/.gstreamer-0.10/
and
~/.cache/gstreamer-1.0/
each one containing a registry file ā€œregistry.*.binā€ (the * substitutes architecture)
Itā€™s in the following important that you delete both! Or the remaining will conflict with the one you are about to create.

Now dependent of which gstreamer version your system mainly relies on install gstreamer-0_10-utils and/or gstreamer-utils, both containing a tool ā€œgst-inspectā€ that can check your gstreamer installation and build a registry.

The rest is simple:
As already said: check if you have got more than one registry.*.bin, delete them!

If mainly gstreamer version 0_10, as user run
$ gst-inspect-0.10
That will build a new registry (in this case in ~/.gstreamer-0.10/. Donā€™t worry, the other will build automatically in due time)

If mainly gstreamer version, as user run
gst-inspect-1.0
That will build a new registry (in this case in ~/.cache/gstreamer-1.0/. (The other will build automatically in due time)

Thatā€™s it!

I finally got back my video thumbnails that I have missed since SuSE10.3!
And of course Totem now can play most of my audio and video formats :).

Greetings

Well, I was about to suggest to delete the gstreamer plugins registryā€¦ :wink:

But AFAIK it should not be necessary to run gst-inspect manually, as it should get recreated automatically (Iā€™m not 100% sure though).

And the gstreamer-0_10 cache has absolutely no influence to gstreamer-1.x, so itā€™s NOT necessary to delete both for totem, ~/.cache/gstreamer-1.0/ should be enough.

gstreamer-0.10 and gstreamer-1.x are designed to coexist on the same machine, but they are completely different things.

Itā€™s possible that youā€™re right, I didnā€™t write from OSS knowledge as I stated, just from trial-and-error and the only thing I had at hand was the old Ubuntu hint.

the gstreamer plugins registryā€¦ ā€¦should get recreated automatically (Iā€™m not 100% sure though)

Iā€™m not sure either, I didnā€™t wait.

And the gstreamer-0_10 cache has absolutely no influence to gstreamer-1.x, so itā€™s NOT necessary to delete both for totem, ~/.cache/gstreamer-1.0/ should be enough.

Itā€™s very possible that youā€™re right here, which also could indicate that you were right above. -Going out from the Ubuntu hint I didnā€™t know that there were a second registry, just the one in ~/.gstreamer-0.10/. Deleting and recreating that one didnā€™t change a thing. -It was first when I found the second registry ~/.cache/gstreamer-1.0/ and deleted that one too and recreated ~/.gstreamer-0.10/ with gst-inspect the Totem issue was solved. -Using $ gst-inspect-0.10 or $ gst-inspect-1.0 didnā€™t matter, running one ā€œseemed to recreate the otherā€ in my eyes. That could indicate that it ā€¦should get recreated automatically, as you say. -And as you probably understand I had no idea that Totem relied on gstreamer-1.0 only.

Looking back I can only ask myself how it comes that year after year with fresh installs since the SuSE 11ā€™s up to 13.1 on my same AMD x86_64-machine this registry obviously has been built in a way I should call corrupt? Just made plain installations of the media requirements with Yast2, later with zypper, normally following one of the current guides on the forum (remember esp. oldcpu, my favourite ;-). -Iā€™ve never been aware of that registry, or that gstreamer tool. -Should it really only depend on ā€œ**** behind the keyboardā€ as we say in swedish?
Now solved I also noticed that the solution also affected Kaffeine in a very positive way.

No totem is still being worked on but if you ask me I think the new interface for it is horrible.

It looks like this can happen. I would guess that gstreamer might fail to detect that new plugins have been installed under certain circumstances, and therefore does not update its cache and miss some plugins.
As this has never happened to me up to now, I have no idea what could trigger this though.

But it probably has not been caused by a mistake you made:
http://forums.opensuse.org/showthread.php/496272-Can-t-play-MP4-DVD-in-Totem-on-XFCE?p=2630836#post2630836

Now solved I also noticed that the solution also affected Kaffeine in a very positive way.

Well, the gstreamer cache has absolutely no influence on Kaffeine, as Kaffeine does NOT use any gstreamer version. It is just a frontend to libxine2.
The ā€œzypper dupā€ to Packman might have helped there as well.

Unless you speak of the old KDE3 kaffeine (v0.8) of course. This one did have a gstreamer (0.10) backend as well IIRC, but xine was the default.

But it probably has not been caused by a mistake you made:
http://forums.opensuse.org/showthreaā€¦36#post2630836

Thank you for the comfort wolfi323 ;)!

I must correct a notion I made in my description of the solution above:

If mainly gstreamer version 0_10, as user run
$ gst-inspect-0.10
That will build a new registry (in this case in ~/.gstreamer-0.10/. Donā€™t worry, the other will build automatically in due time)

If mainly gstreamer version, as user run
gst-inspect-1.0
That will build a new registry (in this case in ~/.cache/gstreamer-1.0/. (The other will build automatically in due time)

After wolfi323ā€™s remark

the gstreamer plugins registryā€¦ ā€¦should get recreated automatically (Iā€™m not 100% sure though)

I checked how it worked in SuSE13.1. After deleting the two registries *.bin, this time I waited up to 30 min. -None of them was automatically recreated. -Starting Totem though created a new ~/.cache/gstreamer-1.0/registry but it wasnā€™t followed by an automatic recreation of ~/.gstreamer-0.10/registry. -Found no similar way to create the ~/.gstreamer-0.10/registry (i.e. by starting a media player).
Iā€™m sure that you, wolfi323, are absolutely right claiming that Totem relies on gstreamer-1.x only! At least in current SuSE and probably Fedora. -But was it earlier so that Totem relied on gstreamer-0_10? I looked back in my other installations (SuSE10.3, Debian5 & 6, LinuxMint13 and Slackware14.0) and found only gstreamer-0_10.

If I stick to my description above though (against better knowing though, deleting and recreating ~/.cache/gstreamer-1.0/registry should be enough in SuSE!) I would correct and write my description as:

If mainly gstreamer version 0_10, in older versions of SuSE or other distributions as Debian up to at least 6/LinuxMint up to at least 13/Slackware up to at least 14.0, as user run
$ gst-inspect-0.10
That will build a new registry (in this case in ~/.gstreamer-0.10/)

If additionally gstreamer version 1.x, in newer versions of SuSE or Fedora as user run
gst-inspect-1.0
That will build a new registry (in this case in ~/.cache/gstreamer-1.0/)

Finally about my Kaffeine:

Well, the gstreamer cache has absolutely no influence on Kaffeine, as Kaffeine does NOT use any gstreamer version. It is just a frontend to libxine2.
The ā€œzypper dupā€ to Packman might have helped there as well.

By now Iā€™m certain that you know what youā€™re talking about :slight_smile: (it was your guidelines I followed in my initially mentioned threads to get as far as here!) -No, Iā€™m using the current SuSE12.3 resp 13.1 versions of Kaffeine 1.2.x. Nevertheless after the # zypper dup to Packman, Kaffeine could only play: 3gp, avi, flv, DVD-video, wav, flac, mp3 and Audio-CD (even that was an improvement to erlier).
After recreation of the two gstreamer-registries Kaffeine could additionally play: m4v, mkv, mpg and wmv. Donā€™t ask me why :question:!

Regards

Lars

The cache will not get recreated after a certain time. It only gets recreated when you start an application using gstreamer.
And again gstreamer-1.x and gstreamer-0_10 (and its caches) are completely independent of each other, so creating one cache wonā€™t recreate the other as well.

For gstreamer-1.x thatā€™s totem f.e. (as you know). If you only use totem, you donā€™t need the gstreamer-0_10 cache (you wouldnā€™t even have to have gstreamer-0_10 installed at all).

Applications using gstreamer-0_10 would be KDEā€™s phonon-backend-gstreamer-0_10 (and all applications using Phonon, like Amarok and Dragonplayer, or KDEā€™s notification system) and clementine.

But Iā€™d say remove the cache and forget about it. It will get recreated if needed, itā€™s a cache after all.
If it doesnā€™t get recreated, you donā€™t need it, and it just would waste space on your hard disk anyway.

Iā€™m sure that you, wolfi323, are absolutely right claiming that Totem relies on gstreamer-1.x only! At least in current SuSE and probably Fedora. -But was it earlier so that Totem relied on gstreamer-0_10? I looked back in my other installations (SuSE10.3, Debian5 & 6, LinuxMint13 and Slackware14.0) and found only gstreamer-0_10.

Well, of course. At the time of SuSE10.3, Debian5 & 6, LinuxMint13 and Slackware14.0, gstreamer-1.x didnā€™t exist yet (it was released on 2012-09-24), gstreamer-0_10 was the latest version back then.
Totem is much older than gstreamer-1.0. It used gstreamer-0_10 before that of course, and could also use xine.

No, Iā€™m using the current SuSE12.3 resp 13.1 versions of Kaffeine 1.2.x. Nevertheless after the # zypper dup to Packman, Kaffeine could only play: 3gp, avi, flv, DVD-video, wav, flac, mp3 and Audio-CD (even that was an improvement to erlier).
After recreation of the two gstreamer-registries Kaffeine could additionally play: m4v, mkv, mpg and wmv. Donā€™t ask me why :question:!

Well, this cannot be connected to the gstreamer registries.
Again, Kaffeine 1.2.x uses libxine2, so you need to have libxine2-codecs installed.
But if you wouldnā€™t have had that installed, you shouldnā€™t have been able to play mp3 f.e. either. And DVD-video is actually mpg, so your your statement is actually a contradiction. :wink:
Maybe some incorrect version of some library was installed that caused the problem, and doing something else fixed that I would guess.
But thatā€™s definitely not related to gstreamer (and especially not to its registries).

libxine2 does have a similar plugins cache as well though. This is in ~/.cache/xine-lib/.

Well, I wonā€™t argue with you about Kaffeine :)! I know you know what you talk about. I looked at the ~/.cache/xine-lib/plugins.cache and saw it was changed yesterday at about 12.20 which was about the time I had recreated the two gstreamer-registries and tried Kaffeine (and the other mediaplayers as well) again. It may very well be that the change in Kaffeines ability was caused by ā€œdoing something else fixed thatā€, though it was unvisible to me :). -I note you call the gstreamer and libxine files caches. The naming of those files are very confusing to me. registry and cache have a very different meaning to me. registry makes me think of the windows registry and that at first made me very careful with that file (you know what happens in Windows when you are careless when you edit it :-D!). You call them all three gstreamer-0.10, -1.x and xine-lib caches. I suppose it indicates that caches are what they really are.

Finally wolfi323 I want to thank you for taking so much time on my problem! You have been very kind, and Iā€™m especially glad for your insisting that I should get things right!

-This audio-video area is really a jungle to me, or several. I still havenā€™t managed to find some kind of summary or compilation of the subject anywhere?

Based on some notes from your replies and parallell reading the project-sites and wikipedia I put togeteher a small list of mediaplayers and backends. If you like, you can tell if Iā€™ve got it wrong somewhere. If you donā€™t, I donā€™t mind! Iā€™ve taken your time enough by now!

For ffmpeg: Install ffmpeg
Frontends: f.e. MPlayer/(SMPLayer), VLC

For gstreamer: Install gstreamer 0.10(0_10) + 1.x inkl plugins base, good [bad, ugly] + ev utils -tools if not included in gstreamer-pkg
Frontends: Amarok, Banshee, Clementine, Rythmbox, Totem

For Xine: Install xine-lib, libxine2, libxine2-codecs
Frontend: f.e. xine-ui, gxine, kxine, Kaffeine et c

My best regards
Lars

Simply put, they are just a list of installed plugins and what codecs they support.
This is done so that itā€™s not necessary to search your harddisk for plugins and load them all on startup, which would take a long time every time you start an application.
If that cache/registry/whatever is not there, it simply get re-created by scanning all plugins.
So itā€™s no registry in the Windows sense, but more a cache.

For ffmpeg: Install ffmpeg
Frontends: f.e. MPlayer/(SMPLayer), VLC

Well, itā€™s not that simple.
ffmpeg is a general audio/video library, that is used by most multimedia stuff (even gstreamer and xine, for certain plugins at least).
MPlayer includes its own copy of ffmpeg and doesnā€™t use the systemā€™s one.
It and VLC also uses other libraries for certain codecs, just like gstreamer and xine.

The only real frontend to ffmpeg that I am aware of is ffplay, which is included in the ffmpeg package, but thatā€™s a quite basic player that you have to start from the command line.

There may be other applications that exclusively use ffmpeg, but I canā€™t think of any atm.

But you shouldnā€™t need to install ffmpeg manually. It should get pulled in by dependencies of the stuff that uses it. (except if you want to use the ffmpeg command line utility yourself of course)

For gstreamer: Install gstreamer 0.10(0_10) + 1.x inkl plugins base, good [bad, ugly] + ev utils -tools if not included in gstreamer-pkg
Frontends: Amarok, Banshee, Clementine, Rythmbox, Totem

Correct, if you donā€™t want to separate between 0.10 and 1.x (again, they are completely independent from each other).

Just to add that Amarok doesnā€™t use gstreamer, but phonon (KDEā€™s multimedia framework, which has a gstreamer-0_10 and a VLC backend ATM). But since phonon-backend-gstreamer-0_10 is (still) the default on openSUSE, you can leave it in that list. But it can also use VLC by installing phonon-backend-vlc which is included in the distribution.

For Xine: Install xine-lib, libxine2, libxine2-codecs
Frontend: f.e. xine-ui, gxine, kxine, Kaffeine et c

Right.
But thereā€™s no package named ā€œxine-libā€ on openSUSE.

Iā€™m not sure what purpose that list should fulfill, but I would put VLC and MPlayer in its own category (like xine).
VLC needs ā€œvlc-codecsā€, the frontends are vlc-qt and vlc-noX. (and maybe Amarok and dragonplayer, if you use phonon-backend-vlc; even Kaffeine was started to be rewritten to use VLC instead of xine, but that hasnā€™t been finished yet)

MPlayer doesnā€™t need anything special, at least on openSUSE.
Frontends include: gmplayer, SMPlayer, kplayer, kmplayer.

Absolutely Wonderful wolfi323 :slight_smile:! Thank you a lot!

Iā€™m not sure what purpose that list should fulfill

Iā€™ts a real help to me in the future when it comes to setting up a fresh install in a distribution. You know when I started this Totem thread I thought everything these days was based on gstreamer :shame:.

ā€¦well what do you know, I started up a couple of weeks ago trying to get Amarok to work again by cleaning upp a mess among my reposiories and ended up with a working Totem that hadnā€™t worked since a couple of years. And on top of that I have scratched a little more of the surface of the Linux audio-video-world lol!!

I owe you great many thanks!!

My best regards

Lars