Use
ffmpeg -i old_video.mkv -vf subtitles=old_video.mkv -acodec copy new_video.mp4
Eu uso o seguinte comando:
ffmpeg -i old_video.mkv -vcodec copy -acodec copy -c:s mov_text new_video.mp4
Converte o mkv para o mp4, mas o mp4 resultante não tem as legendas codificadas, mas como um canal separado, o que é um problema, pois minha TV não suporta legendas (mas elas são exibidas em um media player com legendas suporte).
Tags ffmpeg