first you're gonna need your videos in .MKV container and put the subtitles inside of it.
You can do it in MKVToolMix. Have as many subtitles as you like just don't forget to set them a language.
In Visionaire you will need this line of code somewhere in your scripts.
game.GameVideoSubtitleLanguage = "eng"
...Or whatever language you would be setting.
Also it should be possible to set a font for your videos
game.GameVideoSubtitleFont = getObject("Fonts[name_of_the_font]")
This doesn't work for me though, it's always setting the font with ID 1 ( i think it was 1 ) for me. Maybe it will works for you otherwise what you could do is to create new font and make it same as the font with ID 1 -> used it instead and then change the font with ID1 to whatever font you like.
I suppose you could also be streaming some empty subtitles in the .MKV container if you want an option to turn them off. Not sure if you can turn them off via Lua.