I've added different language subtitles to individual m4v movies, and they show fine when selecting the subtitle track in both Quicktime and VLC. I would like to have them so that the subtitles display by default. Any way to do this?
2 Answers
You can use MP4Box 0.6.2-DEV-rev453 (May 2016) or higher to do this:
mp4box -add alfa.mp4 -add bravo.srt:txtflags=0xC0000000 -new charlie.mp4
This will mark the subtitle stream in the output file as forced.
However, this mark will only be recognized starting with these versions of programs:
MPC-HC 1.7.10.207 (May 2016)
VLC media player 3.0.0-20161101 (Nov 2016)
I have seen mentions to this post on the FFmpeg mailing list about a patch that implements disposition for FFmpeg:
ffmpeg -i alfa.mp4 -i bravo.srt -c copy -c:s mov_text -disposition:s forced charlie.mp4
However after having tried it with both "forced" and "default", the subtitles marked by FFmpeg are not recognized as forced by either MPC-HC or VLC.
Afaik apart from Blu-ray's and DVD's only MKV supports forced subtitles. If you want the subtitles to be "burned" into the video. Meaning they are part of the pixel frames you can use a tool like ffmpeg. A nice tutorial specific to mp4/m4v can be found here: http://forum.videohelp.com/threads/277706-How-to-add-subtitles-permanently-to-existing-mp4-h-264-file?p=2305682&viewfull=1#post2305682
MP4 definitely can not show forced subtitles in software. There might be another format other than MKV that supports forced subtitles that I don't know of but mp4 definitely doesn't have that in its specs.