javascript - 用于基于网络的视频编辑的数据模型

标签 javascript video web datamodel video-editing

我正在开发一个网络视频编辑器 用户可以通过类似于下图中红色矩形部分的时间轴界面来编辑视频。

enter image description here

要实现这一点我认为在服务器端应该有一个树状结构的数据模型来维护所有用于编辑操作的数据,如下图所示。

enter image description here 以界面图中的时间轴为例,有一个TimeLine对象,有一个VideoGroup子对象和一个AudioGroup子对象. VideoGroup 对象有 2 个 Track 对象的集合,即 Video 1Video 2AudioGroup 对象有 1 个名为 Audio 1 的 Track 对象。 Video 1VideoGroup 对象的第一个 Track 对象有 4 个 Media 对象的集合,第二个 Track 对象 Video 2 有 6 个。 Audio 1AudioGroup 对象的唯一一个 Track 对象没有。

当谈到我的应用程序时,在后端数据模型用于应用程序执行实际的编辑操作。在前端,它应该像界面图片那样以图形方式显示在网页上。为了实现这个目标,我想知道既然服务端已经有了数据模型,那么是否需要在客户端创建一个对应的JavaScript数据模型呢?如果不是,前端网页需要在每次用户完成修改它的编辑操作时从后端重新加载数据模型,以便将其更新版本显示给最终用户。这样走可以吗?

最佳答案

鸟瞰图,高阶答案:

听起来像是在构建单页应用程序。首先,您的应用程序将通过代表数据结构的各种模型/类的 API 加载所需的视频/音频/数据。在浏览器中,您会将此数据加载到前端框架(Angular、React、Ember 或任何您喜欢的框架)中。

这些模型很可能会反射(reflect)您在服务器端拥有的数据结构,但可能会有所不同以处理特定的前端问题。

前端框架将呈现您的时间轴并处理用户进行的各种操作。

通过保存操作/或定期发送 (PUT) 更新 通过您的 API 返回服务器,记录用户对时间线的更改。

关于javascript - 用于基于网络的视频编辑的数据模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39276787/

相关文章:

javascript - 如何防止数组中元素连续重复?

javascript - 带有 css/js 的 Django 'Include' 模板

python - 有没有办法在kivy中录制视频?

java - 像素化视频处理

java - 使用带有纯 java 的 Android 直播视频

php - 使用动态 URL 进行 PayPal 重定向

Java Webapp 无法在 openshift 上连接 mysql

JavaScript - 保留伪类(:hover, :active, :focus) active, 直到发布

javascript - Ajax 成功功能无法正常工作

dns - 为什么更新域的名称服务器需要这么长时间?