我可以使用Amazon Elastic Transcoder仅创建缩略图吗?

时间:2013-07-11 22:58:13

标签: ruby-on-rails amazon-web-services video-encoding

我有一个使用Paperclip的Rails应用程序在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'
      }
    )

3 个答案:

答案 0 :(得分:5)

没有

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

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

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

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

给ffmpeg看一下。安装可能有点麻烦,但它可以通过视频创建缩略图。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

如其他评论所述,您需要为 Elastic 转码器支付转码费用才能生成缩略图。

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

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

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

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