在客户端网络上压缩视频[关闭]
Posted
技术标签:
【中文标题】在客户端网络上压缩视频[关闭]【英文标题】:Compress a video on client side web [closed] 【发布时间】:2015-09-27 18:54:02 【问题描述】:我必须从前端网络上传视频到我的 Django 后端。
我需要先压缩视频,然后才能将其上传到浏览器本身。
这可能吗?如果可以,怎么做?
【问题讨论】:
为什么不能在后台转码? 关闭这个问题是一个很大的错误。是的,我理解规则,没有任何问题要求对图书馆等的推荐。但想想该规则背后的原因。这是为了停止关于对比图书馆的宗教辩论。这不是那些问题之一,它在 2020 年仍然有效。在 2020 年可能吗?我们永远不会知道,因为一些 JobsWorth 决定太按字面理解规则 【参考方案1】:我找到了这个项目。它是 FFMPEG 解码器在 javascript 语言中的转换。因此,您可以使用它来处理图像、视频和音频文件,而无需将文件上传到服务器。
首页:https://bgrins.github.io/videoconverter.js/
GitHub:https://github.com/bgrins/videoconverter.js
我还没有尝试过,但是演示页面说它可以工作:https://bgrins.github.io/videoconverter.js/demo/
【讨论】:
如果您正在考虑在您的客户端上传视频之前使用它来压缩视频,因为您的客户端互联网速度很慢,请考虑以下示例:对于 1 分钟的视频,编码几乎需要 10 分钟。并提供了 21 MB 的文件大小节省。假设 3g 的最大速度为 384 Kbps,这额外的 21 MB 上传将需要 9.3 分钟。因此,不幸的是,这意味着即使在速度相当快的计算机上,上传也比上传前压缩要快。直到未来某个时间浏览器推出某种原生压缩库。 @deweydb WebAssembly 版本看起来很有希望,因为它更小更快github.com/bgrins/videoconverter.js/issues/43 @MatthewLock DOPE!谢谢! caniuse.com/#search=webassembly ... jsfiddle.net/2eg2yuzy【参考方案2】:没有。没有浏览器提供视频编码 API,供 JavaScript 使用。也许有一天会有一个官方的 MediaEncoding API - 那不是什么东西吗?!
【讨论】:
这并不完全正确。浏览器不提供这样的 API jet,但 Look here。尽管将 ffmpeg 编译为 Javascript 听起来很疯狂,但看起来他们已经做到了。 哇! (这是一个庞大的库,可能不适合现场制作网站。您必须对其进行测试,Safari。) 当然,我们必须对其进行测试,而且它似乎离生产准备还很远,除此之外,我总是认为视频转码是一项应该在服务器上而不是在浏览器中进行的工作仅从性能的角度来看。以上是关于在客户端网络上压缩视频[关闭]的主要内容,如果未能解决你的问题,请参考以下文章