使用Amazon s3上传视频并提取缩略图

时间:2013-01-10 12:32:03

标签: php video upload amazon-s3 thumbnails

我一直在视频网站[平台:php]工作,我需要在Amazon S3服务器上传视频并提取缩略图。

我已经在该存储桶中成功创建了一个存储桶并上传了视频文件。但我不知道如何从上传的视频中提取缩略图。所以,那就是我卡住的地方。

任何帮助将不胜感激。提前谢谢!

2 个答案:

答案 0 :(得分:5)

这里有一些选择。

首先 - 您可以在将视频上传到AWS之前从视频中“提取”缩略图。类似于:将视频上传到您的服务器,如果需要将其转换为适当的格式,使用缩略图(或缩略图),将它们保存在某处(例如在S3或本地服务器上),然后将视频上传到S3。这种方法的缺点是你的本地服务器必须做很多额外的工作,而不是为你的网络访问者提供服务。

第二 - 您可以使用Amazon EC2计算服务:将视频上传到S3,触发EC2(例如使用cron作业)从S3获取视频,转换视频,获取缩略图并上传最终结果(转换后的视频+缩略图)返回S3。缺点是:实现这种“沟通”并不是很容易(你必须解决许多问题,比如确保稳定的转换,创建作业队列等),此外你还需要再使用一个AWS服务。 S3。

关于视频转换和获取缩略图的内容是什么?有很多工具和程序。我喜欢使用ffmpeg进行视频转换(也有PHP包装器使用它的功能与php - php-ffmpeg,但使用ffmpeg本身(例如使用php的 exec()函数)将为您提供更多灵活性和功能,请阅读文档以获取更多详细信息)。 FFMpeg也可以从视频中提取缩略图,但这需要一些时间(有很多关于如何有效地进行讨论的讨论),但我建议您使用ffmpegthumbnailer来实现此目的。它使用更简单,并且特别针对从视频文件中获取缩略图进行了优化。

答案 1 :(得分:1)

您应该在用于上传的计算机上执行此操作。在这里,您可以直接对文件进行文件系统访问。一旦它在S3中,它只能通过HTTP访问。

工具ffmpeg可用于创建多种视频格式的缩略图。

示例:

ffmpeg -i "video.flv" -ss 00:00:10 -f image2 "thumbnail.jpg"

将在视频第二个10处创建缩略图并将其另存为thumbnail.jpg 使用PHP时,您可以使用system执行