diff --git a/packages/example/public/road-loop.mp4 b/packages/example/public/road-loop.mp4 new file mode 100644 index 00000000000..eab62833bc6 Binary files /dev/null and b/packages/example/public/road-loop.mp4 differ diff --git a/packages/example/src/OffthreadRemoteVideo/NewPerfectlyLoopedVideo.tsx b/packages/example/src/OffthreadRemoteVideo/NewPerfectlyLoopedVideo.tsx new file mode 100644 index 00000000000..590cb5fda35 --- /dev/null +++ b/packages/example/src/OffthreadRemoteVideo/NewPerfectlyLoopedVideo.tsx @@ -0,0 +1,36 @@ +import {Video} from '@remotion/media'; +import {CalculateMetadataFunction, Composition, staticFile} from 'remotion'; +// https://www.remotion.dev/docs/mediabunny/metadata +import {getMediaMetadata} from '../get-media-metadata'; + +const src = staticFile('road-loop.mp4'); + +export const calculateMetadataFn: CalculateMetadataFunction< + Record +> = async () => { + const {durationInSeconds, dimensions, fps} = await getMediaMetadata(src); + + return { + durationInFrames: Math.round(durationInSeconds * fps!) * 4, + fps: fps!, + width: dimensions!.width, + height: dimensions!.height, + }; +}; + +export const Component = () => { + return