Importing .srt subtitles into Remotion
If you have an existing .srt subtitle file, you can import it into Remotion using parseSrt() from @remotion/captions.
Reading an .srt file
Use staticFile() to reference an .srt file in your public folder, then fetch and parse it:
Importing captions from .srttsximport {useState ,useEffect ,useCallback } from 'react';import {AbsoluteFill ,staticFile ,useDelayRender } from 'remotion';import {parseSrt } from '@remotion/captions';import type {Caption } from '@remotion/captions';export constMyComponent :React .FC = () => {const [captions ,setCaptions ] =useState <Caption [] | null>(null);const {delayRender ,continueRender ,cancelRender } =useDelayRender ();const [handle ] =useState (() =>delayRender ());constfetchCaptions =useCallback (async () => {try {constresponse = awaitfetch (staticFile ('subtitles.srt'));consttext = awaitresponse .text ();const {captions :parsed } =parseSrt ({input :text });setCaptions (parsed );continueRender (handle );} catch (e ) {cancelRender (e );}}, [continueRender ,cancelRender ,handle ]);useEffect (() => {fetchCaptions ();}, [fetchCaptions ]);if (!captions ) {return null;}return <AbsoluteFill >{/* Use captions here */}</AbsoluteFill >;};
Alternatively, you can also fetch() a remote file via URL.
Using imported captions
Once parsed, the captions are in the recommended Caption format and can be used with all @remotion/captions utilities.
Possible next steps:
- Displaying captions - Render captions in your video
- Exporting captions - Export captions to a file
See also
parseSrt()- API reference- Displaying captions - Render captions in your video
Caption- The caption data structure