- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Rails 应用程序,它使用其 CORS 配置将视频上传到 AWS S3 存储桶,当完成并创建 Rails 视频对象时,将创建一个 Elastic Transcoder 作业以将视频编码为 .mp4 格式并生成缩略图图像,启用 AWS SNS 以在作业完成时发送推送通知。
整个过程运行良好,上传完成后我收到了 SNS 通知,不过我可以很好地获取视频网址,但通知只包含缩略图模式而不是实际文件名。
下面是我从 AWS SNS 收到的典型通知。注意。这是来自输出散列
{"id"=>"1", "presetId"=>"1351620000001-000040", "key"=>"uploads/video/150/557874e9-4c67-40f0-8f98-8c59506647e5/IMG_0587.mp4", "thumbnailPattern"=>"uploads/video/150/557874e9-4c67-40f0-8f98-8c59506647e5/{count}IMG_0587", "rotate"=>"auto", "status"=>"Complete", "statusDetail"=>"The transcoding job is completed.", "duration"=>10, "width"=>202, "height"=>360}
如您所见,thumbnailPattern 只是要使用的文件模式,而不是实际创建的文件。
有谁知道如何获取通过弹性转码器和 SNS 创建的文件的 URLS?
transcoder.rb # => 我在保存视频后创建一个新的转码器对象
class Transcoder < Video
def initialize(video)
@video = video
@directory = "uploads/video/#{@video.id}/#{SecureRandom.uuid}/"
@filename = File.basename(@video.file, File.extname(@video.file))
end
def create
transcoder = AWS::ElasticTranscoder::Client.new(region: "us-east-1")
options = {
pipeline_id: CONFIG[:aws_pipeline_id],
input: {
key: @video.file.split("/")[3..-1].join("/"), # slice off the amazon.com bit
frame_rate: "auto",
resolution: 'auto',
aspect_ratio: 'auto',
interlaced: 'auto',
container: 'auto'
},
outputs: [
{
key: "#{@filename}.mp4",
preset_id: '1351620000001-000040',
rotate: "auto",
thumbnail_pattern: "{count}#{@filename}"
}
],
output_key_prefix: "#{@directory}"
}
job = transcoder.create_job(options)
@video.job_id = job.data[:job][:id]
@video.save!
end
end
VideosController #create
class VideosController < ApplicationController
def create
@video = current_user.videos.build(params[:video])
respond_to do |format|
if @video.save
transcode = Transcoder.new(@video)
transcode.create
format.html { redirect_to videos_path, notice: 'Video was successfully uploaded.' }
format.json { render json: @video, status: :created, location: @video }
format.js
else
format.html { render action: "new" }
format.json { render json: @video.errors, status: :unprocessable_entity }
end
end
end
end
最佳答案
缩略图的实际名称似乎没有从 SNS 通知或创建作业时的请求响应传回:
http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/notifications.html
因为您的缩略图的基本路径/名称是已知的,并且序列号始终从 00001 开始,您可以从那里迭代以确定作业完成时是否/有多少缩略图存在。确保对 S3 中的对象使用 HEAD 请求来确定它们的存在;它比执行 LIST 请求便宜大约 10 倍。
关于ruby-on-rails - 从 AWS Elastic Transcoder 作业中检索文件和缩略图 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22624144/
我正在开发一个 JAVA Web 项目,并使用 liferay 作为后端在 S3 上上传媒体。现在我想使用 Elastic Transcoder 对这些视频进行转码,然后进行流式传输。我想创建一个脚本
TL;DR 我在以下 PowerShell 脚本中做错了什么?它没有按预期工作。 我正在用照相机记录我在大学里的一些讲座。尽管我必须将单个讲座分成三到四个部分,但这效果很好,因为相机一次只能录制 29
我似乎不明白 XMLString::transcode(XMLCh*) 和 XMLString::transcode(char*) 的目的,因为显然我不明白不理解 XMLCh* 和 char* 之间的
本文整理了Java中net.spy.memcached.transcoders.WhalinV1Transcoder类的一些代码示例,展示了WhalinV1Transcoder类的具体用法。这些代码示
本文整理了Java中net.spy.memcached.transcoders.WhalinTranscoder类的一些代码示例,展示了WhalinTranscoder类的具体用法。这些代码示例主要来
https://github.com/derolf/transcoder 我需要在我的项目中本地转码和本地播放,没有其他外部连接到服务器。 它是 ffmpeg 进行动态转码的一个很好的来源。 就我而言
使用 ffmpeg 示例 transcoding.c。 (https://github.com/FFmpeg/FFmpeg/blob/release/4.1/doc/examples/transcod
我们正在开发的硬件不支持播放 mkv 文件。 所以我需要将 Matroska (mkv) 视频文件转码为 mp4 视频文件。 正如我从转码在线可用 Material 中了解到的那样,我需要执行以下操作
也就是说,获取 foo.mp4 和 bar.mp4 并生成 foobar.mp4,这只是 foo.mp4 后跟 bar.mp4? (额外的功劳,如果它能做到这一点,它也能结合 foo.mp4 和 ba
我正在尝试对一些视频进行转码,但我的连接方式出了点问题。 这是我的代码: transcode = layer1.ElasticTranscoderConnection() transcode.Defa
我正在研究 C++ 中的 ffmpeg,以查看 ffmpeg 的示例 但我不知道如何解决 transcoding.c 中的这个问题 这是我的问题 这是代码 static int open_output
我正在使用 batik transcoder for svgs ,每次我转换 SVG 图像时,它都会在标准输出上产生输出。我假设它正在使用某种日志记录包。如何禁用此输出? 最佳答案 您可以设置自定义
我需要从列表 ( System Presets ) 中获取预设。如果我得到名称如下所示的预设,它将返回第一个预设。但我需要获取名称为“系统预设:通用 320x240”的 PresetId。 Basic
我正在使用 AWS SDK PHP。 使用 ->createJob( 一切都很好,但是当我添加时 'Composition' => array( 'TimeSp
我需要使用 Xamarin.MP4Transcoder.Transcoder 将视频转码为 640*480 分辨率。目前有 2 种可用的分辨率 720pFormat 和 960x540Format。有
是否可以在 Amazon Elastic Transcoder 上自动执行转码作业?我正在使用 Django 框架。如果是,我该如何开始。我没有遇到过任何这样的话题,所以我不得不在这里问。您的帮助和建
我对通过 html5 捕获视频很感兴趣。问题是视频是与音频分开捕获的。因此,要制作带音频的视频,必须将它们合并在一起。看来ffmpeg可以解决问题。 有谁知道 AWS Transcoder 是否也会执
我尝试从 AWS Elastic Transcoder 获取所有预设,但以下代码仅返回 62 个预设中的 50 个 List presets = amazonElasticTranscoder.lis
我是 Xercesc 的新手。我在我的项目属性->链接器附加库中包含了 xerces 静态库 xerces-c_static_3D.lib。使用 xerces 的其他一切都很好,但是当我添加这一行时,
我们有这个配置工作: 1- Display a JS Upload Form to the visitor 2- Upload file chosen direclty to Amazon S3 3-
我是一名优秀的程序员,十分优秀!