Is there any way of adding subtitles to a video without having to re-encode them? I think this is called soft-subtitles.

Also, I have a bunch of mp4/mov files. I tried to add subtitles on those videos by re-encoding them and it did not work. The subtitles files are in the same folder with the same name as the videos. Does it only works to avi files?