I'm looking for a way that burning subtitles to mp4 videos with ffmpeg.

I used the following command to convert and burn subtitle but its not worked !

ffmpeg -i subtitle.vtt subtitle.srt
ffmpeg -i video.mp4 -i subtitle.vtt -c copy -c:s mov_text out.mp4
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Stream #1:0 -> #0:2 (webvtt -> mov_text)
Press [q] to stop, [?] for help
[mp4 @ 0x80aee0] Encoder did not produce proper pts, making some up.
frame= 2692 fps=1139 q=-1.0 Lsize=    2416kB time=00:01:29.83 bitrate= 220.3kbits/s
video:1264kB audio:1053kB subtitle:2 global headers:0kB muxing overhead 4.178210%

1 Answer 1


Your command is muxing the subtitles (putting into the video file, so client can turn them on and off); not burning them to the video.

Since you want to burn them into the video, you should first convert your .vtt to .ass (note: your ffmpeg must have been built with libass):

ffmpeg -i subtitle.vtt subtitle.ass

Then burn the subtitles to the video:

ffmpeg -i video.mp4 -vf ass=subtitle.ass out.mp4

Now out.mp4 will have burned subtitles.

  • I used these commands but still subtitle does not show up
    – unbl0ck3r
    Dec 27, 2016 at 16:25
  • Did you get any errors? Are you sure your vtt subtitles are proper? I just tested the commands again and it worked for me.
    – Iskar
    Dec 28, 2016 at 8:07
  • I download a auto generated subtitle from youtube video as webvtt format(using youtube-dl). then with ffmpeg -i subtitle.vtt subtitle.ass convert in and after that burn subtitle to video. but thats not worked.
    – unbl0ck3r
    Dec 28, 2016 at 13:24

You must log in to answer this question.

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