I've used GotSent for lots of MKV -> mp4 conversions (technically it's more of a video repackage combined with an audio conversion). I like this method because it (a) takes less time and (b) there is no loss of video quality (or additional disk space usage).

I've encountered some videos that were originally encoded in Dutch, and I think that may be part of the problem. I first tried to open the .mkv file in the mkvmerge GUI, then remuxing with the audio track set to English. This produces a new mkv file that converts fine in GotSent and plays fine in VLC and others after the GotSent "conversion". (in fact they all played fine in VLC, except the audio said Dansk prior to me putting it through mkvmerge). After doing all that, I noticed that the framerate for the "problematic" videos is different that the framerate of those that worked fine. The "bad" one was 25.00000, while the others were either 23.97 or 29.78 (or something like that). I gather from reading through posts that this is because my 25.0000 ones are actually for PAL, while the others are NTSC. This is probably the reason the stupid xbox360 won't play them! (for shame Microsoft).

So for those Dansk files, my only remaining option it seems is to completely re-encode them using (among others) WinFF or Handbrake. Both of those apps work fine for me (although they are considerably slower obviously because they are completely re-encoding), so I can handle doing that for a small subset of the videos I would be viewing. The catch: I don't want to lose any video quality to pixelization.

Sorry for being long-winded, but I wanted to be thorough. So, my question is two-fold:

a) Is there a better way to accomplish this? Can I change the framerate without re-encoding? (I think the answer is no, just checking)

b) what settings for Handbrake or WinFF would ensure that I retain the full video quality? For this situation, I am less concerned with the time it takes or the size of the resulting file (although those are valid concerns as well), my main concern is the video quality. I re-encoded one in Handbrake set to "Constant Quality Rate" of 100%, but the produced .mp4 file was nearly 4x the size! (I haven't had a chance yet to check the video quality though). I'm trying it at 61% Constant Quality now, but it's not yet complete and the new file is already bigger than the source. For WinFF, what I've had to do in the past is: first try running it with no custom options, then once the CMD prompt appears, it lists the source file's resolution. I make a note of this, cancel the conversion, then start over again with the noted resolution in the settings. (the obvious problem with this is that I can't do batch conversions for files of different resolutions). I've gotten my feet wet with scripting, and I run Linux and Windows, so any suggestions on how I can set this up as a batch job would be appreciated (i.e., check original resolution, and convert to same res., or some other conversion tactic that keeps same quality.) Of course a simpler solution is preferable as well, but that might be a stretch.

Also, it goes without saying that I wll be building a MythTv HTPC, but that could be several months from now. Any solutions are appreciated. Thanks.