2

I’ve been using ffmpeg to do everything so far with a video, stringing animation frames together, adding audio, overlaying images, and adding subtitles. So I expect that the answer to my question still lies within ffmpeg, but I’m open to using other programs if necessary.

I already created the ASS subtitle files (plural for multiple languages), taking advantage of the font, color, and positioning info. But when I went to add one of them to the video it lost all of that formatting info. The only way I’ve found to preserve that information with ffmpeg is to hard-sub, rendering the text permanently into the video, but I want the viewer to be able to switch between languages.

This is what I do currently:

ffmpeg \
-i video_in.mp4 -i sub_eng.ass -i sub_spa.ass \
-c copy -c:s mov_text \
-map 0:v -map 0:a -map 1 -map 2 \
-metadata:s:s:0 language=eng \
-metadata:s:s:1 language=spa \
video_out.mp4

Is there a way to soft-sub a video with position information? Each line in the subtitles has its own position (mimicking a speech bubble to denote who’s speaking).

EDIT: Partial Solution with MKV from Gyan

ffmpeg \
-i video_in.mkv -i sub_eng.ass -i sub_spa.ass \
-c copy \
-map 0:v -map 0:a -map 1 -map 2 \
-metadata:s:s:0 language=eng \
-metadata:s:s:1 language=spa \
video_out.mkv
owengall
  • 183

1 Answers1

-1

I use this command:

map 0 -map 1 -metadata:s:s:0 language=eng -metadata:s:s:0 title=Subtitle 1 -c:a copy -c:v copy -c:s copy -c:s mov_text
zx485
  • 2,337