Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Hardware & Software > Software players

Reply
 
Thread Tools Search this Thread Display Modes
Old 24th January 2007, 19:12   #1  |  Link
rvm
Registered User
 
Join Date: Jan 2007
Posts: 359
SMPlayer - a new frontend for MPlayer

Hi!

I'm developing a new frontend for mplayer. It's multiplatform, it can run in windows and linux.

About SMPlayer

SMPlayer is a complete media player for Windows and Linux. It uses the award-winning MPlayer as playback engine which is capable of playing most video and audio formats (avi, mkv, wmv, mp4, mpeg...). It can also play and download Youtube videos.

One of the most interesting features of SMPlayer: it remembers the settings of all files you play. So you start to watch a movie but you have to leave... don't worry, when you open that movie again it will resume at the same point you left it, and with the same settings: audio track, subtitles, volume...

Some other interesting features:
  • Complete preferences dialog, where you can change the key shortcuts, colors and fonts of the subtitles, and many more.
  • Filters. Many video and audio filters are available: deinterlace, postprocessing, denoise... and even a karaoke filter (voice removal).
  • Seeking by mouse wheel. You can use your mouse wheel to go forward or backward in the video. The mouse buttons can also be customized.
  • Video equalizer, allows you to adjust the brightness, contrast, hue, saturation and gamma of the video image.
  • Multiple speed playback. You can play at 2X, 4X... and even in slow motion.
  • Audio and subtitles delay adjustment. Allows you to sync audio and subtitles.
  • Advanced options, such as selecting a demuxer or video & audio codecs.
  • Possibility to search and download subtitles from opensubtitles.org.
  • It can play Youtube videos. A Youtube browser is included, which allows to easily download Youtube videos too.
  • Translations: currently SMPlayer is translated into more than 30 languages, including Spanish, German, French, Italian, Russian, Chinese, Japanese....
  • Possibility to change the style and icon set of the interface.
  • Free and opensource. SMPlayer is under the GPL license.

Homepage:
http://smplayer.sourceforge.net

Last edited by rvm; 10th May 2013 at 01:10.
rvm is offline   Reply With Quote
Old 24th January 2007, 19:19   #2  |  Link
Sirber
retired developer
 
Sirber's Avatar
 
Join Date: Oct 2002
Location: Canada
Posts: 8,978
cool! trying!

can I disable the "remembering for every file" and have global settings?
__________________
Detritus Software
Sirber is offline   Reply With Quote
Old 24th January 2007, 19:27   #3  |  Link
rvm
Registered User
 
Join Date: Jan 2007
Posts: 359
No at this moment, but maybe I will add an option to disable it.
rvm is offline   Reply With Quote
Old 24th January 2007, 19:30   #4  |  Link
Sirber
retired developer
 
Sirber's Avatar
 
Join Date: Oct 2002
Location: Canada
Posts: 8,978
Seems a good start!

Could be cool to add:
* Make bottom GUI smaller (buttons and bars)
* Crop to ratio X
* Deinterlace / IVTC

Bugs:
* Scroll bar doesn't work

Thanks!
__________________
Detritus Software
Sirber is offline   Reply With Quote
Old 24th January 2007, 20:58   #5  |  Link
pinkie_1
Registered User
 
Join Date: Nov 2006
Posts: 56
Nice initiative.

Could you add key bindings for mplayer/smplayer logs ?
pinkie_1 is offline   Reply With Quote
Old 25th January 2007, 01:52   #6  |  Link
rvm
Registered User
 
Join Date: Jan 2007
Posts: 359
Quote:
Originally Posted by Sirber View Post
* Deinterlace / IVTC
It has some deinterlace filters, but I'm afraid I don't know what IVTC is.

Quote:
Originally Posted by Sirber View Post
Bugs:
* Scroll bar doesn't work
Do you mean the slider under the video area?



It works for me. Well, currently it doesn't work if you try to move it using keys or the mouse wheel, but it works if you drag it.
It also doesn't work well when playing a dvd, but this is a problem of mplayer, which doesn't report the movie absolute current time, so the slider will always be very near of the beginning.

Quote:
Originally Posted by pinkie_1 View Post
Could you add key bindings for mplayer/smplayer logs ?
Done in tonight release (070124-11).

Last edited by rvm; 25th January 2007 at 01:56.
rvm is offline   Reply With Quote
Old 25th January 2007, 01:55   #7  |  Link
Sirber
retired developer
 
Sirber's Avatar
 
Join Date: Oct 2002
Location: Canada
Posts: 8,978
Code:
ivtc[=1]

Experimental ’stateless’ inverse telecine filter. Rather than trying to lock on to a pattern like the detc filter does, ivtc makes its decisions independently for each frame. This will give much better results for material that has undergone heavy editing after telecine was applied, but as a result it is not as forgiving of noisy input, for example TV capture. The optional parameter (ivtc=1) corresponds to the dr=1 option for the detc filter, and should be used with MEncoder but not with MPlayer. As with detc, you must specify the correct output framerate (−ofps 24000/1001) when using MEncoder. Further development on ivtc has stopped, as the pullup and filmdint filters appear to be much more accurate.

pullup[=jl:jr:jt:jb:sb:mp]

Third-generation pulldown reversal (inverse telecine) filter, capable of handling mixed hard-telecine, 24000/1001 fps progressive, and 30000/1001 fps progressive content. The pullup filter is designed to be much more robust than detc or ivtc, by taking advantage of future context in making its decisions. Like ivtc, pullup is stateless in the sense that it does not lock onto a pattern to follow, but it instead looks forward to the following fields in order to identify matches and rebuild progressive frames. It is still under development, but believed to be quite accurate. The jl, jr, jt, and jb options set the amount of "junk" to ignore at the left, right, top, and bottom of the image, respectively. Left/right are in units of 8 pixels, while top/bottom are in units of 2 lines. The default is 8 pixels on each side. Setting the sb (strict breaks) option to 1 will reduce the chances of pullup generating an occasional mismatched frame, but it may also cause an excessive number of frames to be dropped during high motion sequences. Conversely, setting it to -1 will make pullup match fields more easily. This may help processing of video where there is slight blurring between the fields, but may also cause there to be interlaced frames in the output. The mp (metric plane) option may be set to 1 or 2 to use a chroma plane instead of the luma plane for doing pullup’s computations. This may improve accuracy on very clean source material, but more likely will decrease accuracy, especially if there is chroma noise (rainbow effect) or any grayscale video. The main purpose of setting mp to a chroma plane is to reduce CPU load and make pullup usable in realtime on slow machines.
NOTE: Always follow pullup with the softskip filter when encoding to ensure that pullup is able to see each frame. Failure to do so will lead to incorrect output and will usually crash, due to design limitations in the codec/filter layer.

filmdint[=options]

Inverse telecine filter, similar to the pullup filter above. It is designed to handle any pulldown pattern, including mixed soft and hard telecine and limited support for movies that are slowed down or sped up from their original framerate for TV. Only the luma plane is used to find the frame breaks. If a field has no match, it is deinterlaced with simple linear approximation. If the source is MPEG-2, this must be the first filter to allow access to the field-flags set by the MPEG-2 decoder. Depending on the source MPEG, you may be fine ignoring this advice, as long as you do not see lots of "Bottom-first field" warnings. With no options it does normal inverse telecine, and should be used together with mencoder −fps 30000/1001 −ofps 24000/1001. When this filter is used with mplayer, it will result in an uneven framerate during playback, but it is still generally better than using pp=lb or no deinterlacing at all. Multiple options can be specified separated by /.
Yes, the slider Didn't work for me on win32 on a 23 sec source.
__________________
Detritus Software
Sirber is offline   Reply With Quote
Old 25th January 2007, 01:58   #8  |  Link
Sirber
retired developer
 
Sirber's Avatar
 
Join Date: Oct 2002
Location: Canada
Posts: 8,978
oh, some PP could be cool too

thanks!
__________________
Detritus Software
Sirber is offline   Reply With Quote
Old 25th January 2007, 06:18   #9  |  Link
pinkie_1
Registered User
 
Join Date: Nov 2006
Posts: 56
Quote:
oh, some PP could be cool
Well, it could be a neat feature. But it should be a smart implementation of PP...

Something like X user-selectable levels, each one corresponding to one major type of material (grainy/denoised/with blocking etc. etc.). And it should rely not only on -vf pp, but also on noise/hqdn3d, unsharp/smartblur.
pinkie_1 is offline   Reply With Quote
Old 25th January 2007, 12:30   #10  |  Link
Sirber
retired developer
 
Sirber's Avatar
 
Join Date: Oct 2002
Location: Canada
Posts: 8,978
PP is not denoise, sharp nor blur, but freeking blocks removal
__________________
Detritus Software
Sirber is offline   Reply With Quote
Old 25th January 2007, 23:37   #11  |  Link
rvm
Registered User
 
Join Date: Jan 2007
Posts: 359
I've just uploaded the source code of version 070125-11 (binary for windows, tomorrow), which adds several new video filters:

* denoise (normal) = hqdn3d
* denoise (soft) = hqdn3d=2:1:2 (I find the default hqdn3d too strong)
* deblock = pp=vb/hb
* dering = pp=dr (in fact I don't really know what this filter does, I can't see any difference in the image)
* Add noise, which adds a little bit of noise to the image. Could be useful to "cover" the blocks or after a denoise filter, so the image won't be so extremely clean.

I didn't know about the unsharp and smartblur filters. Maybe I'll take a look later.

I didn't add an automatic postprocessing filter, first of all because I've never used it so I don't know which are the best parameters for it (-vf pp -autoq 6 is enough?). And second because with the above provided video filters the user can use the appropriate filters according to the video image.

About the ivtc filter... this is for ntsc videos, isn't it? First of all I can't test it, I don't have any. Anyway manpage says about using it along with -ofps, isn't that only for mencoder?

Ah, I forgot. Yesterday release added the possibility to use the mouse wheel to move through the video. I find this feature very interesting.

Last edited by rvm; 25th January 2007 at 23:43.
rvm is offline   Reply With Quote
Old 26th January 2007, 00:07   #12  |  Link
Sirber
retired developer
 
Sirber's Avatar
 
Join Date: Oct 2002
Location: Canada
Posts: 8,978
there are ivtc filters (for NTSC) that don't require FPS. The last one in the list IIRC.
__________________
Detritus Software
Sirber is offline   Reply With Quote
Old 30th January 2007, 00:33   #13  |  Link
rvm
Registered User
 
Join Date: Jan 2007
Posts: 359
Version 070129-2 should fix the problems with the time slider. Now besides dragging it, it should work clicking at any point of the bar. And now it will display in the status bar the time you would go while dragging it.

Source code is already available for this version, but the binary for windows won't be available until tomorrow.

I also made some screenshots of smplayer. You can see them here.
rvm is offline   Reply With Quote
Old 30th January 2007, 01:32   #14  |  Link
HeadBangeR77
Registered User
 
HeadBangeR77's Avatar
 
Join Date: Dec 2006
Location: Heidelberg (DE), Kraków (PL)
Posts: 519
Quote:
Originally Posted by rvm View Post
Version 070129-2 should fix the problems with the time slider. Now besides dragging it, it should work clicking at any point of the bar. And now it will display in the status bar the time you would go while dragging it.

Source code is already available for this version, but the binary for windows won't be available until tomorrow.

I also made some screenshots of smplayer. You can see them here.
You've drawn my attention I usually stick to MPC and a few other players, but I decided to give mplayer a try some time ago. Although I liked its functionality, the GUI just killed me. (sorry, Lord Mulder, it's just my personal opinion)

Hope to test your solution within the next couple of days.
Good luck with your projects!
__________________
"Only two things are infinite: the universe and human stupidity, and I'm not sure about the former."
HeadBangeR77 is offline   Reply With Quote
Old 30th January 2007, 10:54   #15  |  Link
Henrikx
Registered User
 
Henrikx's Avatar
 
Join Date: Aug 2005
Location: Germany
Posts: 306
@rvm
Translations?
Is it possible to translate?
If yes, how?
__________________
Henrikx
Henrikx is offline   Reply With Quote
Old 30th January 2007, 16:03   #16  |  Link
rvm
Registered User
 
Join Date: Jan 2007
Posts: 359
Maybe it's a little bit early to make translations, this is still an alpha version, current texts may vary, new texts could be added, and there are releases almost every day. So it could be difficult to keep a translation up to date.

Said that, yes, translations are possible and in fact they should be very easy to do.

You need Linguist, which is a tool included in the Qt toolkit (I explain how to get it in smplayer web page).

Here is a screenshot:


To translate to French for example, you have to create a smplayer_fr.ts file (you can use the smplayer_es.ts included in the sources as a base, or in other words: open smplayer_es.ts in Linguist and save it as smplayer_fr.ts). Open that file in Linguist and translate all messages. Now you would send that file to me and I would create a smplayer_fr.qm from it, which would be automatically loaded by smplayer if the desktop language is set to French.

Last edited by rvm; 30th January 2007 at 16:08.
rvm is offline   Reply With Quote
Old 30th January 2007, 16:59   #17  |  Link
Henrikx
Registered User
 
Henrikx's Avatar
 
Join Date: Aug 2005
Location: Germany
Posts: 306
@rvm
Thank you for the answer.
You are right and it is perhaps still too early.
For the German translation you can include me in your plans.
Let me know when it starts.
__________________
Henrikx
Henrikx is offline   Reply With Quote
Old 30th January 2007, 23:35   #18  |  Link
pinkie_1
Registered User
 
Join Date: Nov 2006
Posts: 56
Some filtering suggestions to think about :

deblock
-vf-add pp=ha:16:39/va (light)
-vf-add pp=ha:48:32/va (moderate)
-vf-add pp=ha:96:8/va (strong)
Might also be useful a switch for less powerful systems...
Something like hb:a/vb:a and the same flatness/threshold values like above.

dering
I'm not very happy about it. IMO it shouldn't be used in a default configuration.

autolevels
That luma stretch is a valuable asset sometimes. Might be worth including as an optional switch.

noise
-vf-add noise=8hp:2hp
Pretty conservative values. Some people would rather go for higher ones.
One special case worth mentioning : movies/videos (the latter being much more frequent) with high temporal complexity. I'd suggest using
a. higher values, and
b. uah instead of hp.

denoise
-vf-add hqdn3d=2:2:3:2 (light)
-vf-add hqdn3d=4:3:5:3 (moderate)

scale
-sws 2 (used as default)
-sws 9 (user-selectable)
-vf-add scale=width:-2::0:::::1
Special case : interlaced content. Toggle scale=width:-2:1:0:::::1.

(de)interlace
User selectable toggles : preserve interlace (and this should automatically be linked with the corresponding -vf scale switch) or deinterlace (I'd suggest pp=ci/l5).
pinkie_1 is offline   Reply With Quote
Old 6th February 2007, 01:31   #19  |  Link
rvm
Registered User
 
Join Date: Jan 2007
Posts: 359
I find very interesting your notes about the filters. I keep it for later.

But right now I don't want to add more filters. Reason: I have planned something much better for filters. Let's say for now that the user will even be able to create their own filters.

That's why I don't want to add more filters now, I will have to remove that stuff later and rewrite again.

I prefer to focus in develop more basic things, like the playlist or bookmarks.

By the way, I don't have very clear how to do it. At first I thought to do a playlist like xmms' but I've seen that vlc implements both the playlist and bookmarks as one thing.

What would you suggest?

And finally announce that now the binaries for windows of smplayer are not a zip anymore, but a exe with installer.
There is one package which includes a copy of mplayer, and another one without mplayer. And I also uploaded 2 versions of mplayer (stable and svn) so the user could choose which one to use.

The svn version works very good with ASS subtitles. Look screenshot:


Download page:
http://sourceforge.net/project/showf...roup_id=185512

Last edited by rvm; 6th February 2007 at 01:45.
rvm is offline   Reply With Quote
Old 6th February 2007, 06:46   #20  |  Link
pinkie_1
Registered User
 
Join Date: Nov 2006
Posts: 56
Quote:
develop more basic things, like the playlist or bookmarks.
On win32 it sounds like an easy deal. Use a .ini with fields like :
--- last played back file
--- bookmark(s)
You could also implement an additional field to keep user-settings for any of the files defined earlier.

BTW, have a look at MPF (@ mpf.dzm.hu).
To me it seems to be a very good starting point for a GUI.
pinkie_1 is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 14:24.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.