How to embed/hardcode SRT subtitles into mp4 videos with VLC?

57,737

Solution 1

Adding a subtitle track from VLC usually works. Make sure your subtitle fits the video (aka same source). I haven't used quicktime for subtitles for quite a while, but I seem to recall that muxing an avi and srt to a mov worked (although that's just softcoding).

For hardcoding or "burning" the subtitles, check out Handbrake, it's tailored for this kind of stuff. It's basically a frontend for ffmpeg and you can do all sorts of modifications to video & audio.

Solution 2

Use MkvToolnix - it will hardcode avi mp4 etc without recoding. Just load your movie Then add your srt file and then click multiplex it. It isSuper duper fast.

Share:
57,737

Related videos on Youtube

Jens Bannmann
Author by

Jens Bannmann

Updated on September 18, 2022

Comments

  • Jens Bannmann
    Jens Bannmann almost 2 years

    I'm looking for a way to "burn in" or render/rembed/hardcode subtitles (from an SRT file) into an MP4 video with VLC.

    But no matter what options I use, it never works properly. I get a file that plays video way too fast (audio is normal), or one that plays normally, but actually does not have embedded subtitles. Also, with some options (like the one below) it does not play in QuickTime, only in VLC.

    So the main question is: how can I make this work in VLC? Secondary questions are:

    • How do I decide which options I should set?
    • Which settings are best if I want to leave the file bitrate etc. the same as much as possible, only embed subtitles? It seems I cannot leave the field empty or Video/Audio unchecked, so I guess I would first need to figure out the original audio and video bitrate.
    • What do the "Scale" and "Channels" options mean?

    ... none of which are answered within the VLC documentation.

    For example, this is one set of options I used in the "Advanced Open File…" dialog:

    Advanced Open File…
    
       myFileName.mp4
        [ ] Treat as a pipe rather than as a file
    
    [x] Load subtitles file:
          mySubtitleFileName.srt
    
    [ ] Play another media synchronously
    
    
    [x] Streaming/Saving
    
             Streaming and Transcoding Options
    
               [ ] Display the stream locally
               (o) File      [outputFileName.mp4                      ]
                             [ ] Dump raw input
    
               Encapsulation Method: (MPEG 4      )
    
    
             Transcoding options
    
               [x] Video   (mp4v       )          Bitrate (kb/s) [256   ]
                                                           Scale [1     ]
               [x] Audio   (mp3        )          Bitrate (kb/s) [128   ]
                                                        Channels [1     ]
    
    • mk117
      mk117 over 10 years
      If VLC is not letting you add subtitles, I'd suggest you AVIAddXSubs: calcitapp.com/AVIAddXSubs.php ... it's a simply portable utility to let you add subtitles to any video file(preferably AVI) by dropping the .avi and .srt file to the aviAddxSubs.exe file shortcut. (you can also use mp4/mov > idx/sub files with this utility!)
  • paul
    paul about 9 years
    Superb, it worked for me. I hve tried freemake, vlc convert, and so many others but they are bad bad bad ... bcause to add embed srt file with video they converts the file. But I didnt want to convert the video just wanted to subtitles. Mkvtoolnix works for me and its super fast.
  • paul
    paul about 9 years
    I am sorry, it didnt embed it. I just plugged in my usb in TV and played the movie. Moview played without subtitles. Sorry I upvoted. I can vote down due to less points.
  • tanius
    tanius almost 9 years
    Indeed, mkvmerge from the mkvtoolnix package can "only" soft embed the subtitles. It does so by putting the original video and subtitles (as text) into a new Matroska container file [ source ]. Without recoding, it's no hardcoding :(