Skip to content

Releases: remotion-dev/remotion

v1.5.0

03 Mar 11:58
Compare
Choose a tag to compare

Read the blog post for more details: https://www.remotion.dev/blog/1-5

Highlights

  • No more Chromium download necessary - Remotion will try to reuse Chrome if you have it installed
  • Improved Apple Silicon and WSL support
  • Smoother timeline
  • Failing to render a frame now exits the process.
  • Rendering frames now use the same domain as during development http://localhost:3000 to make CORS easier.

1.4.2

02 Mar 16:32
Compare
Choose a tag to compare

Same as 1.4.1 but all packages have the same version

1.4.1

27 Feb 11:07
Compare
Choose a tag to compare

Patch release:

  • Run the render on a localhost domain so you can make CORS requests (#152)
  • Fix bugs in getTimelineClipName (#151)

1.4.0

26 Feb 07:18
Compare
Choose a tag to compare

Blog post with a lot of details: https://www.remotion.dev/blog/1-4

Highlights

  • Support for HEVC, VP8 and VP9 codecs
  • Transparent video support
  • New random() API
  • More encoding configuration options
  • Improved editor keyboard controls
  • Progress bar for stitching
  • New layout="none" prop for <Sequence>
  • Slightly tweaked delayRender behavior
  • Internal: E2E tests for macOS, Windows, Ubuntu
  • New ESLint rules

1.3.1

16 Feb 13:30
Compare
Choose a tag to compare

Fixes broken rendering on Windows (#101 )

1.3

15 Feb 07:43
Compare
Choose a tag to compare
1.3

Read it on the blog: https://www.remotion.dev/blog/1-3

Only 1 week after the initial launch, here is Remotion 1.3! In just 7 days, we have merged over 40 pull requests - just amazing! Let's go over the changes in this release.

2x faster - again!

2 days ago, the rendering time was cut in half, and in this release, we managed to half it again! Check out this benchmark of the Spotify Wrapped example:

Remotion 1.1

hyperfine --min-runs 5  'npm run build -- --overwrite --concurrency=16'
Benchmark #1: npm run build -- --overwrite --concurrency=16
  Time (mean ± σ):     98.972 s ±  0.650 s    [User: 123.329 s, System: 10.103 s]
  Range (min … max):   97.951 s … 99.540 s    5 runs

Remotion 1.3

hyperfine --min-runs 5  'npm run build -- --overwrite --concurrency=16'
Benchmark #1: npm run build -- --overwrite --concurrency=16
  Time (mean ± σ):     17.921 s ±  0.224 s    [User: 36.492 s, System: 3.482 s]
  Range (min … max):   17.650 s … 18.264 s    5 runs

From 98 to 18 seconds - that's 5.5 times faster! At the same time, we have reached an important milestone: This 19-second long 720p video was rendered faster than realtime. Granted, my computer is faster than most (8-core Intel i9-9900K chip), but still very impressive!

We achieved this performance gain through various Puppeteer rendering pipeline optimizations. Big shoutout to jeetiss who implemented a sophisticated performance optimization that doesn't require a page reload for each frame anymore.

Plain-Javascript support

My goal was to force Typescript on everybody - but I failed. Support for plain Javascript is now added! See here how to enable it. Proceed carefully 🙈

Type-safe configuration file

Many options which you could pass in via CLI flags, you can now also add by adding a remotion.config.ts file in the repo. For example, if you want to increase the parallelism to the amount of threads you have and never want to write --overwrite, you can add the following to the config file:

import os from 'os';
import {Config} from 'remotion';

Config.Rendering.setConcurrency(os.cpus().length);
Config.Output.setOverwriteOutput(true);

You can see all the options on this page. The goal of making a config file in Typescript is to provide autocomplete, to easily highlight deprecated options and making it easier to show how to migrate in case the options change in the future.

Easing API

While there was an Easing API, it was undocumented. Learn which Easing methods are available and how to use it with interpolate()!

import {interpolate, Easing} from 'remotion';

interpolate(frame, [0, 100], {
  easing: Easing.bezier(0.8, 0.22, 0.96, 0.65),
  extrapolateLeft: 'clamp',
  extrapolateRight: 'clamp',
})

The small things

In case you missed it

Another example was added - Spotify Wrapped! This is a fully dynamic example where you can replace all data with a command line flag. There's a 2 hour tutorial on YouTube and the source code is on Github.

1.2

13 Feb 21:46
Compare
Choose a tag to compare
1.2

Blog: https://www.remotion.dev/blog/1-2/

You have tested Remotion and provided an enormous amount of feedback! Thanks to it, this version of Remotion is vastly improved 🎉

Rendering time cut in half!

It turns out rendering each frame as JPEG is much faster than rendering them in PNG and results in no visible quality difference. Using this trick, the time of the 'Rendering Frames...' of an example video went down from 14 seconds to 6.5 seconds! That's more than twice as fast.

Now that the rendering process is JPEG-based, a new flag --quality was added to command line. For server-side rendering, you may pass in a new imageFormat option.
If you render a PNG sequence, Remotion will of course still deliver PNGs.

The goal is to make rendering even faster, finding further optimizations is going to be a very interesting task!

Windows support

Windows support is very important (just like PHP). All the bugs that prevented proper Windows installation have now been fixed. Plus I now have a proper Windows setup so from now on Remotion will be tested on Windows as well!

Discord community

We now have a Discord! Join now and chat about Remotion!

Licensing now available

The terms of the company license have now been worked out and a billing system with Stripe has been set up. Contact me for pricing!

Roadmap

A GitHub Project board has been setup with the goal of indicating the next priorities. Check it out!

Miscellaneous

v1.1

10 Feb 07:39
Compare
Choose a tag to compare

Blog: https://www.remotion.dev/blog/1-1/

  • Custom Webpack config (MDX, React Native Web etc.) #30
  • New <Img> and <IFrame> components (Remotion will wait until loaded before it renders) #29 #32
  • New ESLint rule for recommending best practices #32
  • Better Windows support #40

Upgrade using npm run upgrade!

v1.0.5

09 Feb 14:53
Compare
Choose a tag to compare

The first update for Remotion!
Upgrade simply by typing npm run upgrade in your project ⬆️

  • Add support for React Native web (Simply install React Native + React Native Web), thanks to @wcandillon
  • Update license fields in package.json to link to LICENSE.md
  • Add better support for CLI on Windows (still no official support though, sorry, working on it!), thanks @nico-martin

v1.0.4

06 Feb 14:51
Compare
Choose a tag to compare

Fixed a bug preventing the successful rendering.