The biggest Remotion release ever! https://www.remotion.dev/blog/4-0
Highlights
- Visual editing for your React props
- Render Button for faster media creation
- Rust-based architecture for faster renders
Migration
https://www.remotion.dev/docs/4-0-migration
Changelog
- remotion:
defaultPropsof a<Composition>is now mandatory if the component accepts props - remotion:
<Composition>now accepts a schema - remotion:
<Composition>now accepts acalculateMetadataprop - remotion: The
OffthreadVideoImageFormattype has been removed. - remotion:
imageFormathas been removed from<OffthreadVideo> - remotion:
transparenthas been added to<OffthreadVideo>. - remotion:
<Img>will cancel the render if the image cannot be loaded - remotion: If an
<Audio>tag cannot be loaded, it will cancel the render. - remotion: The
TCompositiontype now requires a Zod schema as a generic. - remotion: Type
WebpackOverrideFnmoved fromremotionto@remotion/bundler - remotion:
staticFile()now supports URI-unsafe characters by default - remotion: Types:
srcis required for an<Img>tag - @remotion/bundler: The development Webpack cache will not be removed anymore if setting
--bundle-cache=false. - @remotion/bundler:
react-nativeno longer aliases toreact-native-web - @remotion/bundler: Webpack has been upgraded to
5.83.1 - @remotion/cli:
npx remotion previewis deprecated fornpx remotion studio - @remotion/cli: New Props editor allows for editing props with schema
- @remotion/cli: New Render button allows for rendering through the CLI
- @remotion/cli: New
npx remotion ffmpegcommand - @remotion/cli: New
npx remotion ffprobecommand - @remotion/cli: Configuration logic has been moved to
@remotion/cli/config - @remotion/cli: Rich timeline was removed.
- @remotion/cli:
Config.*.setOption()syntax has been removed. - @remotion/cli:
Config.setOutputFormat()has now been removed. - @remotion/cli: Studio now has custom dark scrollbars
- @remotion/cli: New logger for verbose mode: No more interlacing between logs and progress bars
- @remotion/cli: New indicator whether a file has been overwritten (
○) or newly created (+) - @remotion/cli: Printing server URL again to the console if all Studio instances have been closed
- @remotion/cli: Less React re-renders across the Remotion Studio
- @remotion/cli: Dropdowns cannot overflow anymore
- @remotion/cli: New shortcut for collapsing left sidebar:
Cmd/Ctrl+B - @remotion/cli Allow open of the project in editor from the Remotion Studio
- @remotion/cli:
Dateobjects now work properly indefaultProps - @remotion/cli: Remotion Studio is tested to work well offline.
- @remotion/cli: "Remotion Preview" has been renamed to "Remotion Studio"
- @remotion/eslint-config:
eslint-plugin-reacthas been updated to7.32.2 - @remotion/eslint-config:
eslint-plugin-react-hookshas been updated to4.6.0 - @remotion/eslint-plugin: New ESLint rule: Use the right import in the config file
- @remotion/lambda: Lambda does not support the x86 architecture anymore
- @remotion/lambda: Chrome on Lambda has been updated to 114
- @remotion/lambda:
downloadVideo()alias has been removed. - @remotion/lambda:
estimatePrice()does not acceptarchitectureanymore. - @remotion/lambda: Removed FFmpeg from the Lambda Layer.
- @remotion/motion-blur:
<MotionBlur>has been removed - @remotion/paths:
getParts()has been removed - @remotion/renderer: New
selectComposition()API - @remotion/renderer:
getCanExtractFramesFast()has been removed - @remotion/renderer: FFmpeg is now included in Remotion (v6.0), no need to install it anymore
- @remotion/renderer: ProRes now exports uncompressed audio by default.
- @remotion/renderer:
onSlowestFrameshas been removed - @remotion/renderer:
renderMedia()now returns an object instead of aBuffer. - @remotion/renderer: The
ImageFormattype has been removed in favor ofStillImageFormatandVideoImageFormat - @remotion/renderer: You can now export stills as PDF or WebP
- @remotion/renderer:
qualityis nowjpegQuality - @remotion/renderer: Removed
ensureFfmpeg()andensureFfprobe() - @remotion/renderer:
<OffthreadVideo>now uses a Rust-based frame extractor - @remotion/renderer: Noisy Chrome messages are filtered out.
- @remotion/renderer:
console.logstatements in your React app now get printed in a tidy format, contain location, use colors and object previews are printed out. - @remotion/zod-types: New package!
- Only the following platforms are supported by Remotion now: macOS (x64 and arm64), Windows (x64), Linux (x64 and ARM, GNU Libc and MUSL)
- All packages: The minimum Node version is now 16.0.0
- All packages: ESLint has been upgraded to
8.42.0 - All packages: TypeScript ESLint has been upgraded to
5.59.9 - All packages: ESBuild has been updated to
0.18.6 - For contributors: Updated
pnpmto8.5.1 - For contributors: Doc snippets failing typechecks now show the failing code in CI
- New Google TTS template!
- Recommended Docker file does not install
ffmpeganymore