javascript - 如何在上传服务器之前在 Angular 中压缩视频?
问题描述
我有一个 Angular 应用程序,它通过 Spring Boot Server 将视频上传到 S3 存储桶。但是,我需要减小视频的大小,因为我需要从移动设备上传 30MB 的视频。
有没有办法在将视频上传到我的服务器之前降低视频的质量?
或者您是否推荐其他一些可以减少等待时间的策略?了解视频最终将托管在 S3 存储桶中,也许在我的 Spring Boot 服务器上执行压缩?
在这一点上,我想澄清一下,在将视频从我的 Angular 应用程序发送到 Spring Boot 服务器时,它是否会通过使用 Angular 的 POST 请求作为“MultipartFile”到达HTTPClient
。
认为在 Spring Boot 服务器上压缩视频的策略可以减少视频的加载时间是否有意义,因为从 Spring Boot 将视频加载到 S3?
有经验的人可以为我澄清一下吗?
解决方案
有没有办法在将视频上传到我的服务器之前降低视频的质量?
请注意,压缩视频是一项繁重且耗时的操作,需要使用客户端编程语言 (javascript) 通过 Web 浏览器完成。您可能会发现像videoconverter.js这样的javascript 库似乎无法正常工作。但是,在发送到服务器之前通过网络浏览器对图像执行相同的操作是有意义的,您可以找到它的工作库。
或者您是否推荐其他一些可以减少等待时间的策略?了解视频最终将托管在 S3 存储桶中,也许在我的 Spring Boot 服务器上执行压缩?
即使在服务器端也不建议执行如此繁重的操作。一个可能的客户端解决方案是以秒为单位修剪视频文件以制作嵌套视频文件,然后将它们发送到服务器。之后,您可以部分使用它们或连接起来再次制作单个视频文件。
认为在 Spring Boot 服务器上压缩视频的策略可以减少视频的加载时间是否有意义,因为从 Spring Boot 将视频加载到 S3?
这取决于您如何执行操作。按需压缩不是一个好的选择。在服务之前使用后台工作进程生成新文件的压缩是一个不错的选择。
推荐阅读
- symfony4 - 如果在 Symfony 4 中被后台进程调用,Twig 在服务中渲染找不到 CSS
- javascript - 方法 zoomToMapObject(ev.target) 不会在 amCharts 中缩放到美国
- android - android上freetype2生成的位图,文字会重复,怎么解决
- python - 如何使用numpy在零之间形成一个交叉模式
- sql - 连接列并添加数字 postgresql
- r - R:如何在每个格子 xyplot 中设置两个标题(主标题和副标题)?
- python - 如何在熊猫数据框中获取最小值后的所有记录
- python - np.arange 还是 np.arage ?错误:使用 plot_confusion_matrix 时模块“numpy”没有属性“arage”
- python - Selenium 将打开 chrome 选项卡但找不到 URL
- reactjs - 当我在酶中使用安装时,嵌套按钮组件单击处理程序是“未定义”,这是为什么?