我正在一个网站上工作,在该网站上,用户可以上传图片和视频,在将它们存储在服务器/数据库之前,如何在服务器端自动压缩这些视频/图片。因为我不希望异常大的文件降低我的网站速度,所以如果我上传自己,显然可以调整大小和优化自己,但是有什么办法可以自动为用户做到这一点?
答案 0 :(得分:-2)
嗯,这是一个广泛的问题,取决于您决定选择的文件类型和算法。
对于图像,您可以简单地使用JPG并选择所需的百分比质量(较小的图像,较好的尺寸,但所得的图像效果较差)。示例:http://blog.clonesinfo.com/how-to-reduce-compress-image-file-size-uploading-using-php-code/
如果您想要更多选择或例如无损质量,则绝对应该寻找一些库或工具,请在此问题中查找更多信息:Which is the best PHP method to reduce the image size without losing quality
对于视频来说,它变得有些复杂,因为将视频缩小到一个小尺寸需要对其重新编码,并且还要选择正确的设置(通常选择的编解码器将是最兼容和最有效的编解码器-H.264,或者类似于Google的VP9)。请注意,重新编码需要在服务器上进行大量处理(如果视频既长又长,可能会成为一个问题)。视频编码是一个非常广泛的主题,我在1个回复中无法涵盖,您可以从谷歌搜索H.264的工作原理入手。
对于视频编码,您还将需要一个工具,最好的选择可能是ffmpeg / avconv,再加上一些PHP库以使其更易于使用。