You are not logged in.
Updated to 0.7.8.
This version solves some critical issues. Strongly recomment to update older versions.
AUR: https://aur.archlinux.org/packages/cmplayer/
* Mod: remove '=' in --open and --action (e.g., --action play/pause not --action=play/pause)
* Fix: cannot control audio of format unmatched
* Fix: playlist and history located in wrong place on resized or initially shown
* Fix: 'disable screensaver' didn't work in OS X
* Fix: occasional black out of video when new media is played
* Fix: cannot parse path which containts '~'
* Fix: add a borderline to messagebox
* Fix: hide empty messagebox on executed
Offline
Sorry for my confusion but where are the keybindings for cmplayer (input.conf) located?
Offline
@gbj13 There's no such thing. CMPlayer does not support mpv-style keybinding. You can customize the shortcuts in preferences dialog.
Offline
@xylosper, Yes I have been unable to bind seek to the mouse wheel, not a major issue, hopefully it will be fixed in later versions.
Offline
@gbj13 you can do it in mouse action tab of preferences dialog.
Offline
@xylosper, well I feel dumb now Thank you for pointing this out to me
Offline
Why is there no renderer/output driver selection?
Offline
@rabcor You can select audio output driver in sound tab of prefererences dialog. For video, no video renderer built in mpv is supported. CMPlayer renders video with its own renderer.
Offline
Yeah i was talking about video renderer. I don't like whichever one CMplayer uses. I want the best possible quality i can get from my videos since i've got a pretty strong GPU. I use madVR on windows for example, in fact madVR is one of the reasons i still use windows rather than being 100% linux. And at least from what i could see in CMPlayer the renderer seems to prefer performance over quality. You are using LAV filters though which i like.
Last edited by rabcor (2013-10-13 00:21:06)
Offline
@rabcor
I'm not sure what you are talking about. Do you want to use madVR in Linux? Or, do you have a preferred renderer built-in mpv?
First of all, CMPlayer cannot change renderer and, it won't. Other renderers cannnot be integerated with my GUI.
Second of all, you cannot just use madVR, but if you have a command lines option for mpv which you like, I can try to implement them.
Anyway, if you want something to be included, you have to provide specification or at least some examples.
I have no windows PC and I have never used madVR.
By the way, what is so special with LAVFilter? As far as I know, all media player running in Linux use FFmpeg(or its fork, libav) which LAVFilter is based on.
Offline
I tried this player and look really nice i like it. Is possible to add in next version support for aspect ration for 16:10 monitors, and maybe OpenSubtitle downloader like in smplayer?
Offline
@Kosava It's easy to add 16:10 aspect ratio. I'll add it in next release.
About looking for subtitle, It'll take some time.
In fact, I'm preparing new release now, subtitle search feature cannot be included in next release.
I'll try to add it in next second or third release.
Offline
Thanks @xylosper.
One thing i noticed when i chouse encoding for CP1250 or UTF-8 it not show me font for characer Š and Ž. I tried several fonts, but this 2 particular character, not show me.
Last edited by Kosava (2013-10-13 07:22:47)
Offline
@Kosava
I have tested those letters with UTF-8 but I couldn't find any problem.
Are you sure your font contains those characters?
Some screenshots and sample subtitle files could be helpful.
Offline
Updated to 0.7.10: https://aur.archlinux.org/packages/cmplayer/
This version depends on libquvi-0.4 and libquvi-scripts-0.4 which can be also found in AUR:
https://aur.archlinux.org/packages/libquvi-0.4/
https://aur.archlinux.org/packages/libquvi-scripts-0.4/
Offline
@rabcor
I'm not sure what you are talking about. Do you want to use madVR in Linux? Or, do you have a preferred renderer built-in mpv?
First of all, CMPlayer cannot change renderer and, it won't. Other renderers cannnot be integerated with my GUI.
Second of all, you cannot just use madVR, but if you have a command lines option for mpv which you like, I can try to implement them.
Anyway, if you want something to be included, you have to provide specification or at least some examples.
I have no windows PC and I have never used madVR.
By the way, what is so special with LAVFilter? As far as I know, all media player running in Linux use FFmpeg(or its fork, libav) which LAVFilter is based on.
madVR is the best quality video renderer available, at least that i know of. Here's an example of it's chroma upscaling. Here is the official release post for it.
Why yes i'd absolutely love to use madVR in linux, i'll be asking its developer soon if he has any intentions of making it cross platform. But what i was asking is why CMPlayer doesn't allow you to set the video output driver setting... that is "vo=" in mpv, as can be seen here the first option in the example config file.
I decided to compare the output drivers available for mpv to cmplayer.
In the case of a file with the same resolution as my monitor, i notice that the contrast setting is different in CMPlayer than in mpv, the colors seem richer however this can in some cases cause problems...
If i were using mpv i would use "vo=opengl-hq"
comparing the upscaling between the two players i found a low-res file, and mpv's upscaling with opengl-hq video output is of much (easily visible) higher quality than CMPlayer's upscaling, so as soon as you're watching something from a low-quality source, opengl-hq seems to outclass what you use in CMPlayer.
On a medium quality file (1280x720) where extreme upscaling isn't required, i still see a good quality difference between opengl-hq and CMPlayer, opengl-hq clearly wins again with the upscaling, and in CMPlayer probably thanks to the different contrast i see some ugly color banding so in this case i'd much prefer to watch this file without the contrast/color modifications in CMPlayer. I would've liked to get a screenshot of this but taking screenshots within players while an image is upscaled requires a 3rd party screenshot application which i'm too lazy to get, you can check this yourself
I notice that the subtitles are sharper and easier to read in plain mpv than in cmplayer, in CMplayer they appear blurry in comparison. I doubt that has anything to do with the renderer but it is something you should be aware of.
What makes lav special is that it focuses on increasing both quality and performance without making any compromises and this is just a guess but i suspect lav supports more formats and codecs than ffmpeg. I know very little about it to be honest but quality freaks all over use it.
I also have another question, i want to use hardware decoding but CMPlayer says it's unsupported, why is this? and how can i make it supported?
Last edited by rabcor (2013-10-13 19:27:27)
Offline
@rabcor
Thank you for your detailed descriptions.
I've taken a look of madVR, and I think there's two major differences between madVR and CMPlayer.
First thing is chroma upscaling algorithm. I couldn't find what kind of algorithm madVR uses to up-scale chroma sampling, but if you feel some difference in chroma, maybe it differs from CMPlayer's. CMPlayer uses bilinear, by the way. Do you have any information about what madVR uses?
Second thing is dithering. CMPlayer does not any color-dithering.
In fact, CMPlayer does nothing for color adjustment by default, of course, same as for contrast.(What you call 'color banding' is not caused by contrast adjustment.)
mpv's opengl-hq does dithering and this can remove such color banding, as far as I know, and I think, madVR also use dithering.
As a matter of fact, I'm still studying about dithering (I'm not a pro for multimedia).
About subtitle, have you tried the latest one(0.7.10) which I've released yesterday? I think it's already fixed in the latest.
About LAV filters, note the phrase "All LAV Filters are based on the FFmpeg multimedia libraries (licensed under GPLv2)" in official page of LAV filters.
LAV Filter is a kind of bridge to connect ffmpeg and DirectShow, if I understand it correctly.
I couldn't find any difference in codecs and filters although LAV Filters may contain better demuxers(what they call splitters) than those of ffmpeg, but generally, demuxers don't affect qualities.
I think you have to compare LAV Filters with ffdshow which is another implementation of DirectShow filter for FFmpeg.
And, of course, DirectShow filters are meaningless in Linux.
For H/W decoding, you have to install libva and libva drivers. I think libva has been already installed because cmplayer requires it.
Driver what do you need depends on your hardware. For details, please see: https://wiki.archlinux.org/index.php/VA-API
Last edited by xylosper (2013-10-14 00:58:21)
Offline
madVR allows the user to select what algorithm to use. Bilinear seems to (in-general) turn out good. There's also Jinc(4 taps), Bicubic(100) and SoftCubic(70) to consider. For your convenience i took a picture of the configuration menu, it shows the user the options and the difference (sharpness = good, Hiding source artifacts = good, everything else = bad) The default is Lanczos
The options for image up/downscaling are the same, except they can use DXVA2.
There are also rendering options within which you can optimize a bit, most importantly you can set the CPU/GPU queue sizes, windowed mode settings (backbuffers and when/how the GPU shall be flushed), smooth motion (dejuddering, its an effect i hate though.) and trade quality for performance which allows users to toggle all sorts of stuff. In general though apart from the Queue sizes these settings don't need any user configuration.
Cool to know that CMPlayer does nothing for color adjustment by default, since i really liked the colors. That must mean that mpv does since the colors seemed to be darker and more.. "dull" in mpv, for example what would show up as dark red in CMPlayer was dark orange/red in Mpv, details like that. I have screenshots for comparison i'll put them together in one picture then add a link here so you can see what i mean.
I'll update to 0.7.10 soon to see if the subtitles thing fixed.
Update:
These screenshots are both from a non-scaled source (since screenshots come in the original videos resolution rather than the one you're viewing them in) the color difference i'm talking about can be seen in them, and also a sharpness difference (look at the face on the front-cover of the book and compare its sharpness between the two images) the differences become more extreme after upscaling, and the book's cover will also be covered in color banding in CMPlayer while looking relatively similar to the original in Mpv except that it loses some sharpness due to the upscaling.
Also something you should know is that CMPlayers snapshots come with a Custom Pixel Aspect Ratio, this can be problematic, for example if i compare the two screenshots (files) it will be obvious that the CMPlayer snapshot is smaller horizontally than the mpv one despite having the same resolution. I could fix this in photoshop by setting the Pixel Aspect Ratio to Square (the usual value for most images) you should look into this and whether this has anything to do with the video displayed in the player itself, or if it's only the screenshots that have this problem as it can (sometimes severely) reduce image quality and in some other cases the files may be unviewable by certain image viewers if they don't like the pixel aspect ratio. Since you don't use windows, i'm sure that Gimp has the feature to change the pixel aspect ratio as-well since gimp generally has everything that photoshop has.
Mpv Screenshot
CMPlayer Screenshot
MPC with MadVR <- Again, since there's no upscaling the difference isn't that big, most renderers if they're worth anything at all can render files in their original resolution at full quality.
Btw anyone who knows what anime that screenshot was taken from automatically rocks. However seeing that two player (mpv and mpc) show the file with the same colors rather than CMplayer, makes me find it hard to believe that CMPlayer is the only one that doesn't make color adjustments, i'd think it's the other way around... When i tried adding VLC to the mix (regardless of renderer choice) however i see the colors are the same as in CMPlayer, now i'm just confused... Investigating further i have found the culprit. It is an option, in VLC it is called:
Use hardware YUV->RGB conversions
I quite like this however so please don't remove it. It corrects TV (luminance) levels (16-235) to PC levels (0-255)
So basically Mpv uses the input levels (which in this case were TV levels) but CMPlayer converts the input to PC levels.
Now i just need to figure out how to enable this for MPC, i think LAV can do that.
Update 2:
I imagine there's a lot more to LAV than what you think, the splitter, audio and video decoders all come with tons upon tons of available options
The splitter comes with Demuxer, and other audio/subtitle related settings.
The video decoder allows configuration of hardware accelerated decoding, resolutions, deinterlacing (software & hardware), RGB output levels (Yuv->RGB conversion) and Dithering (i use random dithering) it also has thread amount selection for multithreading (i use all 8) the audio decoder comes with an option for converting mono sound to stereo sound and 6.1 to 7.1, SPDIF and HDMI, Dynamic Range Compression, Audio Delay, Automatic A/V sync, Converting the source audio to the channels specified (for example if i have 5.1 speaker channel setup in MPC, lav audio decoder will convert the stereo audio to 5.1 surround audio for me to use all my speakers) it also has a mixer.
Last edited by rabcor (2013-10-14 02:43:43)
Offline
@rabcor Thank you again.
I'm surprised at the color differences. Basically, what determine the RGB color is so-called color matrix. And the color matrix is calculated with some coefficients given by standard color format like BT709 or something... I cannot understand what makes such big difference. Maybe I have to look into VLC's implementation.
And, I have never set pixel ratio... I'll check it later. By the way, when compare the rendered pictures, don't use the snapshot. the process to produce a snapshot contains some additional format conversions and the result may differ from actual rendered scene.
Chroma interpolation can make the differences of sharpness in non-scaled image, but CMPlayer also uses bilinear to interpolate chroma. If the madVR's screenshot is taken with bilinear chroma upscaler, I cannot understand what makes the difference in sharpness.
Many things what you pointed out are not understandable in my current knowledge. I have to study a lot to fix these things.
Oh, by the way, you can select interpolator in video menu. Please try that.
CMPlayer renders video through two pass now.
First pass contains YUV->RGB conversion in off-screen where chroma upscaling is done.
Second pass performs actual rendering to screen and this pass includes interpolator.
In this stage, since the picture is already in RGB-format, there's no chroma/luma channel.
Everything is performed by OpenGL whose codes are executed in GPU usually.
The video interpolator in 0.7.10 is only for the second pass, so you may not expect so much enhancement though.
Offline
Reply to Updates:
CMPlayer respects the input level(color range). If you feel so, I have to check the routine and maybe there's a bug, altough it could be nice to add some menus or options to select color range.
Most of them which you mentioned as functions of LAV Filters are already included in ffmpeg except hardware controls. Hardware decoding using DXVA2 is also included in ffmpeg. The reason I said 'most of them' not 'all of them' is I do not know everything of ffmpeg. However, I think I can say that really various things are implemented in ffmpeg already except playback related features like AV sync or delay.
Please don't get me wrong. I'm not saying LAV Filter is useless. What I want to say is, in my case, LAV Filter is not an special option for me.
The most important thing is that I cannot use LAV Filters because Linux has no DirectShow.
Moreover, almost every multimedia player in linux already uses FFmpeg which makes LAV Filters are not so attractive.
In fact, in Linux, it is not easy to replace some part of a player although libraries like GStreamer has a piple line which makes it possible.
Anyway, what's important is LAV Filter is not choicable.
Last edited by xylosper (2013-10-14 05:05:57)
Offline
@rabcon I have tested just now and I couldn't see such a big difference.
Maybe it depends on sample or monitor or maybe my low-quality vision:).
I want to test with the same file.
Can you send me the video file what you tested?
Or, if it is well-known, please let me know the exact file name so that I can try to get it.
Offline
Sure, this (torrent) is the exact file i used. The file should have 10 bit encoding and be at 1280x720 resolution. If you like anime i recommend watching the entire series, one of my favorite comedies.
The subtitles issue has indeed been fixed, gj on that!, and the default value in LAV with MPC was to use the same color range as the input, i would assume mpv is the same but VLC is not. And yeah it would be nice to have that option since i know both VLC and MPC have it.
I compare mpv and CMPlayer without the screenshots, but usually in full-screen (upscaled) the screenshots i took actually show roughly the difference between the two fullscreen videos for me (except in the real players the differences are more extreme and easily visible), but if i compare them windowed (original resolution) then the difference is mostly just colors. The exact scene i used is a part of the very first scene in the episode, so just wait for it to get there if you want to use that same scene.
I looked at the interpolators, the only ones i would consider using are Bilinear, Catmull-Rom and Lanczos (3) out of the ones available, the others all looked blurry in comparison to me. Comparing all 3 of these to Mpv, the image is still blurry in comparison on a fullscreen video. I'll probably stick with bilinear but its a great option to have.
Finally, pressing TAB for media information is really neat, but it seems to be missing some information, for example if the file is 8-bit 10-bit or 14-bit encoded, i'll take a screenshot of a similar info panel in MPC also, it says "Hardware Acceleration:Inactivated" and same with Volume Normailzation, hardware acceleration should be on since i've enabled it for every format... hmm, but what i caught on is "inactivated" i think it would be more correct to say "Inactive" or "Disabled" and then i assume the opposite would be best as "Active" or "Enabled", you could also just use "On" and "Off"
There u can see in the 4th line input, codec (h264), encoding (10 bit), profile (4:2:0) -> output
In CMPlayer, the same file would say
Input: avc1, 1280x720, 23.976 FPS
Output:420p10 1280x720 23.976
so it is there! profile 4:2:0 and p10, i was just too blind to see it, but the MPC info has a lot more stuff in it that you may want to consider adding, such as Matrix, dropped/delayed frames and queues. That picture of the info was taken from the same file as the other shots (although on a worse computer, hence the many dropped frames). But still, CMPlayer isn't showing that the input is 4:2:0 and 10 bit encoded like MPC is. Also, if we compare the sizes of the info panel, the panel in CMPlayer covers like 1/4 or 1/3 of my screen (huge) but the one in MPC covers like 1/8 (not too big)
I hope i've been helpful
Edit: Trying to get that color CMPlayer has in my MPC, i noticed in VLC that i turned off the "Hardware YUV->RGB Conversions" options to get the colors right (if i remember correctly, before i had to turn it "on" but not off to get the colors right). I still haven't found out how to make it work in mpc though, and i've tried configuring it to "Untouched" "16-235" and "0-255" within LAV but it seems to have no effect.
Last edited by rabcor (2013-10-14 20:05:43)
Offline
@Kosava
I have tested those letters with UTF-8 but I couldn't find any problem.
Are you sure your font contains those characters?
Some screenshots and sample subtitle files could be helpful.
Here is screnshot it is artificated letters Š and Ž
Offline
@ rabcor I found the problem. I think you meet the color issue only with 10bit-encoded sources.
The mathematic formular was wrong to convert 420p10->rgb. Now CMPlayer shows the same color as mpv's one.
Sorry to hear that you like the color but I have to fix it because it's obviously a bug which is not intended.
Also, it can cause extremely ugly color banding which I couldn't find in your screenshot.
Now CMPlayer in git repo has dithering and dithering+right color maybe solve the color banding issue.
For blurry scene issue, I'm still working on it, but I'm not sure I can fix it because my vision is not so good that I can recognize the subtle difference.
Once I think something is changed, I'll upload some screenshots later, then please evaluate them again.
Nice info about MPC's displays. I'll take the infos into consideration but I don't want to display too many bloated informations, so I think only some part of them is added in CMPlayer.
I'm not sure what you mean about "Hardware Acceleration:Inactivated".
Do you mean the expression is wrong as an english word?(I'm not a native speaker for english).
Or, it's not a proper word because you've already activated them?
If you intended the latter, it's a bug which I know. CMPlayer can shows three states for H/W dec "Unavailable"/"Inactivated"/"Activated", and the availability is judged by the codec name only (e.g., h264).
However, AFAIK, there's no H/W Acc. driver which supports non-8bit-encoded h264 sources, so the hwdec will fail. In this case, CMPlayer should display "Unavailable" instead of "Inactivated". I'm trying to fix it.
Oh, just FYI, 420p10 is not 420/p10 but 420p/10 which means 4:2:0 planar format 10bit-encoded.
And, if some format conversion is occured, CMPlayer will display the output format in 'original'->'converted' form (e.g., "420p->bgra" although CMPlayer supports 420p already so you cannot see this message actually).
Your replies are greatly heplful. I can feel the improvement of CMPlayer whenever I meet such a person like you who reports everything actively. Thank you.
Offline
@Kosava, and what font do you use? I think I have to test in same font configuration.
Offline