July 01, 2008

SMPlayer Review - One of the Most Powerful Video Players for Linux

SMPlayer is a complete video player built in Qt 4.4.0 and based on the powerful, open-source engine MPlayer.

The version I decided to test in this review is 0.6.1 from SVN. SMPlayer basically plays anything video or audio, including DVDs, VCDs or DVD ISO images, audio CDs, MPEG, AVI or ASF. SMPlayer can also play DVD ISO images or mounted images by pointing to the directory which contains the VIDEO_TS and AUDIO_TS directories, or even videos from a given URL location.

Playing Big Buck Bunny at 1080p

One of the great features SMPlayer has is the ability to resume a movie after you closed it and restarted the application. This really is useful and time-saving in case of a reboot, logout or a restart of the X server, or just in case you will need to close it in order to free up memory and CPU for some other task. Settings are saved separately for each video file, but currently it doesn't seem to support resume for DVD images.

Usual instance when SMPlayer is started for the first time

Among the other features it comes with are the OSD (On-Screen Display), very detailed information about the currently playing movie, support for subtitles (which, by the way, are displayed very nice and clean and allow font resizing to anything it fits you better), support for DVD chapters, and a whole bunch of video effects, like rotating or filters. You will have to select the CD/DVD drives in the Options -> Preferences window.

SMPlayer is highly configurable, allowing to change the icon theme, the language (it has full support for many languages, see the screenshot below) and many more. You can select the output video driver too. I liked the support for configuring the interface: besides the language or icon theme, you can also change the style or the default font the application uses. This allows you to make SMPlayer look just the way you want it to.

SMPlayer - the interface is completely available in many languages

You can also change the shortcuts for mostly all of its functions, and also have the mouse behave differently. For example, double-click will toggle fullscreen mode, while you can set single click to anything, like play/pause or mute. The middle button and wheel are also configurable.

SMPlayer is highly configurable

Subtitle support is also powerful: SMPlayer allows any subtitle sizes, it provides the possibility to automatically load subtitles which match a specific criteria, the position of subtitles on screen and the language encoding to use.

I noticed that MPlayer takes up quite some CPU resources when playing a movie with a big resolution, and it was around 20% when playing Big Buck Bunny at 1920x1080 encoded as MP4, on my Intel Core 2 Duo 1.8GHz running Debian Lenny. Also, I encountered a crash on MPlayer when trying to play a DVD from the drive, but the second time it ran just fine.


Since it uses Qt 4, integration with KDE 4.x is very good and the interface blends smoothly in the environment. As for speed, comparing to players for KDE 3 like Kaffeine, it is a little slower (I'm referring to the interface's response only), but I hope this will get fixed as the time passes though.

To sum it up, SMPlayer is a very impressing application and one of the most powerful video players for Linux, together with Kaffeine or VLC.

Official Website

Updated: Sep 15, 2008

13 comments:

Anonymous said...

SMPlayer is also my favorite media player all categories. I am using it both in Windows and in Linux, and both versions are just as good.

I am a music video freak, so the ability to save settings for each video is awesome, for example volume and deinterlace etc. And it can really play anything. Some really weird formats can be problamatic even in VLC, but SMPlayer hasn't failed me once.

And the best thing is that it _never_ crashes, even if you play several hundreds of videos in your playlist for hours. A lot of other players have memory leaks, so if you have too large playlists there are often problems. But not SMPlayer.

So for music video lovers, this is a real gem! :)

Ashish Yadav said...

I installed SMPlayer on Ubuntu 8.04 and guess what, it's not showing any video.

I am sure there would be some configuration on library I need to install, but my question is why? Why can't Linux applications can work by default?

While when I install I get everything working at first install.

I have only one thing to say to the developers of SMPlayer; pleeeeease grow up.

Anonymous said...

Grow up? Are you serious? Maybe you can write an impressive and innovative video codec that will be so great everyone will encode their video using it. Then you can release the code with a FOSS license, which I'm sure ubuntu will include. Then linux can work 'by default'!

Actually I think Mint would be a better choice if you're having troubles installing mplayer in ubuntu. The source is also available if you want to compile mplayer yourself. You should be ok, no sharp edges to hurt yourself with.

Ihar Filipau said...

> SMPlayer basically plays anything video or audio, including DVDs, VCDs or DVD ISO images, audio CDs, MPEG, AVI or ASF.

Wow! It can play >5yo media formats! What'a surprise!!

Seriously, guys, while you slept, world has changed. I have watched last .AVI probably half year ago. Anime now more or less exclusively MKV with H.264 + Vorbis + ASS. 1080p resolution files are norm rather novelty now.

None of Linux players I have tried to date couldn't even close come to unbeatable Wind0ze combo: MPC + Haali + DirectVobSub. The combo can play literally any file you can scout on web right now. That's all on M$Wind0ze - but not on Linux.

Heck, Mplayer - after so many years - still can't properly sync A/V... Try any 720p H264 file with subtitles to see how in under five minutes it becomes unwatchable :(

P.S. Run build process (e.g. make linux kernel or any other CPU intensive task) on one CPU core and try to watch plain DivX using another core. Mplayer even having dedicated CPU core @ >2GHz (with its utilization never going above 10%) would still loose A/V sync. What'a pile of garbage...

Heso said...

Dan, you may be able to further improve your CPU utilisation by selecting another video output driver (under Preferences/General). Try gl2 for instance. Also try activating Direct Rendering if you haven't already.

WireSpot said...

@filipau, strangely, MPlayer and all players based on it don't seem to have the problems you describe, for me. But you can always keep on using Windows, can't you? I don't see why you'd think it was appropriate to come on a Linux blog just to bash MPlayer for undeserved reasons.

Ashish Yadav said...

@anonymous

So is this what you are going to tell all those new Linux users who want there system to 'just work'; write the biggest and greatest video codec themselves?

And please I beg everyone to stop giving advice of "compile yourself".

Perhaps what I missed mentioning is that "when I install VLC", I can play any video without going for trouble of searching/installing codecs and off course "compiling myself".

And last I want to apologize for my last line in my original comment; I love Linux and felt very bad and frustrated at that time.

Ihar Filipau said...

@WireSpot

Oh just ignore me. I'm bashing Mplayer for six years now. I have started ignoring my self long time ago already.

Though my use case is trivial: open movie in Mplayer (any, doesn't matter which), put its window into say right-top corner of screen; open xterm; go to directory with Hello World written in C; run "make --silent" several times and watch A/V going crazy in Mplayer. And this on 2x2.2GHz CPU system.

But even disregarding that Mplayer refuses to work properly, it still lacks many crucial features.

As developer, I would have thrown Windows from my home system 9 years ago. But, as end-user, some things still hold me back.

Dan Craciun said...

Thanks for the tip, heso, but xv looks to work best (~20%) while gl2 takes around 65% of the CPU.

Dan Craciun said...

ashish yadav, I think that's related to some bug in either mplayer or smplayer itself. I'm using Debian testing and it happened to me the same a while ago, but now the version from repositories works fine. The problem is, I think, Ubuntu developers didn't look at all the critical bugs in packages they borrow from Debian. Try to install the needed dependencies with sudo apt-get build-dep smplayer (you'll need the sources repos enabled deb-src), then download SMPlayer from the official website and compile it. Also make sure to have all the codecs installed.

Heso said...

@Dan, are you checking CPU usage just for SMPlayer/MPlayer, or overall? Because when using Xv, half of the CPU usage goes to Xorg itself, so it's possible you have 20% for MPlayer and another 20% used by X.

But if it's 20% overall then all's good. But keep in mind the gl2 trick for HD playback, on my system, which is somewhat older, it helps me with those 1080 backbreakers.

Dan Craciun said...

Heso, I checked it with top, only for MPlayer.

DaVince said...

"I have only one thing to say to the developers of SMPlayer; pleeeeease grow up."

Haha, that was so obviously aimed at yourself. This application works out of the box for 99% of the users, at least.