Remotion:使用前端技术开发视频

news/2024/12/23 14:41:21/

前言

最近做文章突然想到很多文章其实也可以用视频的方式来展现,以现在短视频的火爆程度,肯定能让更多的人看到。

恰巧最近看了很多关于动画的前端 js 库,那如果将这些动画帧连续起来,岂不是就成了一个视频吗?

而且还能以我最熟悉的编程的形式进行编辑视频,岂不是爽翻?

这样甚至可以根据 api 数据,动态地生成视频,想象空间大了去了。

有想法当然先上 github 逛一圈,果然被我找到好东西。

github:https://github.com/remotion-dev/remotion

官网:https://www.remotion.dev/

简介

Remotion 是一个开源库,它允许开发者使用 React 来创建视频。

这意味着你可以利用你已经熟悉的 Web 技术栈来制作视频内容,而无需学习复杂的视频编辑软件。

Remotion 的主要特点包括:

  1. 使用 React 创建视频:Remotion 让你可以使用 React 组件来构建视频的每一帧。
  2. 服务器端渲染:通过服务器端渲染,你可以大规模地生成视频。
  3. 参数化:你可以为视频添加参数,使其更加个性化和动态。
  4. 支持音频:Remotion 支持音频的渲染,让你的视频更加生动。
  5. 快速编辑:在浏览器中预览视频,快速刷新,并且可以拖动时间轴来调整每一帧。
  6. 程序化内容和渲染:你可以从 API 获取数据,并实时显示在视频中。
  7. 构建视频应用:使用 Remotion 提供的工具构建允许他人创建视频的应用。
  8. Remotion 支持将视频渲染为 MP4 格式,并且也支持 WebM 等其他格式。它提供了一个命令行工具,可以快速开始一个新的视频项目,并且提供了一个播放器组件,可以在网页上嵌入和交互视频。

Remotion 的使用场景非常广泛,从制作营销视频、教育内容、动画到数据可视化等,都可以使用 Remotion 来实现。

安装

使用以下命令即可安装开始使用:(其它包管理器类似,本文使用 yarn)

yarn create video

过程中可以选择官方预置的各种模板

安装完成

基本使用(helloworld示例)

运行:

yarn start

我们可以看到如下界面

一个可视化的视频编辑器界面

生成视频

yarn remotion render

选择 helloworld 文件 即可生成 helloworld.mp4

浅玩一下

这次选择命令创建时的空白模板

修改 Composition.tsx 的代码为:

import { useCurrentFrame, AbsoluteFill } from "remotion";const MyComposition = () => {const currentFrame = useCurrentFrame();let frame = currentFrameif(currentFrame > 60) {frame = 60;}const opacity = Math.min(1, frame / 60);const rotate = `rotate(${frame * 360 / 60}deg)`; // 每帧旋转6度,60帧完成360度旋转const fontSize = `${frame / 60 * 150}px`return (<AbsoluteFillstyle={{justifyContent: "center",alignItems: "center",fontSize,color:"purple",fontWeight:"bold",transform: rotate, // 应用旋转效果backgroundColor: "lightblue",}}><div style={{ opacity, transition: "opacity 1s" }}>我码玄黄</div></AbsoluteFill>);
};export default MyComposition

得到了如下效果

总结

本文只是浅试了一下官方文档以及基础功能,并未深入探究使用,想象一下如果能够将 Cesium,以及 threejs 等功能也导入的话,岂不是实用性大大增加。

但是如此使用想来工作量也不会小,由于我对视频编辑不是特别了解,目前不太好衡量两者的优劣。

Remotion 是一个非常强大的工具,它允许开发者以编程的方式创建视频。

这不仅为视频制作带来了新的可能,也为那些希望以更动态的方式展示内容的创作者提供了新的机会。

如果你对 Remotion 感兴趣,不妨去它的 GitHub 页面和官网了解更多信息,或者直接尝试使用它来创建你自己的视频。

– 欢迎点赞、关注、转发、收藏【我码玄黄】,各大平台同名。


http://www.ppmy.cn/news/1530720.html

相关文章

DNS正向解析和反向解析的区别

在网络世界中&#xff0c;域名系统&#xff08;DNS&#xff09;起着至关重要的作用&#xff0c;它就如同网络世界的导航地图&#xff0c;帮助我们在浩瀚的数字海洋中准确找到目标。而在DNS中&#xff0c;正向解析和反向解析是两个重要的概念&#xff0c;它们有着明显的区别。 …

复制他人 CSDN 文章到自己的博客

文章目录 0.前言步骤 0.前言 在复制别人文章发布时&#xff0c;记得表明转载哦 步骤 在需要复制的csdn 文章页面&#xff0c;打开浏览器开发者工具&#xff08;F12&#xff09;Ctrl F 查找"article_content"标签头 右键“Copy”->“Copy element”新建一个 tx…

组合模式

组合模式 把一组相似的对象当作一个单一的对象。如&#xff1a;树形菜单 public class Menu {String name;List<Menu> child;public Menu(String name){this.name name;child new ArrayList<>();}public void addChild(Menu menu){child.add(menu);}public void …

K8s 之微服务的定义及详细资源调用案例

什么是微服务 用控制器来完成集群的工作负载&#xff0c;那么应用如何暴漏出去&#xff1f; 需要通过微服务暴漏出去后才能被访问 Service是一组提供相同服务的Pod对外开放的接口。借助Service&#xff0c;应用可以实现服务发现和负载均衡。service默认只支持4层负载均衡能力&…

IT技术之电脑黑屏处理

秋天到了&#xff0c;电脑出问题的高发季节也到了&#xff0c;因为秋天天气开始转冷且天气干燥&#xff0c;加上咱们身上秋天非常愿意产生静电&#xff0c;所以在拿电脑去使用的过程中&#xff0c;身上的静电就会随着的电脑的使用&#xff0c;进入电池里&#xff0c;导致出现黑…

中伟视界:AI算法如何精准识别井下与传送带上堆料,提升矿山安全生产效率,减少事故风险

传送带堆料分为两种情况&#xff0c;一种是传送带的井下堆料检测AI算法&#xff0c;一种是传送带上面的堆料检测AI算法&#xff0c;传送带井下堆料检测AI算法是在带式输送机的漏煤下方井下安装摄像仪&#xff0c;通过视频分析检测井下堆煤情况&#xff0c;当洒煤堆积到一定程度…

【C#生态园】从容面对.NET性能挑战:全面解析多种性能监控工具

优化.NET应用程序性能的利器&#xff1a;性能监控工具大揭秘 前言 在开发和维护.NET应用程序时&#xff0c;性能监控是至关重要的环节。通过对应用程序进行性能监控&#xff0c;开发人员可以及时发现并解决潜在的性能问题&#xff0c;从而提高应用程序的效率和用户体验。本文…

杭州算力小镇:AI泛化解锁新机遇,探寻AI Agent 迭代新路径

人工智能技术不断迭代&#xff0c;重点围绕着两个事情&#xff0c;一是数据&#xff0c;二是算力。 算法的迭代推动着AI朝向多模态的方向发展&#xff0c;使之能够灵活应对不同领域的不同任务&#xff0c;模型的任务执行能力大大提升&#xff0c;人工智能泛化能力被推上高潮。…