视频托管 - 压缩视频?

时间:2011-05-12 18:32:59

标签: php video compression

我打算在我的网站上添加视频(1分钟或更短的剪辑用于简短的问候)。由于这是一个初创公司,视频大小非常重要。

  1. 最好用什么格式存储上传的视频(例如:mp4,avi,mpeg,flv)? 要求: 质量应该足够好,同时保持文件大小尽可能低。

  2. 我的平台是PHP。如果用户以不同的格式上传视频,是否有用于视频压缩/转换的内置或开源框架?对于照片,我们使用 imaggemagik ;是否有类似的视频?

  3. 理想情况下,我想避免使用Flash视频播放器。有更好的选择吗?

4 个答案:

答案 0 :(得分:1)

  

1)最好用什么格式存储上传的视频 - mp4,avi,mpeg,flash等? (要求质量应该足够好,同时保持尽可能低的场地尺寸)。

包含h.264的mp4。然后WebM作为备份。

  

2)我的平台是PHP,如果用户上传不同格式的视频,是否有用于视频压缩/转换的内置或开源框架? (对于照片,我们使用imaggemagik,类似于视频的任何东西?)

ffmpeg似乎很受欢迎

  

3)理想情况下,如果有更好的选择,我想避免使用flash进行视频吗?

至少你需要Flash才能实现向后兼容,但在h.264和WebM之间,你将获得HTML 5视频的广泛支持。

答案 1 :(得分:0)

ffmpeg-php扩展是你需要的

http://ffmpeg-php.sourceforge.net/

答案 2 :(得分:0)

mp4容器和h264编解码器是所有浏览器都支持的唯一“夫妻”。

h265和VP9提供更好的压缩比,但仍然部分支持,并且在大多数平台上可能没有硬件加速。

对于h264,使用双通道编码可以获得更好的压缩效果。第一遍创建有关第二遍中使用的视频动作的统计信息。请查阅有关它的ffmpeg文档。

同样,编码为较小的输出分辨率可以产生比降低质量参数更好的质量。也就是说,如果你有一个1080x720分辨率的原始视频,编码到最终(1080/3)x(720x3)输出将节省大约9(3x3)带宽。受欢迎的质量比以原始比特率的1/9流式传输1080x720要好得多。这是由于大脑的运作方式。

一种好的方法是提供视频的高 - 中 - 低表示,并通过JS为客户端检测最佳视频。将fullHD流式传输到3G客户端或将1080p视频传输到800x400屏幕的客户端没有任何意义。

答案 3 :(得分:0)

考虑使用像http://m.vid.ly这样的服务或像https://xmaven.com这样的更全面的服务让您的生活变得轻松 - 这些让人头疼的是搞乱复杂的视频设置并且完全可扩展