[SOLVED] External subtitles not working with certain files


I have Vero4k(fully updated, no add-ons installed), it works like a charm, but today I have faced strange issue. I have new TV series - 10 .mp4 files with external subtitles(.srt). I have tried to play file as I would normally do, then paused, went to subtitles and then “Browse for subtitles…” I have selected .srt file and resume play. Subtitles are not visible. Never had problem with that before. I have tried to open same file and .srt file on my Windows PC by using VLC Player and there subtitles works as expected. I have tried half of this TV series and this problem is for all of them.

I have then tried on Vero4k to open some old video file and loaded subtitles(from new TV series) and subtitles works. So it is something to do with video file.
Here is output from MediaInfo: GeneralComplete name : REMOVED.mp4Format - Pastebin.com
Here is kodi.log output: 2023-03-18 22:22:56.635 T:4058 INFO <general>: CDVDAudioCodecFFmpeg::Open() - Pastebin.com

Only one work-around I have found so far is to take mp4 file and add there “forced” subtitles by VLC, but this means to encode file again and it is quite time consuming so not a real solution.

Any ideas where problem can be?

Have you opened that srt file with a text editor to see if there is actually properly formatted data inside it? I’m wondering if VLC is actually picking up closed captions or teletext and not the srt. Or else maybe it is just more forgiving about errors in the file. If you only needed to make it forced in Kodi you can do that by just naming the file [movie file name].[two or three digit language code].forced.srt.

Another thing you can do is download a program called Subtitle Edit (it’s free) and use that to open both the srt and video file and you will be able to see if it is correct as well as make any needed modifications like adjusting sync or changing formats.

I can open any other .mp4(or even .avi format or any other) and load those subtitles from new TV series just fine. So it is not a problem with .srt file itself. I have also opened it in Notepad and compared first few lines with other .srt files and format seems to be exactly the same.

I have also tried to name file like MOVIE_NAME.SRT, also MOVIE_NAME.EN.SRT. Now I have tried your suggestion: MOVIE_NAME.EN.FORCED.SRT. In all those 3 cases, subtitles are automatically loaded(in Kodi GUI is is visible as loaded), but still does not show up.

I have also compared initial scene(where 1st subtitles should be shown) on Kodi and VLC to make sure that all is rendered on the screen. And seems to be fine, all what I can see on VLC is visible on TV screen via Kodi, so it is NOT like part of the movie would be rendered below screen edge.

Also I have never made any adjustments to subtitle fonts, position or any other settings in Kodi regarding subtitles.

To me it feels like if this certain video format is played by Kodi, Kodi decide not to show(render) external subtitles.

Well, somebody did. From your guisettings.xml…

            <description>1920x1080 @ 50.00 - Full Screen</description>

Do note that the bottom of your screen is at 1080 and you have calibrated your subtitles for this particular format of video to display 147 pixels below the bottom of the visible area. The default setting is at 1042. To fix this during playback bring up the video settings and then calibrate and then click the select button twice to get to the adjustment for subtitle position and then use the up/down direction buttons to move it back into a visible position.

On a side note you also have calibrations for overscan set for both 1080P @ 23.98hz and 50hz which optimally should be reset and the overscan disabled on your TV for these modes.


It was indeed this problem, when I did calibration I was able to see subtitles again. It is strange as I don’t really remember touching those settings.

But what I don’t understand is:

  • My screen runs(data from systeminfo): 1920x1080@60Hz
  • Movie is 720x360.

Why above mentioned profile was applied to movie with different resolution? And if that profile is not per movie resolution, but rather per screen resolution then why other movies on same screen had subtitles without an issue?

For your side-note, I have ran video calibration, where I have moved subtitles up and also adjusted and then I pressed on: “Apply for all videos”. Is that what you meant?

The 1080p 60hz is your GUI resolution and with the setting for adjusting refresh rate (which is optimal to have enabled) when you play a video it will adjust the output to the closest matching frame rate at the GUI resolution or higher depending on source and connected display. The file in question here was 25 fps which gets frame doubled to 50 fps at which point that particular calibration setting took effect. When you were testing that sub with other videos they must have been something other than 25 or 50 fps. None of the other display modes had the subtitle set outside of the viewing area.

Yes, but note you only adjusted back for videos using that same resolution and frame rate as the one you were playing while making the adjustment. If you take a look at your log in the bottom part of guisettings.xml you will see all of the adjustments you have made and to what. IIRC “apply for all” setting applies to all the settings but calibration which doesn’t require that to be done. Really what you want is for all of Kodi’s video output to be un-scaled and full frame and any overscan or black bar compensation taken care of by your TV which will almost always do a better job of it.

1 Like

Related to keeping captions (technically subtitles are graphical glyphs like DVDs provide, not text like SRT/ASS files) and the video separate, have you considered merging them into a single file?
I merge several language subtitles into the video file using mkvmerge. It creates an MKV file/container, which is extremely flexible for what it can hold. I do it because some of my playback devices access the media using DLNA which only streams 1 file, so if I want captions and/or subtitles.

Having 1 file to handle makes managing things much easier.

Just something to consider.

Pedantically closed captions are subtitles that are intended for people with hearing disabilities so they include extra text that describes important sounds and identifiers to the source of off screen dialog (also known as SDH). Open captions (hard coded into the video so they cannot be hidden) typically provide language translation (typically called “forced” for text based subtitle formats). Whether some sort of subtitle is stored in an image based format like pgs or text based like srt it doesn’t change what their proper names are.