Converting Container Problems Why does it seem to be so difficult to simply change a video's container? 

For example, when I download ".avi" &amp; ".mkv" video's from the internet &amp; want to watch them on my Apple devices (iPhone, iPad, Apple TV), I need them to be ".mp4" instead. 

I don't want to spend the time to go through the whole "conversion/transcoding" process with apps like Handbrake when it seems you can simply change their containers out with apps like Mkv2Mp4 or the old Video Container Switcher apps in a fraction of the time. 

Problem is, when I use those container changing utilities, various problems arise, like...


having mp4's with audio out of sync, or
having mp4's with no audio at all, or
having mp4's with very jittery video. 


I love the speed of these container changing apps but why don't the video's play exactly the same since they're not actually converting the codecs &amp; such?
First reason:
Videos / audios in AVI or MKV containers may be encoded by various codecs, and not all them are supported by MP4 containters.

Second reason:
Containers are more than simple boxes for videos, audios, subtitles, etc. with some not so important metadata as author or date/time. They have a lot of unevitable valuable information, e. g. the synchronization between audio and video is possible only due to it.

So there is not a reliable algorithm to convert any AVI -> MP4 or any MKV -> MP4 (and, generally speaking, from one type of container to a different one) without changing the streams (audios, videos, etc.) contained in them - the result may be similar to the one you described.