我有一个用Ruby on Rails编写的Web应用程序,它使用某种形式将视频从用户上传到服务器(我实际上使用了一个直接上传到s3的jquery上载器,但是我认为这不相关)。
为了减少视频的上传时间,我想缩小视频的尺寸,例如如果视频大小为1000x2000像素,我想将其缩小为500x1000。在客户端上传视频时,有没有办法做到这一点?有没有可以做到这一点的javascript库?
最佳答案
重新压缩视频是一个很重要的问题,不会很快在浏览器中发生。
通过HTML5的更改,理论上可以克服以下几个问题:
<input type="file">
元素选择的文件的内容。但是, FileReader
似乎将整个文件读入内存,然后再将其移交给您的代码,这恰恰是您在处理大型视频文件时所不想要的。不幸的是,这是您无能为力的问题。它可能仍然可以工作,但是对于超过10-20 MB的任何内容,性能可能都无法接受。 实际上,这是必须在服务器端完成的工作,即使那样也不是一件容易的事。
如果您不顾一切,可以尝试处理压缩的插件/ActiveX控件之类的方法,但随后必须说服用户安装插件(yuck)。