Expert users discussion
Reply #39 – 2006-05-11 18:28:09
I think Nero is right in not exposing too many features. Most people DON'T know what they do when they use custom command lines. That's a simple but true fact. Better just trust the developers. I think so too. It is indeed better for people who don't know what options to use or who could be confused by a huge list of advanced options. That's why they shouldn't be "exposed" but still available for the advanced user to hunt down off of an advanced features list online. Read on to see what I mean...May be maintaining of additional “beta” release with all switches unlocked could solve the problem? Yes, or just not documenting the advanced switches for the average user, forcing serious users to find it themselves. I'm willing to do some work to get at a lowpass or PNS option, even it means hunting for days People will just get those betas/alphas, play with them, mess with them. They even have an additional feeling of bleeding edge, those "wow, I am using an alpha, I am really a Pro" fizzy feelings. Yes, exactly... if these options are documented . This is the whole point of my newer, fairer, more comprehensive argument, my friends. Furthermore, I, as a user, do not want to be thinking about lowpass, PNS and whatever kind of switches there are. I do not even want to know what they are Which is why these options shouldn't be exposed for you to see, but in a completely separate list online ("beta list?" )I expect the encoder to make such decisions by itself. Meaning that the encoder is to decide what audio I personally perceive of having better quality according to my personal preferences, my source material, my situation, my needs, etc, and then to know exactly what sources to specifically adjust lowpass on, or perhaps the encoder would suddenly provide [gasp] source-adaptive lowpass ?! Until such a thing can be implemented, the current one should be allowed to shift according to user preference, source material, situations, and any other factors which may be unique to each particular advanced user. The "defaults" don't work on everything... Perhaps a universe of difference exists between audio and video encoding, but there are also some universal concepts worthy of consideration. Consider the new and power x264 video codec-- to solve horrid blocking problems in dark areas, I have to manually turn on --no-fast-pskip and adaptive quantization, but it looks fantastic now. The same features/defaults are simply not applicable on all sources, and the encoder may be slowed down tremendously trying to figure out when, where, and how to use every option that could make things be just a bit better for a particular source or situation. This is why the advanced user should be given the freedom to decide for himself. The process of tweaking the seconder to a specific scenario isn't “overriding” the defaults, it's building upon them, supplementing them with the needed boost that certain users/needs/preferences/situations/sources/etc might require. Which makes these arguments essentially invalid:You are saying that you are smarter than the people that have developed the tool itself, programers, sound engeneers, etc, and that you know better than then on when to use what feature? These statements are invalid because the defaults cannot be proven to be best for *everything,* (if they can, I'd like to see this proof) which is why the freedom should be there (after some hunting) for the advanced user to find an alternative that may fit his/her individual needs/prefs/tastes/situations/sources/etc/etc better than what may have been anticipated by the developer. Let me be clear that in no way or form, overtly or by implication, do I intend to place the user's knowledge of the encoding process above the developer's, nor do I even make any statement that the developer's knowledge is not “best” in many situations. However, the developer does not have to decide on exactly what options are best, given that these options and preferences and perceptions vary by source/audience/needs/etc. LAME may have made the mistake of documenting these options in the encoder itself (much less differentiating between "this is fine" and "don't touch this" options), but a separate documentation for advanced options is far less likely to cause these sorts of problems. Read above (in this post) under "I expect the encoder to..." I came to this conclusion from my experience in video encoding, which despite its differences, operates in some similar ways in that different options can be more suitable for different sources, different people, different situations, etc. This is the very reason why options exist: to expand the user's freedom to find something better for him/her and his/her situation and his/her source and his/her preferences and his/her compatibility and his/her time constraints and his/her needs, etc etc without allowing newbies or people who prefer simplicity be bogged down by seemingly useless or hurtful options--they won't be documented. The funny part is, vorbis has never exposed all these options even though it has certain models and modes that are used at different quality levels for different reasons, yet no one complains about that, because it's very well tuned. Uhmm, what? This statement actually helps to make my point. Considering that Vorbis doesn't even *have* some of these AAC-specific options as part of the standard, --advanced-encode-option lowpass, noisetune, etc is used all the time. The simple fact is, newbies just don't notice or care This is exactly what I'm aiming for, advanced options which exist but are hard enough to find that the newbie can't abuse them I saw this posted: "Ideally, users don't even need to think about "improving quality" the manual way, because the encoder should give the best quality it outputs all the time. Any modification could only lead to degradation of quality." Ideally, yes. In reality, it is nearly impossible to develop an encoder that is infinitely adaptable to an infinite number of variables. XviD, x264, even Vorbis and musepack to a certain extent, when properly configured according to personal preference, situation, source type, and so on, can easily be better than the "default" options in each particular case. Does that make the developers stupid, or mean they aren't doing their jobs right? Heck no--these guys are the bread and butter of the media compression scene. They simply make their codec adaptable to all scenarios by providing the advanced user the options to do so. In video compression, for instance, crispness, ME, adaptive quantization, subpel refinement, the number of references, etc is all configurable and *should* be configured by even the intermediate user. I am the author of DeathTheSheep's x264 guide , so I understand the need to personalize the settings according to needs/situations/personal preferences/source material/free time/etc/etc.Our internal version of encoder has more than 100 parameters that can be tweaked - I don't think that is something for general public to use, I think it would only generate some l33t ultra long command lines and probably lower quality. True. That's why these options (the more important ones at least), which still might increase quality if used correctly, should remain available for the advanced user to tweak and use--not listed or documented within the package , but in a separate list available --with some measure of effort-- online. Oh man, this thread is turning into a disaster. Why do you guys all care sooo deeply about having these switches or not having them? Some people believe that one thing can infinitely adapt to all circumstances, all users, all situations, all preferences, all sources, etc perfectly, while the other group wants the freedom to have at their disposal at least some semblance of control over their own needs, which the first group considers counterproductive because it may lead to "abuse of these options." The solution, of course, is: not even expose or document or include these option names in the package, but have them online elsewhere if they are actually needed. Or provide an entirely separate build, which sort of defeats the purpose because newbies would still have at it thinking they know what they're doing. "What they don't see, what they don't know even exists about the encoder, can't hurt them" is my philosophy too for general purposes, and what Nero hopes to accomplish. But just in case, a list of advanced tweaks should be available online for the people who actually (goodness forbid) know exactly what they want. I love life--I really hope we can all reach a solution that will satisfy us all. We simply have to be creative