How can I change a video container without re-encoding or compressing the file?

Solution 1:

MKVtoolnix can help with this. I believe someone else already suggested this package to you in an answer to another question. As a commenter on that answer mentions, it will repackage your AVI with no quality lost.

Basically, you just run the mkvmerge program. Since AVI and SRT files are both supported, you should be able to run this and get a working MKV.

$ mkvmerge -o out.mkv input.avi input.srt

If you run into problems, you'll need to figure out the proper tweaks to the command -- it can do a lot of things, but it can't guess what you want from it. The documentation is a great place to start.