10

I need to do two things with an .avi video:

  1. Insert subtitles (.srt) permanently without modifying its timing or the video intself.
  2. Convert the new video (with the permanent subtitles) from .avi to .mpeg.

Is there any way to do it in one or two command lines? (Probably using ffmpeg?)

Some additional data:

  • Subtitles could have some special characters (spanish characters, like: ñ, á, ü ...)
  • Doesn't matter the order of events: first add subtitles to .avi and then convert or first convert and then add subtitles to .mpeg
  • I'm using Ubuntu 11.04 (Natty Narwhal).

5 Answers5

15

Arista can do both of these things, and it provides a very nice, easy GUI. It's available in the repos.

Screen of Arista

8

Try using mencoder. Something like this works:

mencoder source.avi -sub srt.srt -o destination.mpeg -oac mp3lame -ovc lavc -of mpeg

mencoder has a gazillion CLI switches to control video quality, for some ideas see here (specifically about encoding to mpeg):

http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-mpeg.html

roadmr
  • 34,222
  • 9
  • 81
  • 93
3

You can use Mobile Media Converter to do these task.

Mobile Media Converter subtitles window

You can download from here.

netcyrax
  • 106
  • To be honest, of all the options tried (even VLC) this is the only thing that worked as I expected. In all other cases subtitles just would be rendered. Thanks. – Artur Barseghyan Mar 03 '16 at 00:33
2

In the Arista:

  1. Select "Create Conversion" to get the "Create Conversion" window
  2. Select "Choose File..." as the "Source"
  3. Select the video file
  4. Click on the "gear" next to the "Source" to get the "Source Properties" window
  5. Set "Subtitles to render"
Braiam
  • 67,791
  • 32
  • 179
  • 269
user219993
  • 21
  • 1
1

I have success with:

ffmpeg -i subs.srt subs.ass
ffmpeg -i input.avi -vf "ass=subs.ass" output.avi

But I needed to recompile ffmpeg with option --enable-libass.

Yan King Yin
  • 384
  • 2
  • 11