My TV can only play subtitles if they are embedded into the file (eg a MKV or hardcoded over the video).
So given a film in a format (eg MP4) and a subtitle as something like a SRT, how can I combine them into something my TV can play?
Try HandBrake. HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded video transcoder, available for MacOS X, Linux and Windows. it allows users to add subtitles as a part of the movie with the option to turn the subtitle on and off. Something like DVD movie subtitles.
To install HandBrake from Ubuntu PPA:
If you are using Karmic (9.10) or later, you can just click on "Technical details about this PPA" link on the PPA page and select your Ubuntu version. sources.list entries hence shown can be added directly to your system's software sources:
you can use avidemux.
2.Open the .avi file.
3.Select a video encoder from the pull-down menu on the left pane, where it says Video.
4.Configure the encoder by clicking the "Configure" button.
5.Add a subtitler filter. First click on the "Filters" button in the left pane (under Video).
7.To finalize the process, click Save and type in a name for the output file.
More You can use VLC
Read more on.
I added them with avconv like: