Changelog
Changes in each release.
1.0.0
The first release.
The first release of the video editor in @layermetry/media-editor. It includes:
- The editor as a React component, a custom element, and
mountVideoEditor. See Frameworks. - A timeline with video, audio, text, captions, subtitles, images, shapes, stickers, and backgrounds.
- Backgrounds from a color, a gradient in any direction, a picture, or a blurred copy of a clip, with Blur and Darken. Blurred fill in Resizing fills the empty bars of a clip. A picture background covers the canvas and is centred, in the preview and in the exported video. A gradient, a picture, or a blurred copy keeps the chosen color as its fallback.
- Effects, animations, templates, and resizing.
- MP4 export in the browser, with nothing downloaded to do it. Clips from MP4, MOV, WebM, and MKV files export. Every refusal is a plain sentence. See Browser requirements.
- WebM export, with VP9 video and Opus sound. A video with sound now exports in Firefox, and in Chrome and Edge on Linux: the Export panel chooses WebM there by itself. Export without sound makes a file with the picture only, and only when the user ticks it.
exportStarttakesformat,codec: 'vp9', andwithoutSound. The new actionreadExportCapabilitiessays which files keep the sound in this browser. - GIF export in every browser, with two Quality cards, one Frame rate field, and a sentence in Sizes when the GIF is wide or long.
onExportreceives aFileof typeimage/gif.exportStarttakesformat: 'gif',gifColors,gifDither, andgifLoop. - AI music and sound effects in the Audio panel and under Cmd+K, through your own AI server. There is no hosted service for them. New
ai.musicandai.soundEffect, newui.featuresswitchesaiSound.lengthandaiSound.instrumental, a model list asked with?capability=music, and new typesAISoundAnswer,AIModelListAnswer,AIModelListEntry, andAISoundOptions. A kept sound reachesonUploadAssetwithsource: 'generated'. - Microphone recording of a voiceover, with a countdown, an input level, Clean up noise, several takes, a script and prompter, captions from a take, and re-recording part of a clip. New prop
recording, newui.featuresswitchesrecording.*, newonUploadAssetvaluesource: 'recorded'withctx.takeandctx.punchIn, new template fieldvoiceoverScript, and new actionsvoiceoverSetScript,captionsFromClip, andaudioReplaceRange.audioAddFromUrltakespresetId. The headless runtime takesaiandvoiceoverScript. - Clip speed, audio fades, and trimming the start of a clip from the timeline.
- Captions with caption animation, and captions that scale when the canvas is resized. On export, captions go in the picture, as a subtitle track, or both, and as an SRT file, a VTT file, or a plain transcript, in
extras.srt,extras.vtt, andextras.txt. Include speaker names writes each speaker's name into the three files. An imported.vttfile keeps its speaker names. - Disable captions with
ai: { captions: false }. Every captions control is hidden, the assistant is not offeredcaptionsFromClip, and no sound is sent anywhere. - Background pictures from web addresses are requested the same way in the preview and in the export. The picture's server must send a CORS header. Without it, the preview shows the fallback color, as the export does.
- A save keeps the storage key that
onUploadAssetreturned, and does not upload the file again. A signed S3 or CloudFront address is loaded exactly as it is. probeMediaFilereports Opus, FLAC, MP3, and PCM sound in MP4 and MOV files. For an MP4,codecIdis the decoder's codec name. See Media utilities. The sound of a clip from a file over about 2 GB is read in pieces. See Performance.- The whole Google Fonts catalog through
googleFonts, without a key in the page. See Fonts. - Cmd + Shift + E (Ctrl + Shift + E) opens the Export panel. See Export.
- Photo credits on the canvas and in the export.
- AI features through your own
endpointUrlorrequestFn. Hosted AI is coming soon and available only with an enterprise licence from Layermetry (hosted: true). See AI providers. Two refusals,ai-credits-exhaustedandmeter-off, can carry a top-up address. See Error codes. - The AI assistant and Headless mode.
- License keys that are checked in the browser, on HTTPS and plain
http://pages alike, and confirmed in the background.
If you used a pre-release build, check these changes:
- The
exportDOM event of the custom element is sent once per export, andevent.detailis theFile. Code that readevent.detail[0]must readevent.detail. showThemeCreatorisfalseby default. Passtruein your development build to see the Customization Studio button.- The AI assistant and the other AI controls appear only with a valid
aiprop. export={{ experimental }}andconfigureAssetsare accepted and change nothing.googleFontsApiKeyis deprecated. UsegoogleFonts.onUploadAssetcan receivesource: 'staged'. See Asset storage.- A draft saved again keeps its
template.id. Store drafts by id. - The license state
pending-onlineis no longer produced. - The headings that
describeAIErrorreturns for the license codes,not-configured, andai-quota-exceededchanged. They name no company and give no instruction meant for a developer. Comparecode, not the heading. - The
doneevent ofonChatEventalso carrieserrorCodeandtopUpUrl. - The refusal
audio-encoder-unsupportednow reads "This browser cannot save sound in an MP4 video, so the video could not be exported." and names the browsers that can. A new refusal,webm-sound-unsupported, is for a WebM. See Export failures. onExportcan receive avideo/webmor animage/giffile. Check the type before you store or process the file.
Fixed since the pre-release builds:
- Dashed and dotted lines stay dashed in the exported video, and arrowheads are drawn as the canvas draws them.
- A rounded rectangle stays rounded on the canvas, and the Corner Radius of the Effects panel reaches the exported video.
- Caption words keep the colors that the canvas shows in the exported video when the highlight is off.
- A shape's drop shadow reaches the exported video.
- Clicking into a box of the Effects panel and out again no longer changes the design.
- A caption made bigger or smaller with the selection frame keeps its new size, on the canvas and in the exported video.
- Undo and redo keep a picture that was placed by your storage key on the canvas.
- An MP4 made in Safari has sound that a player can read.