14

When playing an MKV movie (h264/aac) with a separate .SRT file, VLC lets me control the looks of subtitles perfectly from the menu.

However, after losslessly converting the MKV/SRT to MP4 with built-in subtitles ("mov_text"), the subtitles are displayed as a small Arial(?) font, and VLC settings have no effect on this.

I thought maybe the MP4 file contained some information on how to display the subtitles that had precedence, but it happens even after I stripped all metadata from the MP4 file.

Is this a bug/feature in VLC? How do I make it adhere to the visual subtitle settings for all sorts of video files.

EDIT: SRT EXAMPLE

1
00:00:00,000 --> 00:00:07,000
Lorem ipsum dolor sit amet,
consectetur adipiscing elit,

2
00:00:09,000 --> 00:00:12,000
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

(etc.)

EDIT: SEE FFMPEG OUTPUT BELOW

ffmpeg -y -i "in.mp4" -i "in.srt" -acodec copy -vcodec copy -scodec mov_text -absf aac_adtstoasc "out.mp4" ffmpeg version 2.8 Copyright (c) 2000-2015 the FFmpeg developers built with Apple LLVM version 7.0.0 (clang-700.0.72) configuration: --prefix=/usr/local/Cellar/ffmpeg/2.8 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-ffplay --enable-libfdk-aac --enable-nonfree --enable-vda libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Input #0, mpegts, from 'in.mp4': Duration: 00:55:34.20, start: 10.099667, bitrate: 2441 kb/s Program 1 Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 162 kb/s Stream #0:2[0x102]: Data: timed_id3 (ID3 / 0x20334449) Input #1, srt, from 'in.srt': Duration: N/A, bitrate: N/A Stream #1:0: Subtitle: subrip Output #0, mp4, to 'out.mp4': Metadata: encoder : Lavf56.40.101 Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, 162 kb/s Stream #0:2: Subtitle: mov_text ([8][0][0][0] / 0x0008) Metadata: encoder : Lavc56.60.100 mov_text Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Stream #1:0 -> #0:2 (subrip (srt) -> mov_text (native)) Press [q] to stop, [?] for help frame=83215 fps=3113 q=-1.0 Lsize= 958501kB time=00:55:34.08 bitrate=2355.1kbits/s video:891302kB audio:65022kB subtitle:18kB other streams:0kB global headers:0kB muxing overhead: 0.225788%

7
  • Which OS and VLC version? Does it behave the same way with MKVs with embedded SRTs too?
    – Karan
    Commented May 6, 2015 at 20:14
  • OS X 10.10.3. VLC 2.2.1. Embedding the SRT into the MKV works. So it must be related to the MP4 container or the mov_text subtitle format. (The latter is required for MP4, and seems to be incompatible with MKV.)
    – forthrin
    Commented May 7, 2015 at 7:44
  • What did you use to convert the video? I assume ffmpeg due to the tag. Can you show your command and the complete console output? ffmpeg supports proper encoding/decoding of some stylization in mov_text (font size, font color, bold, italic, etc). I'm guessing your build is old, but it is currently impossible to tell without more info from you. However, I'm not sure how VLC deals with any of that.
    – llogan
    Commented Oct 16, 2015 at 5:41
  • See new information added in post.
    – forthrin
    Commented Oct 16, 2015 at 12:37
  • Can you provide the SRT file?
    – llogan
    Commented Oct 17, 2015 at 3:50

2 Answers 2

6

Posted the issue withe the VLC developers, and they claim the issue will be fixed in the forthcoming 3.0 release.

6
  • After almost two years, this issue has not been fixed. Any workaround? Commented Aug 20, 2017 at 6:49
  • 2
    Not that I know of. VLC 3 seems to have been in the works forever. I find it peculiar that such an issue is pushed back years in anticipation of a release that never seems to come. I've tried the VLC 3 betas, but I found them too buggy to use on a regular basis. Thus I keep all my SRT files separate from the main video file until a miracle happens. Maybe it would help if more people would follow up on the issue on the VLC bug tracker. trac.videolan.org/vlc/ticket/15627
    – forthrin
    Commented Aug 20, 2017 at 8:19
  • @forthrin that ticket you linked was closed two years ago, so I can't seem to add anything to it. I'm not sure why they think it's closed. Commented Sep 16, 2017 at 10:51
  • 1
    I can confirm that this bug is fixed in VLC 3 Commented Feb 19, 2018 at 10:18
  • 1
    Well, (almost) all the problems now seem to have been fixed in what is known as "VLC 4 beta", except for the fact that it seems like ffmpeg forcefully adds some font/colour settings to the embedded subtitles, that VLC in turn adheres to, effectively and unfortunately overriding user preferences in VLC. This has been filed as separate bug reports with both VLC and FFmpeg.
    – forthrin
    Commented Feb 19, 2018 at 11:22
1

This is definitely a MOV_Text/Mp4 container issue, and there is currently no other options to fix it.

Convert Mp4 to MKV with Subtitles losslessly

Also I found that if I extracted the MOV_Text SRT and added it manually, the problem still occurred, but if I downloaded separate SRT file from the internet, I was able to add them manually and then VLC was able to manipulate the font/size etc etc. (I mean that if you don't want to convert, your only option is to download separate SRT file and manually add it in VLC)

1
  • 1
    while I notice the OP is trying to go from MKV to Mp4, I wanted to share that their is no solution ATM for Mp4 embedded subs that VLC can control font/size etc. You have to add external subs to MP4 or convert to MKV Commented Oct 15, 2015 at 5:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .