2

我想知道是否有人可以帮助我解决这个问题。

我需要帮助才能找到一种使回形针与弹性转码器一起工作的方法。

我需要能够使用回形针将上传的视频保存在 S3 Amazon 存储桶中,然后将上传的视频转码为 3 种不同的格式并将它们保存回同一个存储桶中。

问题是我可以一起完成吗?

4

1 回答 1

1

此问题已通过使用名为“elastic_transcoder”的 gem 解决

这是我使用的示例elastic_transcoder

  • 首先获取要转码的视频的 url,不包括AWS domain nameand bucket name

    url = self.paperclip_video.url.split('/').pop
    url = url.drop(3).join('/')

    你知道上面的代码会根据你得到的url而有所不同,你只需要我之前所说的路径,排除AWS domain nameand bucket name

  • 然后获取原始视频的路径
    input_url = url + '/' + self.paperclip_video_file_name

  • 然后获取filename排除用户的扩展名以output url生成transcoded video

    file_name = File.basename(self.paperclip_video_file_name, File.extname(self.paperclip_video_file_name))

  • 然后创建输出路径

    output_url = url + '/mp4_' + file_name + '.mp4'

    为简单起见,我正在转码为一种类型mp4

  • 创建一个新的elastic transcoding pipline

    pipeline = ElasticTranscoder::Pipeline.new

    请注意,您需要首先在您的帐户上设置管道,此外AWS您需要在您的.presetmp4AWS account

  • pipline object通过传递你pipeline_id从中获得的来初始化你的AWS

    pipeline_front.pipeline '***************'

  • 创建一个新Jobs对象以将转码作业传递给

    jobs = ElasticTranscoder::Jobs.new

  • 创建新的Job

    jobs.create_job input_url, output_url, "**your pipeline_id**", "your preset_id", "#{url}/web_thumbnail-{count}"

这将完成这项工作,您可以对视频进行转码。

于 2014-02-22T23:25:44.127 回答