Embedding subtitles (SRT) into video files (AVI, MPG, MP4, MKV, etc.)
Video players like VLC have the option of rendering subtitles from an external file (.srt) on videos during playback, but many embedded players (e.g. those found in media centre systems like the Xbox 360), don’t. In cases like these, embedding the subtitles in the video track is often the best way to go.
If the video / subtitle files you want to merge are in the Matroska Video (.mkv) format, this will be a two-step process (MKV files can have subtitle files embedded, but they are kept separate from the video and audio tracks). You can follow these instructions to extracts the tracks from your MKV files.
If you already have the video and subtitle files separated (e.g. an .avi and a .srt file), you can simply use an application like ffmpegX (a visual interface to mencoder available for OS X only) or mencoder (Linux) to merge them.
To embed the subtitles into the video file using ffmpegX:
Open ffmpegX, click the ‘Open‘ button and select your original video file. Then click on the ‘Filters‘ tab, check the ‘VOB Subtitles‘ checkbox, click the ‘Load subs‘ button, and select your subtitles file. You might need to modify the Font size and Pos values to align the embedded subtitles properly.
Click the ‘Encode‘ button to start encoding your new movie file.