Bueno, empezariamos diciendo que MP4 NO ES un formato, MP4, asi como MKV o AVI es UN CONTENEDOR en este caso de video. Y a la pregunta, si, es posible, una forma es simplermente conseguir el archivo de subtitulo en *.SRT o *.AAS o en *.SSA, o *.TTXT o *.SUB, ponerle el mismo nombre que el archivo de video y al reproducir
ese video se mostrara ese archivo de subtitulo, otra es INCRUSTAR esos archivos de subtitulo en el CONTENEDOR de video, si es crear un MP4 usas YAMB, en la ventana de YAMB arrastras el archivo de video, arrastras luego los archivos de subtitulos que quieras usar, le indicas un nombre y ubicacion para el archivo mp4 que se va a generar, pulsas el boton de crear y en unos segundos tendras un nuevo MP4 con los subtitulos incrustados, los cuales podras elegir mostarr o no mostar cuando reproduzcas el video.
Ahora si se trata de crear tus propios archivos de subtitulos desde cero, eso ya es otros rollo, pero podrias usar alguna herramienta con IA para TRANSCRIBIR de voz a texto el audio del video, luego con un traductor se traduce al castellano, y finalmente ese texto lo usas en algun programa de subtitulado para sincronizarlo, como URUSOFT SUBTITLE WORKSHOP para hacer un SRT, o con AEGISUB para hacer un SSA o un ASS.