Re:FFmpeg Drawtext Filter for Overlays, Scrolling Text, Time...
by cm2187 on Saturday October 24, 2020 @04:34AM
(#24877794)
You can hint the video player with metadata.
To make the first subtitle track default:
-disposition:s:0 default
Or you can make it forced: -disposition:s:0 forced
And to clear the disposition of the second subtitle track (if it was default in the source stream) -disposition:s:1
The problem is that video players are inconsistent in term of how they honour these parameters.
See eg: https://mutsinzi.com/add-srt-subtitles-to-quicktime/
TL;DR:
ffmpeg -i yourVideo.mp4 -i yourSubtitle.srt -c:v copy -c:a copy -c:s mov_text -metadata:s:s:0 language=eng yourOutputVideo.mp4
I'm uncertain if there are some metadata you could toggle to hint at default subtitle language and/or default to subtitles on (or off). I generally use vlc, so this isn't much of a problem for me.