7

我有一个 Rails 应用程序,它使用 Paperclip 在 Amazon S3 上上传和存储视频。我不是特别感兴趣将视频文件转换成另一种格式,或者添加水印,没什么特别的。我只想从视频中创建缩略图,用作我的视频播放器上的海报图像。

我看到 Amazon Elastic Transcoder 允许免费创建缩略图(或者更确切地说,他们不收取创建缩略图的费用),并且由于我已经在使用 Amazon 服务,我想看看我是否可以将它用于我的缩略图。

有谁知道如何设置输入/输出选项,以便除了缩略图之外不生成任何文件?我可以做以下吗?

transcoder = AWS::ElasticTranscoder::Client.new
transcoder.create_job(
  pipeline_id: APP_CONFIG[Rails.env][:pipeline_id],
  input: {
    key: VIDEOPATH,
    frame_rate: 'auto',
    resolution: 'auto',
    aspect_ratio: 'auto',
    interlaced: 'auto',
    container: 'auto'
      },
       output: {
       key: , #LEAVE THIS BLANK TOO?
        preset_id: , #LEAVE THIS BLANK?
        thumbnail_pattern: "thumbnail", 
        rotate: '0'
      }
    )
4

3 回答 3

5

不。

没有仅用于创建缩略图的功能。

如果不实际对任何内容进行转码,也无法创建新的转码作业。输入参数至少需要输入视频的名称。输出参数至少需要输出文件的名称和预设 ID。在开始作业之前检查参数,并且没有选项会阻止作业在创建缩略图时执行。

您可以在此处阅读所有可用功能:

http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/api-reference.html

给ffmpeg看看。安装可能有点麻烦,但它可以从视频中创建缩略图。

于 2013-07-12T02:44:41.053 回答
0

Amazon Elastic Transcoder 确实提供缩略图功能。 http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/preset-settings.html#preset-settings-thumbnails

看起来您确实必须对视频文件进行转码才能获得缩略图。

于 2013-07-13T09:29:29.883 回答
0

正如其他评论中提到的,您需要支付 Elastic transcoder 的转码价格才能生成缩略图。

亚马逊提供的另一个类似选项是 MediaConvert。使用 MediaConvert,您可以添加将使用您需要提供的公式获取的多个图像文件的附加输出(每 X 帧选择一个图像)。与 Elastic Transcoder 一样,仅获取缩略图的成本很高,而且您仍然不确定所获得的缩略图是否是好的图像(不模糊且能代表视频)。

正如另一条评论中提到的,相比之下,使用 FFMpeg 会更好。如果您可以维护基础设施来执行此操作(某种处理队列,运行 ffmpeg,然后上传缩略图),这是一个很好的解决方案。

全面披露:我们面临着类似的问题。我们的体积足够大,以至于手动生成缩略图变得很麻烦,而且我们经常会得到空白缩略图,因为很难预测哪个帧在不同的视频中是好的。因此,我们构建了一个产品来为我们(以及同一条船上的其他人)解决这种痛苦:https ://mediamachine.io/

我们不是获取毫无意义的随机缩略图(最糟糕的是,还要为它们付费),而是使用 ML 算法来获取最具代表性的视频缩略图,从而节省时间和金钱。

于 2021-06-23T23:04:03.430 回答