我想让我的网络应用程序的用户上传最大长度为10秒的视频,并将其裁剪/缩放到一定的分辨率。在使用简单的编辑器上传视频之前,用户应该可以将所选的视频剪裁到10。
是否有任何库或示例可以使客户端视频编辑在上传到服务器之前减少视频长度以及裁剪?我发现了一些用于过滤器、单个视频帧和导出到webM视频的画布方法,但没有将它们结合在一起。以前有人这么做过吗?
接受任何想法:)
发布于 2022-02-01 10:32:40
Tipicaly视频处理是一种服务器事务,因为在那里查找和运行复杂的(通常是编译的)库(比如ffmpeg)比在浏览器中更容易,而且对最终用户可能造成更少的性能问题。不管怎样,我认为有两种选择:
1.在服务器上处理视频-发送文件和配置
第一种方法假设您准备了基于画布的客户端“编辑器”,它模拟视频编辑。在设置所有过滤器、作物等之后,客户端可能会发送原始视频文件和视频处理配置,这些配置将在服务器上进行相同的操作。
取决于在后端实现中您喜欢哪种语言,所以我不会给您提供现成的代码片段。
当然,您可以先切换任务顺序并上传原始文件,然后在客户端进行视频处理,最后将所述配置发送到后端并处理视频。
2.在WebAssembly中处理视频
如果您确实需要将所有内容保存在客户端,可以尝试使用WebAssembly库的端口(如https://github.com/ffmpegwasm/ffmpeg.wasm ),并将已经处理过的视频文件发送到服务器。
https://stackoverflow.com/questions/70938778
复制相似问题