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 .srtimport {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