【问题标题】:compress selected video file before upload in javascript在javascript中上传之前压缩选定的视频文件
【发布时间】:2022-01-24 12:54:29
【问题描述】:

我在我的 javascript 项目中包含了视频上传功能。在项目中从本地存储中选择视频正在上传,但我希望压缩和上传视频文件的大小。我的主要重点是从非常大的相机和手机上传录制的视频。我已经使用 HTML 5 来选择视频文件。

<input type= "file" id="fileselect" name="uploadvideo" accept=".mp4, .mov, .webm"/>

上传前需压缩视频文件大小。

【问题讨论】:

  • (1) 要压缩文件字节,请查看 bz2 甚至 xz 通过 Javascript 压缩。通过一些在“大”文件上使用任何一种方法的程序进行测试。如果您喜欢减小的尺寸,那么在您的 JS 代码中使用相同的压缩方法... (2) 另一种方法是使用不同的设置重新编码视频数据本身(例如: i> 较小的分辨率、较低的 fps 等)用于上传新的较小视频文件。这意味着您的用户必须等待转换完成(可能在几分钟后),具体取决于输入视频。要重新编码,您需要找到一个基于 JS 的 mp4/webm/mov 编码器。

标签: javascript html5-video video-compression


【解决方案1】:

mp4 文件是一个容器,其中包含视频和音频轨道 - 这些轨道通常已经由编码器压缩,具体取决于使用的编解码器,例如 h.264。

如果您想进一步压缩或重新编码视频,这是可能的,例如使用基于浏览器的 ffmpeg 解决方案,但即使这些解决方案可能利用最新的 Web 汇编语言技术,这也不会很快并且可能无法提供您需要的压缩或质量。

您可以在此处查看一些示例进行试验:https://github.com/ffmpegwasm/ffmpeg.wasm

【讨论】:

  • 感谢您的建议。 mp4 视频的大小是压缩的,但我想在上传之前压缩来自手机和相机的录制视频,这非常大。
  • 如果在javascript中使用了ffmpeg,那么告诉我解决方案如何使用它。我对 Javascript 了解不多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-07
  • 2020-10-11
  • 2021-05-30
  • 2017-02-01
  • 2019-04-04
  • 1970-01-01
  • 2014-04-04
相关资源
最近更新 更多