I'm looking for a lightweight way to embed subtitles on my videos, in order to view them on video players such as embedded players on TVs or consoles, not supporting external subtitles loading such as SRT file format.
Since re-encoding a video on a Raspberry PI may require a lot of time/resources, I'm looking for a fast and lightweight way to do that which does not require re-encoding the video.

I've found that XSubs and idx/sub formats don't require re-encoding the video, since they "append" a subtitles-related bitmaps over the video, thus (I think) being faster techniques.
There are several desktop programs which allows to do that, but I'm looking for a command line and scriptable program (such as avconv, mencoder, or ffmpeg) for my headless and desktop-less Raspbian based Raspberry PI.

Is there a solution?

  • First step is finding out what video formats your devices DO support... Oct 1, 2013 at 23:39

3 Answers 3


Found that MP4Box can do that.
Installation: sudo apt-get install gpac
Usage: MP4Box -add movie.engsubs.srt:lang=eng movie.mp4 -out movie.subbed.mp4
It took 1 minute, 23 seconds to process an hour long movie.

Hoping it works, I'll test it tomorrow with the embedded player on my Xbox.


There is a free GPL software called Video Updater Tools.

It works pretty much to Embed (or extract) Subtitles and Chapters from Video files.

It uses other tools behind the scene (like ffmpeg, MKVMErge, MP4Box) but packaged nicely into a GUI and CLI so it's like a one stop for most video container formats.

It work on directories recursively so one don't need to keep doing it for each file and automates the entire process. You can also drag and drop files/folders in the GUI version.

It can embed subtitles and chapters in MP4/M4V/MKV containers from EDL and SRT files.

It can also be used to do the reverse, extract subtitles from video containers. But for your needs to embed the SRT into the video files, the GUI should be a good easy to use solution. You can use the CLI if you're writing scripts.



You can also use ffmpeg's subtitles or ass filter.

*This filter requires ffmpeg to be compiled with --enable-libass

ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi

*As described on the ffmpeg wiki

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.